CSC/ECE 517 Fall 2012/ch2a 2w3 jm: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
Line 13: Line 13:
[[#top|Back to top]]
[[#top|Back to top]]


== Advantages of Spiral Model ==
== [http://www.sqa.org.uk/e-learning/SDM01CD/page_10.htm Advantages] of Spiral Model ==
*Built-In Quality
1) Spiral Life Cycle Model is a highly flexible SDLC model as it allows changes to be implemented at several stages of the project and coping with these changes isn’t a very big headache for the project manager.
*Overall Simplicity
2) Project monitoring is very easy and effective. Each phase, as well as each loop, requires a review from concerned people. This makes the model more transparent. The list of concerned people not only include upper management but also the clients for which the software is being developed. As the client will be involved in the development of each segment, he would retain control over the direction and implementation of the project.  
*Programmer Power
3) Risk management is one of the in-built features of the model, which makes it extra attractive compared to other models.
*Customer Power
4) Project estimates in terms of schedule, cost etc become more and more realistic as the project moves forward and loops in spiral get completed as the process of building up large systems in small segments makes it easier to derive correct metrics for these calculations.
*Synergy Between Practices
5) Project deliverable are generated at a very early stage of the project.
Coding Standards – Advantages:
6) It is suitable for high risk projects, where business needs may be unstable.
  Reduces the amount of time developers spend reformatting other peoples’ code.
7) A highly customized product can be developed using this.
Reduces the need  for internal commenting. Call for clear, unambiguous code
 
On-Site Customer - Advantages:
 
  Can give quick and knowledgeable answers to real development questions.  
Makes sure that what is developed is what is needed. Functionality is prioritized correctly
40-Hour Week – Advantage:
Most developers lose effectiveness past 40-Hours
Value is placed on the developer’s well-being. Management is forced to find real solutions
Continuous Integration - Advantages
Reduces to lengthy process. Enables the Small Releases practice
Collective Ownership – Advantages
Helps mitigate the loss of a team member leaving.  
  Promotes developers to take responsibility for the system as whole rather than parts of the system
Pair Programming – Advantages
Two heads are better than one.  
  Focus Two people are more likely to answer the following questions: Is this whole approach going to work? What are some test cases that may 
not work yet? Is there a way to simplify this?
Refactoring – Advantages
Prompts developers to proactively improve the product as a whole. Increases developer knowledge of the system
Testing – Advantages
Unit testing promote testing completeness. Test-first gives developers a goal. Automation gives a suite of regression test
Simple Design – Advantages
  Time is not wasted adding superfluous functionality. Easier to understand what is going on. 
Refactoring and collective ownership is made possible. Helps keeps programmers on track
Metaphor – Advantages
  Encourages a common set of terms for the system. Reduction of buzz words and jargon. A quick and easy way to explain the system
Small Releases – Advantages
Frequent feedback. Tracking. Reduce chance of overall project slippage
The Planning Game – Advantages
Reduction in time wasted on useless features. Greater customer appreciation of the cost of a feature. Less guesswork in planning


[[#top|Back to top]]
[[#top|Back to top]]

Revision as of 07:12, 21 October 2012

Spiral Model

A spiral life-cycle model provides incremental development, using the waterfall model for each step, with aims of managing risk by ensuring client's approval on deliverables at the end of each iteration. This model was defined by Barry Boehm in his article A Spiral Model of Software Development and Enhancement<ref>Boehm, B. W.; , "A spiral model of software development and enhancement," Computer , vol.21, no.5, pp.61-72, May 1988 doi: 10.1109/2.59</ref> from 1986. This model was not the first model to discuss iteration, but it was the first model to explain why the iteration matters.The spiral model (Boehm, 1988) aims at risk reduction by any means in any phase. The spiral model is often referred to as a risk-driven model.

Why Spiral Model

Extreme Programming (XP) is a software development methodology created by Kent Beck during his work on the Chrysler Comprehensive Compensation System (C3) payroll project. Extreme Programming is intended to improve software quality and responsiveness to changing customer requirements. It is a one of the several types of agile software development processes. Extreme Programming is successful because it stresses customer satisfaction. Instead of delivering everything you could possibly want on some date far in the future this process delivers the software you need as you need it. Extreme Programming empowers developers to confidently respond to changing customer requirements, even late in the life cycle. Back to top

The Model

Goals

Back to top

Advantages of Spiral Model

1) Spiral Life Cycle Model is a highly flexible SDLC model as it allows changes to be implemented at several stages of the project and coping with these changes isn’t a very big headache for the project manager. 2) Project monitoring is very easy and effective. Each phase, as well as each loop, requires a review from concerned people. This makes the model more transparent. The list of concerned people not only include upper management but also the clients for which the software is being developed. As the client will be involved in the development of each segment, he would retain control over the direction and implementation of the project. 3) Risk management is one of the in-built features of the model, which makes it extra attractive compared to other models. 4) Project estimates in terms of schedule, cost etc become more and more realistic as the project moves forward and loops in spiral get completed as the process of building up large systems in small segments makes it easier to derive correct metrics for these calculations. 5) Project deliverable are generated at a very early stage of the project. 6) It is suitable for high risk projects, where business needs may be unstable. 7) A highly customized product can be developed using this.


Back to top

Disadvantages of Spiral Model

Back to top

Comparison with traditional waterfall model

Back to top

Research Conclusion

Back to top

References

<references/>

External Links

http://ieeexplore.ieee.org.prox.lib.ncsu.edu/stamp/stamp.jsp?tp=&arnumber=59&isnumber=6