Week 02 SE
Week 02 SE
…
Coping with changing requirements
System prototyping
Incremental delivery
A prototype is:
an initial version of a system
used to demonstrate concepts and
Show design options.
Find out about any possible requirements’ problems
Predict their solutions
A prototype can be used in anticipating changes in the process:
Used to refine the requirements elicitation and validation phase;
In design processes to explore options and develop a UI design;
In the testing process to run back-to-back tests.
Incremental development
Develop the system in increments
and evaluate each increment before proceeding to the development of the next
increment;
Normal approach used in agile methods;
Evaluation is done by user/customer.
Incremental delivery
Deploy an increment for use by end-users;
More realistic evaluation about practical use of software;
Difficult to implement for replacement systems as increments have less functionality than
the system being replaced.
Measure process -> check if improvement would be feasible -> do the change -> measure the impact of changes on process
Initial
Generally the starting point of any software organization
Unmanaged work
No proper software documentation
No effective project management plans (generally, opt build and fix models)
No cost estimation
Vast majority of the organizations are at this level
Challenges:
• Project management, planning and SQA
Managed
Goals associated with project are satisfied
Defined organizational policies (when which process to be used?)
Documented project plan with goals
Resource management is properly done. (technology relevant task force)
Generally working on same types of software
Defined
Process management procedures and strategies defined and used
Proper teamwork
Collaborative learning environment
Managed
Assess organizational performance.
Better project management structures.
Risk analysis and proactive approaches (what if a project fails?)
Optimising
Process improvement strategies defined and used.
More and more adaption to newer trends