Agile development is popular. The large organizations are doing it: Google, Yahoo, Microsoft.
Agile development isn’t a specific process you follow its more about a philosophy – a way of thinking about software development. From a business point of view the agile manifesto places strong emphasis on ensuring close interaction and collaboration between the development team and the business, and in a technical context it places importance on developers working collaboratively on short iterations of work – continually refining the design, reviewing each others code, and delivering smaller units of work frequently.
The Agile Manefesto
Values:
• Individuals and interactions over processes and tools
• Working software over comprehensive documentation
• Customer collaboration over contract negotiation
• Responding to change over following a plan
Principles:
• Our highest priority is to satisfy the customer through early and continuous delivery of valuable software
• Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage
• Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale
• Business people and developers must work together daily throughout the project
• Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done
• The most efficient and effective method of conveying information to and within a development team is face-to-face conversation
• Working software is the primary measure of progress
• Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely
• Continuous attention to technical excellence and good design enhances agility
• Simplicity, the art of maximizing the amount of work not done, is essential
• The best architectures, requirements, and designs emerge from self-organizing teams
• At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly
Agile development isn’t necessarily a solution to improving productivity. Its benefits come from working differently, not from working faster. Teams learning agile development will go slower while they learn, and emphasizing productivity might encourage a team to take shortcuts and to be less rigorous in their work, which could actually harm productivity.
The aim is to find the right approach for the project – and this will involve a certain amount of trial and error. The important point though is that IT industry is adopting agile frameworks in a big way since its advantages have been proven to be quite real.
Nice summary. Thanks. Im studying development methodologies as part of my course and wonder how popular they actually are in industry at present.
Thansk Marcus, We currently use Scrum where I work - which is becoming quite a popular agile framework. I think the managers like it since it uses alot of business epak which they like, as opposed to technical jargon. Jon