Scrum is an iterative and incremental agile software development framework for managing software projects and product or application development. Its focus is on “a flexible, holistic product development strategy where a development team works as a unit to reach a common goal” as opposed to a “traditional, sequential approach”
A sprint is the basic unit of development in Scrum.
The sprint is a “timeboxed” effort, i.e. it is restricted to a specific duration.The duration is fixed in advance for each sprint and is normally between one week and one month.
Each sprint is preceded by a planning meeting, where the tasks for the sprint are identified and an estimated commitment for the sprint goal is made, and followed by a review or retrospective meeting, where the progress is reviewed and lessons for the next sprint are identified.
The essence of software delivery is to build software so that it is always in a state where it could be put into production. We call this Continuous Delivery because we are continuously running a deployment pipeline that tests if this software is in a state to be delivered.
Agile Application Lifecycle management
- Benefits of Agile ALM
- Increase team performance
- Make the right investments
- Align IT with business goals
- Reduce risk
- Propagate best practices
- Speed time to market
- Take advantage of new opportunities
- Remove roadblocks
Best practices of Agile ALM:
- Evolve Process Definition
- Embrace Heterogeneity
- Orchestrate, Don’t Manage
- Practice Continuous Delivery
- Build the Right Thing