Coping With Change in Software Project Development
Coping With Change in Software Project Development
Change adds to the costs of software development because it usually means that
work that has been completed has to be redone. This is called rework.
Advantages/Pros of Prototyping
1. System prototypes allow users to see how well the system supports their
work. They may get new ideas for requirements, and find areas of strength
and weakness in the software.
2. As prototype is developed, it may reveal errors and omissions in the
requirements that have been proposed.
1
3. A system prototype may be used while the system is being designed to
carry out design experiments to check the feasibility of a proposed design.
4. Prototyping is also an essential part of the user interface design process.
Disadvantages/Cons of Prototyping
1. Prototype may not necessarily be used in the same way as the final system.
2. The tester of the prototype may not be typical of system users.
3. The training time during prototype evaluation may be insufficient.
1. Customers can use the early increments as prototypes and gain experience
that informs their requirements for later system increments. Unlike
prototypes, these are part of the real system so there is no re-learning when
the complete system is available.
2. Customers do not have to wait until the entire system is delivered before
they can gain value from it. The first increment satisfies their most critical
requirements so they can use the software immediately.
3. The process maintains the benefits of incremental development in that it
should be relatively easy to incorporate changes into the system.
4. As the highest-priority services are delivered first and increments then
integrated, the most important system services receive the most testing.
This means hat customers are less likely to encounter software failures in
the most important parts of the system.
1. Most systems require a set of basic facilities that are used by different parts
of the system. As requirements are not defined in detail until an increment
is to be implemented, it can be hard to identify common facilities that are
needed by all increments.
2
2. Iterative/Incremental development can also be difficult when a
replacement system is being developed. Users want all of the functionality
of the old system and are often unwilling to experiment with an incomplete
new system. Therefore, getting useful customer feedback is difficult.
3. In the incremental approach, there is no complete system specification
until the final increment is specified. This create conflict in the
procurement model of many organizations, where the complete system
specification is part of the system development contract.