Discuss Plan-driven vs Agile development
Plan-driven
- Activities are planned in advance and progress is measured against this plan
Agile
- Incremental planning and so, process can be changed
In practice
- Processes include elements of both
- Different process models emphasise different concerns and will be suitable for different types of systems
What are some agile principles?
Customer involvement
- Customer closely involved throughout development
Incremental delivery
- Software developed in increments, as defined by customer
People, not process
- Skills of team members should be recognised and used without overly restrictive processes
Embracing change
- Expect requirements to change and design for change
Maintaining simplicity
- In both software being developed and the development process
What are some challenges of scaling agile processes? (6)
What are some challenges that a traditional software team faces?
Result
- Delays in new releases and fixes reaching customers
What are some examples of agile processes?
What are some examples of scaling agile processes?
Large Scale Scrum (LeSS)
- Team of teams
Scaled Agile Framework (SAFe)
- A set of organisation and workflow patterns to promote collaboration across a large number of agile teams
Disciplined Agile Delivery (DAD)
- Hybrid toolkit to simplify process decisions
What are some principles of DevOps?
Everyone (in the team) is responsible for everything
- Development, release & support
Everything that can be automated should be automated
- Minimal manual involvement in software deployment
Measure first, change later
- Data collected about system and its operation to help decision making
What are some solutions for scaling agile processes? (5)
What are some variations of DevOps?
DevSecOps
- Development + Security + Operations
- Security is a shared responsibility throughout the software lifecycle
DataOps
- Principles of DevOps applied to data analytics
GitOps
- Version-controlled deployment configuration
What are the 3 phases of scrum?
What are the 4 core values of the Manifesto for Agile Software Development?
Favour left over right
What are the roles in a scrum team?
Product owner
- Responsible for maximising value of product created
Development team
- Professionals who do the work of delivering an increment
Scrum master
- Facilitates Scrum and liaises with external stakeholders
Self-organising and cross-functional
What are the stages in a scrum sprint cycle?
What does agile mean?
Oxford English Dictionary:
“able to change or be changed rapidly in response to customer needs and market forces; adaptable, flexible,
responsive.”
What is Agile Software Development?
Agile Alliance:
“Agile software development is an umbrella term for a set of frameworks and practices based on the values and principles expressed in the Manifesto for Agile Software Development and the 12 Principles behind it.”
What is an agile process and what does it aim to achieve?
What is DevOps?
Development + Operations
What is scrum in agile development?
What is the Manifesto for Agile Software Development?
It has 4 core values and 12 principles for Agile Software Development.
What kind of scrum meetings are there within each sprint?
Why do we need DevOps?
Agile practices requiring faster releases to customers
- Avoiding bottleneck between development and deployment
Successful examples of software services being developed
and supported by the same team with improved reliability
- E.g. Amazon
Increasing use of software as service
- Running on cloud, so no user releases