What is agile web development? Agile is a methodology in software development and project management that produces a flexible and adaptable on-going approach to product development. Here at Byte9 we practice SCRUM and Extreme Programming (XP) are well known and widely increasing used variants of the Agile process, other methodologies include Lean and Kanban.
The 10 ways that 'Agile' will add value to your project
What is agile web development?
Agile is a methodology in software development and project management that produces a flexible and adaptable on-going approach to product development. Here at Byte9 we practice SCRUM and Extreme Programming (XP) which are well known and increasingly widely used variants of Agile process, other methodologies include Lean and Kanban, for example.
Here are 10 key benefits you will derive from following an Agile approach to development:
1. Increased Return on web development Investment (ROI)
Agile promotes an iterative development process, meaning that versions can be released earlier as the features are developed. This enables benefits to be realised sooner, as development starts early and there is a functional product after only a few iterations for stakeholders to review and feedback on.
2. Lower project risk
Short deliveries (iterations) mean that customer feedback on developments can be sought early to improve the product and reduce the possibility of failure, which has traditionally been high in software projects following 'waterfall' methodologies.
3. Faster time to market
Long delivery cycles are often a problem for businesses, particularly those in fast-moving markets. Agile means fast product releases and ability to gauge customer reaction and alter accordingly, keeping you ahead of the competition.
4. Manage changing priorities
Changes in requirements are a source of trouble for any project, often resulting in late delivery and unsatisfied customers. A key principle of Agile is that active user involvement is imperative and encouraged from the very beginning. In Agile, it is expected that user’s requirements will change and that is a very good thing, so change is embraced early. This results in a more suitable product, less investment in superfluous development and higher customer satisfaction as a consequence. Byte9 have experienced a 35% change in requirements within a fixed budget and delivery timeframe, representing a huge improvement- a 70% improvement in development budget allocation over a series of iterations.
5. Increasing productivity
The methodology behind Agile enables teams and businesses to pin-point the high priority and high value features that need to take precedence and add value to a product. The principle of shared knowledge and shared goals combined with collaboration between teams, results in increased engagement with the product, sense of ownership and use. VersionOne’s 'State of Agile Summary' (2011) cites 75% of users reporting an increased shift in consequent user productivity.
6. Continuous improvement
Practitioners of Agile are encouraged to continuously expand their knowledge. Allowing the team to expand their knowledge through self-learning, and coupled with retrospectives to look back on past sprints, results in a more focused, self-aware Agile team and methodology.
7. Alignment of IT and Business objectives
This means that teams are focussing only on the high-value business priorities and addressing them first.
8. Wider project visibility
High project visibility for stakeholders means greater control over project progress, helping to ensure that stakeholder’s expectations are managed accordingly, VersionOne (2011) reported a 77% increase in project visibility.
9. Enhanced quality of software
Agile allows for efficient management of time, quality and cost, giving developers the tools to build the software that matches the brief over time, and whilst it may not be perfect immediately, is trustworthy due to diligent testing carried out in a continuous process of improvement; 'refactoring'. Additionally, pair programming, something we practice under XP, delivers instant peer review and consequently develops a wider and deeper programmer system understanding, knowledge sharing being a key benefit.
10. Increasing team morale
Being part of an autonomous, self-organising, self-appraising team and process allows for creativity and innovation, giving a motivational boost to the team. A motivated team means a more productive work environment and faster delivery of an optimal product to the customer.
VersionOne ‘State of Agile Summary 2011’ statistics:
VersionOne produced a Whitepaper detailing the responses to Agile project Management in companies from 6,042 respondents. The average size of the company was 100 employees, with ¼ of respondents coming from organisations greater than 500.
The top three benefits cited in implementing Agile were:
- Ability to manage changing priorities (84%)
- Improved project visibility (77%)
- Increase productivity (75%)
Fig.1 Benefits Obtained from Implementing Agile
*only 8% of participants said that they do not plan to implement Agile methods on future projects