L2: Moving Through Software Development Flashcards
Waterfall
- Traditional engineering perspective
- Feasible for clear/static requirements
- Clear phase distinction is not realistic
V-Model
- Extension of the Waterfall
- Focus on testing and validation
- Widely used
Waterfall & V-Model: Analysis
Positives:
* Simple
* Specifications/deliverables fully defined beforehand
Negatives:
* Assume frozen requirements
* Deliver whole system at once
* Fixed linear process
* Extensive documentation
Prototyping
- Often integrated in other processes
- Develop prototype for feedback
- Refine prototype iteratively
Prototyping: Analysis
Positives:
- Identify problems fast
- Faster customer feedback
- Gather information about the software
Negatives:
- Potentially excessive testing of prototypes by customer
- Mismatch and changing customer requirements
- Budgeting more challenging
Spiral
- Integrates previous models:
1. One loop is a waterfall
2. Each loop leads to a prototype - Emphasize managing costs and risks
- Exact number of loops can vary
Spiral: Analysis
Positives:
- Integrates risk management
- Considers changes to requirements explicitly
- Emphasizes communication, customer satisfacion, and flexibility
Negatives:
- Complex
- Expensive / resource intensive
- Challenging risk and time management
“traditional” processes
Pros:
- Structure process/methodology as a guide
- Proven successful in the past
- Clearly defined requirements
- Extensive quality control
Weaknessees:
- Slow and inflexible
- Typically, high costs
- Limited customer involvement
Core values of the agile manifesto
- Individuals and interactions
- Working software
- Customer collaboration
- Responding to change
Emphasis of the agile manifesto
- Having people with the right competencies work together
- Delivering the intended software
- Working with the customer to understand/explore their demands
- Being flexible to react to changes in the project
Agile: Analysis
Positives:
- Flexible
- Customer involvement
- Continuous delivery
- Collaboration
- Early/frequent testing
Negatives:
- Predictability?
- Abandoned documentation?
- Lack of planning?
- Time and resource demands?
What is a “Sprint?”
- Structures all other activities
- Fixed period of time for working
- After each Sprint, a new one starts
- After each Sprint, an increment exists
Daily Scrum
- Meeting with all developers
- Inspect progress
- Plan next day
Sprint Review
- Inspection of the Sprint
- Presentation to customer
Sprint Retrospective
- Improving quality and effectiveness
- Resolving problems