Key Idea of Agile
More than 70% of organisations report using Agile approaches sometimes, often, or always. (Source: Project Management Institute).
Agile software development describes an approach to software development under which requirements and solutions evolve through the collaborative effort of self-organizing and cross-functional teams and their customer. It advocates adaptive planning, evolutionary development, early delivery, and continual improvement, and it encourages rapid and flexible response to change.
In other words, the very idea of Agile development methodology is a focus on delivering value for customers, working in small teams in short cycles, and networked organizational arrangements rather than top-down bureaucracy.
Agile manifesto states:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
A Brief History of Agile
The history of Agile develpment did not start with Agile manifesto. To understand why Agile appear, we have to look back at the past.
In the early 1990s, as PC computing began to proliferate in the enterprise, software development faced a crisis. At the time, it was widely referred to as “the application development crisis,” or “application delivery lag.” Industry experts estimated that the average time between a validated business need and an actual application in production was about three years. In complex industries such as airspace the delivery lag could be 20 or even more years.
Businesses developed fast, and within three years all the requirements were likely to change. That meant that many projects were not finished and those, which were complited, did not meet current business needs.
In a while though industries leaders start talking about ways of developing software more simply without the process and documentation overhead of waterfall and other popular software engineering techniques of the time.
Then in 2001 Agile Manifesto appeared, and Agile ideology gained huge popularity among developers. The modern history of Agile development methodology starts at this point. Numerous methods were developed and sharpened by the IT community after thousands of Agile projects since then.
Most Common Mistakes When Using Agile
1. Strictly Fixed Budget and Schedule
Agile is software development with users in mind. When creating a project according Agile methodology, you constantly negotiate, re-priotitise requirements and receive feedback.
Agile is all about flexibility, which allows developers to create working software of high business value.
But when your agile project lacks flexibility – aka has an inflexible budget and a strictly fixed schedule – it actually contradicts the key agile principles, and leaves your team frustrated
2. Demanding Waterfall Metrics
One of the biggest mistakes project leaders make is still demanding monthly waterfall metrics even after transitioning to agile. Resist this and opt for agile project mechanisms – cards, stories, burndown charts, etc.
3. Lack of Transparency
The productivity of Agile could be killed with the lack of transparency. Agile is based on close coopertaion between team members and management. Clear tasks, priorities, transparent communication help you to design smooth-performing solution.
4. No Product Owner Participation
Product Owner plays key role in project developemnt. It is the person who has the whole vision of an end product. Ask that person for a feedback, or additional information about required featured, industry“s insight if it is needed. A good practice when the Product Owner discuss with Agile team the progress of every iteration and evaluate it.
5. Unclear Done Criteria
Done criteria show what the product should be at the very end. When they are achieved, the project is completed. Make sure they exist and are explicit and devoid of ambiguity. In general, human beings work better when they know what they should achieve. It does not work wonders but practice makes perfect. If you have a project which is badly described and are pressed for time, it is naïve to hope that Agile will solve the problem.
Agile help you to be flexible in terms of development. You should not blindly follow the rules stated in books or articles, but adapt the methodology to your company and your projects.
Contact us, we’d be happy to discuss yout next project.