Agile methodology is a practice which helps continuous iteration of development and testing in the software development life cycle (SDLC) process.
This methodology promotes a disciplined project management process that encourages inspection and adaptation and leadership philosophy that encourages teamwork, self-organisation and accountability.
Agile divides the product into smaller builds, and there’s no in-depth planning, there are changing requirements throughout the project. That’s why agile methodology is very adaptable to changes.
Agile development refers to any development process which follows the concepts of the agile manifesto. These are the 12 principles of the agile manifesto:
1. Customer satisfaction is the highest priority and delivering valuable software achieves this.
2. Accommodate changing requirements in later phases of development
3. Deliver working software in a short timescale
4. Business team and developers collaborate daily
5. The team members have higher autonomy
6. Face-to-face interaction is critical for conveying information within the development team
7. The progress of the project is measured by working software
8. Promote sustainable development by maintaining a constant pace indefinitely
9. Technical excellence and good design are the main focus
10. Simplicity is essential for progress
11. Self-organising teams are required for the best architectures and designs
12. The teams should reflect on how to become more effective regularly and adopt the changes to increase the effectiveness
Scrum in an agile process that focuses on delivering the business value in the shortest time. It rapidly and repeatedly inspects actual working software. It emphasises accountability, teamwork, and iterative progress toward a well-defined goal.
An agile Scrum process benefits the organisation by helping it to increase the quality of the products, cope better with changes, provide better estimates.
During the scrum process, a product backlog is created. The product backlog is a list of everything which is needed in the product. The product owner is responsible for the product backlog, including its content, availability, and ordering.
In the scrum, projects progress via a series of sprints. These sprints are time-boxed to no more than a month-long, usually two weeks.
On each day of the sprint, team members attend a daily Scrum meeting. The meeting lasts up to 15 minutes. During this time every member shares what they’ve worked on the previous day, and will work on the current day.
At the end of a sprint, the team conducts a sprint review during which the team shows the new features to the product owner who gives feedback which could influence the next sprint.
The roles in the Scrum process are:
- product owner (PO) – focuses on the work to be completed and on business and market requirements. The PO interacts with the team as well as other stakeholders to build and manage the backlog.
- scrum master – responsible for organising meetings, dealing with challenges and bottlenecks. The Scrum Master interacts with the Product Owner to ensure that the product backlog is ready for the next sprint.
- scrum team – consists of 5 to 7 members. The scrum team is self-organising in that there is no overall team leader who decides which person will do which task or how a problem will be solved. Those are issues that are decided by the team as a whole.
*Famous companies using Agile: Philips, IBM, Cisco, Microsoft, AT&T,
*Famous companies using Scrum: Apple, Facebook, Spotify, Nokia, BBC, Google