logo

CSI 3370 Software Process and Project Management.

   

Added on  2022-08-19

15 Pages3004 Words10 Views
Assignment 1: Software Process and Project Management
CSI 3370
Student’s name
Institution Affiliation(s)
CSI 3370 Software Process and Project Management._1
Q1. Discuss the differences between the Spiral model and the Unified Process model.
The spiral model is the most generic model. Mostly all the other models are usually
special cases of this model. The way that he spiral model approaches software development is a
risk management approach. There are many advantages to doing this. One advantage is that it
uses the same approach for both the development and the maintenance. Another advantage is that
it focuses early on error detection and design problems (Ray, 2013). The last advantage of this
model is that estimating the cost becomes easy because prototype building is done in small
fragments. This gives the customer control over the system. Some disadvantages of using this
model are that this model works best, usually on large projects where the costs are high. Another
disadvantage is that evaluating the risks involved in the project can increase the cost by a lot and
sometimes even can be more expensive than the cost of building the system.
In contrast, the Unified process model is a software development methodology that is
incremental, architecture-centric, use case driven, and interactive in its approach. Being an
interactive and an incremental method means that this approach takes each iteration as a mini-
project and therefore, a given project is divided into small mini-projects and then completed and
added up to complete the whole project. The unified process model has four phases, including
inception, elaboration, construction and transition (Fang & Liu, 2011). The inception phase is
where an analyst collects the requirements from the client while analyzing the project's profits,
cost, time and feasibility. The elaboration stage helps in creating use cases and detailed
architecture that will enable the realization of the requirements gathered at the inception stage.
The construction stage involves programming and the actual implementation of each iteration
and finally, the transitions stage is where the project is rolled out to the customer and the fixing
of bugs.
CSI 3370 Software Process and Project Management._2
Q2.
(i) Agile Project Plan
Develop a backlog. A backlog is a prioritized list of requirements, that is, user stories and
features. In a backlog, items can be added at any time as scrum methodology adapts to changes.
A sprint is a work unit meant to achieve one backlog item and its time-box is about 30 days.
During the sprint, all the affected backlogs items are frozen and short scrum meetings are held
for about 15 minutes every day, where what was done since the last meeting, the obstacles
encountered, and what will be done by the next meeting is discussed. Demos are used in scrum
methodology to deliver software increments to the customer for evaluation (Madampe, 2017).
(ii) An Agile Test Plan
The agile development methodology is where work is done in short sprints or iterations with
each sprint focusing on only a few user stories or few requirements. Thus, it is critical to come
up with a test strategy so that the code can be tested after every user story is complete (Stare,
2014).
The agile test plan includes the types of testing that are done in each iteration. These
activities include testing the data requirements, testing the system environment, testing the
results of the system and testing the infrastructure (Khan & Srivastava, 2016). Other activities
including testing the scope of the system, testing each and every new functionality that is added
to the system, the levels of testing based on the complexity of features, load and performance
testing, risk planning and mitigation, and time and cost estimation are also included in the test
plans.
Firstly, the team needs to come up with an agile test strategy.
Agile Test Strategy
CSI 3370 Software Process and Project Management._3
Iteration 0
At the initial stage, tasks are setup including identifying the persons that will be responsible
for testing, scheduling resources and installing the tools that will be used for testing. It is at this
stage that the risks will be identified, cost estimation done, and preliminary project repaired.
Also, this stage identifies the critical requirements and comes up with the use cases that will
determine the design tradeoffs (Tyagi & Sibal, 2017). The project scope and the business case
are also established at this stage.
Construction iteration
The majority of the testing happens at the construction iterations. With each iteration, the
agile team implements a hybrid of practices, including scrum and agile modeling using a
prioritized requirement approach. The most critical requirements remaining from the previous
iteration are stack and implemented at this stage (Awotar & Sungkur, 2018).
This stage father involves two types of testing, that is, confirmatory testing and investigative
testing. Confirmatory testing is done so that the team can verify that the system has fulfilled the
customer's requirement as described to them at the current iteration. The confirmatory testing is
further subdivided into two types of testing, that is, developer testing and acceptance testing.
Acceptance testing is a combination of both traditional functional testing and acceptance testing
as the team carries out this testing together with all the stakeholders (Basit & Flahaven, 2018).
CSI 3370 Software Process and Project Management._4

End of preview

Want to access all the pages? Upload your documents or become a member.

Related Documents
Information System Design
|4
|742
|463

ICT310 System Analysis and Design - Assignment
|9
|1322
|149

Agile and Iterative Methodologies: A Report
|14
|2638
|469

System Analysis and Design
|14
|1909
|73

System Analysis and Design
|13
|1658
|447

System Analysis and Design
|15
|1813
|298