Chapter 4 Flashcards
List
Characteristics of Agile Process
Not suuitable for large, high-risk, or mission-critical projects
Minimal rules and documentation
Continuous involvment of testers
Easy to accomodate product changes
Depends heavily on stakeholder interaction
Easy to manage
Early delivery of partial solutions
Informal risk management
Built in continuous process improvement
List
Characteristics of Spiral process
Not suitable for small, low-risk projects
Several steps required, along with documents done up front
Early involvement of testers (might be outside of main team)
Hard to accomodate product changes until prototype completed
Continuous stakeholder involvement in planning and risk assessment
Requires formal project management and coordination
Project end not always obvious
Good risk management
Process improvment handled
q
List
First prototype guidlines
- Transition from paper prototype to software design
- Prototype a user interface
- Create a virtual prototype
- Add input and output to prototype
- Engineer algorithms
- Test prototype
- Prototype with deployment in mind
List
Prototype evaluation
- Provide scaffolding when asking for product feedback: “I like, I wish, what if?”
- Test on right people
- Ask the right questions
- Be neutral when presenting alternatives to users
- Adapt while testing
- Allow the user to contribute ideas
List
Recommended Process Steps
- Requirements engineering
- Preliminary architecture design
- Estimate required project resources
- Construct first prototype
- Evaluate prototype
- Go, no-go decision
- Evolve system
- Release prototype
- Maintain software (DOCUMENT)
Define
Regression testing
Make sure that software that was previously working still does after changes are made
Define
Corrective maintanence
Reactive modification of software to repair problems discovered after software is delivered
firefighting
Define
Adaptive maintanence
Reactive modification of software after delivered to keep software usable in changing environment
firefighting
Define
Perfective maintanence
Proactive modification of software after delivery to provide new user features, better program code structure, or improved documentation
Define
Preventative maintanence
Proactive modification of software after delivery to correct product faults before discovery by users