Warm-up: Software Processes and Agile Sprint Planning Flashcards
What are the main software engineering activities?
- Specification
- Development
- Validation
- Evolution
Draw the diagram relating to requirement specification. Including: Requirements elicitation and analysis, Requirements specification and Requirement validation.
Draw the key steps in development.
Draw the validation diagram steps.
Draw the evolution diagram steps.
What is the diffenrences between software and systems engineering? (Ouline 4 sub)
Systems Engineering also includes:
* Software
* Hardware
* Deployment to physical environment
* Human-in-the-loop
Draw the diagram of the software engineering process of Waterfall.
Name the pros (2) of the waterfall process and what they are used to design (2).
Pros:
* Rigid formal process
* Precise plan-driven
Used to design:
- Embedded systems
- Safety-critical
systems
Give the con (1) of the waterfall process and what issues (2) it implies.
Activities are isolated:
- Late-changing requirements require
a lot of rework!
- Promotes “silo” mindset
Draw the diagram of the software engineering process of Incremental Development.
Name the pros (2) of the incremental development process and what they are used to design (3).
Pros:
* Flexible
* Informal
Fits well:
- Consumer software
- Web-based systems
- Mobile apps
Give the con (1) of the Incremental process and what issues (3) it implies.
Con:
Too Flexible
Issues:
- Large organizations with many teams
struggled to adopt
- Nowadays even safety-critical
systems industry is
iterative
- Wrong architecture degrades quickly
Name all the Principles of the Agile Manifesto (4)
- Individuals & interactions > Processes & tools
- Working software > Comprehensive documentation
- Customer collaboration > Contract negotiation
- Reacting to change > Following a plan
Within the Principles of the Agile Manifesto explain:
1. Individuals & interactions > Processes & tools
Build projects around motivated individuals
* Give them support they need
* Trust them to get the job done
Face-to-face conversation is the most effective method of
conveying information
* Applies to inter- and intra-team communication
Within the Principles of the Agile Manifesto explain:
2. Working software > Comprehensive documentation
Working software should be the primary measure of progress
* Iterate on prototypes that deliver Minimum Viable Products (MVPs)
Top priority is customer satisfaction
* Achieved through early and continuous delivery of valuable software
Simplicity is essential
* Maximizing the amount of work NOT done