Agile is a set of software development methods that aims to address not knowing what challenges will occur in the future by focusing on the known and important rather than attempting to plan the unplannable and address features that may never be implemented.
What is the Agile Process?
Agile is an incremental, iterative development process taking place in short development cycles – known as sprints. Each sprint has a committed scope of the “top important requirements” prioritized by the Product Owner.
The “Agile team” is an organic cross-functional team that can independently take a customer need from an idea to a working production feature.
Who Uses Agile at Webpals?
All Webpals products are being developed via Agile, with Scrum and Kanban being two of the most popular Agile methods.
In Scrum we have a start day and delivery day; both are fixed. The Agile team is committed to delivering the agreed scope to production at the end of the sprint, as stable, production-ready software.
In Kanban there are no sprints, nor is there a delivery scope. There is a backlog of requirements/tasks that need to be executed efficiently according to their priorities.
Key Agile Principles
- Interaction among individuals that encourages teamwork and collaboration is the key factor in getting things done.
- Working software is more important than great documentation.
- Customer collaboration and the product owner’s daily interaction with the development team is essential for a great product and high customer satisfaction.
- Quick response to changes in both requirements and priorities as features are continuously developed and deployed.
Step-By-Step 60-Second Illustration of Agile
- Product owner creates a detailed list of customer/product requirements.
- Product owner prioritizes the requirements not by “high, medium, low” but via a list, ordered by importance.
- The Agile team gives a general effort estimation as a single number, called “story points”, which reflect the complexity and total effort required to complete the feature.
- The team estimates, based on previous sprint experience, the number of story points they can complete within the sprint – and commit to the partial doable list.
- Greenlight! We start executing the sprint scope. With a 10-day countdown, we do 8 development days, where we rapidly develop, pack, and test the features, followed by a 2-day sanity test where we ensure product functionality.
- The final result of the sprint is a new product version that contains only the fully tested features that are ready for production deployment.
- Finally, we deploy the new software to production and start the next sprint, with new features, new challenges, known delivery date, and quality standards.