Send the link below via email or IMCopy
Present to your audienceStart remote presentation
- Invited audience members will follow you as you navigate and present
- People invited to a presentation do not need a Prezi account
- This link expires 10 minutes after you close the presentation
- A maximum of 30 users can follow your presentation
- Learn more about this feature in our knowledge base article
Transcript of Software Methodologies
Software Development Life Cycle
The software development life cycle is a set of steps that all software development methodologies need to follow to deliver efficient software.
All methodologies execute these steps to some level, however they differ from how these steps are executed.
Heavyweight models such as the waterfall are:
Very documentation heavy
Breaks the entire development life-cycle into phases or milestones.
Cascading technique of a series of milestones.
Each phase is executed in sequential order.
Each phase must be completed and verified before moving to the next phase.
Once a phase is complete; there is no returning.
The waterfall method is most commonly used in large custom-development projects such as government and military programs (Guntamukkala, Wen, & Tarn, 2006).
Lightweight Development Models
Lightweight development models are designed to be flexible and agile.
There are several types of lightweight, or agile, methods and extreme programming (XP) is one of the most common.
Little documentation and structure
Requirements and test documentation can adapt to changing customer needs
What is the software development life-cycle?
Discuss heavyweight and lightweight models
Can agile methods support large development projects?
XP Development Process
Delivery & Maintenance
Waterfall model is best suited when requirements are clearly defined.
Once the requirements phase is complete, the requirements will not be easily altered throughout the entire development process (Sommerville, 2011).
XP does not require perfectly defined requirements initially since the XP Model allows for revisiting the requirements definition to account for changes in customer needs.
According to Qureshi (2012), “medium and large projects have some characteristics to small projects such as time constraints, changing business situations and vague requirements.” (p. 358).
Guntamukkala, V., Wen, H., & Tarn, J. (2006). An empirical study of selecting software development life cycle models. Human Systems Management, 25(4), 265-278.
Lindstrom, L., & Jeffries, R. (2004). Extreme Programming and Agile Software Development Methodologies. Information Systems Management, 21(3), 41-52.
Sommerville, Ian. (2011). Software Engineering; 9th Edition (pp. 24-69). Boston, Massachusetts: Pearson Education Inc.
Qureshi, M. (2012). Agile software development methodology for medium and large projects. IET Software, 6(4), 358-363. doi:10.1049/iet-sen.2011.0110.
By: Keith Johnson
During the development phase in the waterfall model, the developers are restricted to satisfying the requirements that have been defined in the requirements phase.
There is no customer interaction in this phase and there is no way to alter the design and requirements.
The development activities are divided amoung the developers to work independently.
XP development is executed in a cyclic manner of coding and testing.
is used heavily in the XP development method to ensure constant testing and verification of the software.
During the coding phase, the developers constantly receive feedback from the customer.
Pair Programming is a method where developers are teamed and work on sections of code together constantly testing and peer reviewing each other.
The waterfall methodology only conducts testing after all the development of the software is complete.
All the units developed are put together and the formal testing of the overall system begins (Reddy, 2012).
The testing is conducted only against the test procedures and requirements that were agreed upon in the initial phase.
XP testing is conducted constantly throughout the development phase using the
The code being developed is immediately compiled, tested and the results are reviewed.
Since the customer (user) is essentially part of the development team, feedback of the performance is provided daily.
The different methodologies of software development all contain the essential components of the software development life cycle and only differ in how those components are implemented and executed.
The size of the project does not drive the type of method used as much as the clarity of the requirements and availability of customer interaction.
Under the correct circumstances, agile development methods such as XP can satisfy large development projects.
The test driven development method is a concept where tests are continuously created during development and the software is immediately tested against those tests (Lindstrom & Jeffries, 2004).