Slide Deck 2 Flashcards
What are the four Agile Manifesto things?
Individuals and Interactions OVER Processes and Tools
Working Software OVER Comprehensive Documentation
Customer Collaboration OVER Contract Negotiation
Responding To Change OVER Following A Plan
What is rapid software development?
most important requirement for software systems nowadays. Software has to evolve quickly.
What are the 12 principles of agile methods?
- Satisfy the customer
- Welcome change
- Deliver working software frequently
- Work Together
- Trust and Support
- Face-to-face communication is best
- Working software
- Promote sustainable development
- Continuous attention
- Maintain simplicity
- Self-organizing teams
- Reflect and Adjust —- Introspection - teams should regularly review itself and its processes to try and improve
What are some problems with agile methods?
- difficult to keep interest of customers who are involved in process
- team members could be unsuited to the intense involvement of characteristics
- Changes can be difficult with multiple stakeholders
- Extra work to keep things simple
- Contracts could be a problem with iterative approaches
What is plan-driven development?
Based around separate development stages with the outputs to be produced at each of these stages planned in advance.
plan-driven or agile: is it important to have a very detailed spec and design before moving to implementation?
Should user plan-driven approach
plan-driven or agile: Is an incremental delivery strategy, where you deliver the software to customers and get rapid feedback from them, realistic?
Should use agile methods
plan-driven or agile: How large is the system that is being developed?
Agile is good for small co-located team, for large teams, plan-driven is the way to go
plan-driven or agile: What type of system is being developed?
Plan-driven is possibly a must for systems that need a ton of analysis before implementation
plan-driven or agile: What technologies are available to support system development?
Agile methods rely on good tools to keep track of an evolving design
plan-driven or agile: how good are the programming skills of the developers?
Agile methods need higher skill levels when compared to plan-driven
What are the main characteristics of agile development?
- keep things small
- deliver partially-completed software frequently
- talk to the customer often
- write more code than documentation
- everyone on the team learns together
What are some agile practices?
- short timeboxed iterations
- continuous integration
- daily unit testing
- regular retrospectives
- direct communication between devs and the cx
- a single list of features and tasks
- short-term estimation of dev tasks
- information radiators
- refactoring
There is ___ to do requirements in agile development
no standard way
Why is agile development important?
- large feature sets could increase the cost for the customer
- constant introduction of new technologies
- new players enter the market
- “small is beautiful”
- if we listen to customer, we reduce our chances of being blindside by smaller, more flexible competitors
- anything that helps reduce maintenance costs is awesome