The core philosophies that these Agile thought leaders built upon are best described in the Agile Manifesto, a doctrine which currently has thousands of signatories from Agile practitioners around the world:

We are uncovering better ways of developing software by doing it and helping others do it.

Through this work we have come to value:

Individuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation

Responding to change over following a plan

That is, while there is value in the items on the right, we value the items on the left more. The introduction of Agile approaches in the IT industry created an environment that was ideal for addressing each of the key factors that were driving IT project failures.

As documented in the Agile Manifesto, Agile practices prefer “working software over comprehensive documentation” as a way of maximizing the productivity and value of the team.

Adopting Agile approaches within the IT industry eliminated the traditional low-value approach of building big upfront documentation. Instead, Agile teams worked in collaboration with stakeholders to create high-level “user stories” and then worked again in collaboration with these stakeholders to ensure that their deliverables were continually meeting the needs of the organization. This enabled software development teams to start actively producing value for the organization from the first iteration; reduced the levels of documentation to only record the most essential information; enabled plans to be regularly adjusted to meet the ongoing needs of the organization; and provided tangible outputs that stakeholders could respond to (versus the limited two-dimensional descriptions available through design documents).

The responsive planning of software development work based on the highest business priorities – along with the regular opportunity for stakeholders to adjust work to meet ongoing priorities – eliminated the need for the “everything under the sun” approach to collecting user requirements. Because stakeholders were given an opportunity to escalate the software features that were most important to them throughout the process, users knew that there would be ample opportunity to review and adjust these priorities as the software development progressed. They no longer felt the imperative to ask for everything they might need upfront for fear that they would never again have the opportunity to influence the outcome of the software being developed.

Similarly, the hands-on nature of stakeholder involvement, while the software was being developed, provided users with a level of control and input into the process that they had never experienced in the past. The false security of extensive documentation was replaced with the opportunity to review and influence tangible outputs. The misalignment problems that used to occur when software was finally released became a thing of the past. The use of Agile approaches in the IT industry meant that there were few to no surprises when software was delivered to the users.

Insufficient communication
Introducing Agile practices in the IT industry minimized the isolation between the users with the business knowledge and the technical team that was tasked with delivering the software. The most forward-thinking IT organizations put representative stakeholders on the technical team to work hand in hand with the developers on a daily basis. Other organizations arranged for the business areas to be available to the technical team on an “as needed” basis, minimally as active participants in iterative reviews of the deliverables. Technical teams were no longer working in a “black box” environment. They were no longer expected to interpret unclear business requirements on their own. They were empowered with the ability to deliver real business value for their efforts. Stakeholders were provided with working software that was significantly better aligned to their business needs.

Agile approaches did not only have a positive impact on communication between the technical and business teams; they provided significantly higher levels of communication within the teams. Agile approaches encouraged teams to: participate in daily status updates and problem identification; pair team members when undertaking work to deliver consistently higher quality results; and undertake cross-disciplinary problem solving in providing end-to-end deliverables at each iteration. Most importantly, technical team members received a level of support, quality control and motivation that was unavailable to them in their previously isolated environments.

“All-at-once” delivery
Agile practices replaced serial “waterfall” project management techniques with iterative delivery of tangible outputs, where all stages (analysis, design, development, testing and delivery) were undertaken for a selected subset of features in each iteration.

The iterative release of end-to-end deliverables allowed for parallel work to be undertaken by the team, enabled risks and hurdles to be identified early on in the process, and provided tangible outputs which were able to bring immediate value to the organization. This ongoing delivery of high business priority outputs provided management with an unprecedented level of value from their IT investments, and a control over ongoing budget expenditure that the “all-at-once” delivery model could never provide.

So, what does all of this have to do with using Agile for organizations in other industry sectors? The interesting thing is that the problems that beset the IT industry in the 1990s – over-planning, insufficient communication and “all-at-once” delivery – are problems faced by organizations in a much broader range of industry sectors today: project teams caught up in endless planning and replanning cycles; marketing teams making decisions without sufficient input from the product delivery areas; managers relying on paper-based status reports as assurance that work is on track, only to find out at the end of the process that work is either incomplete or insufficient to meet the current needs of the business.

The introduction of Agile approaches in software development has revolutionized the IT industry. It is why so many prominent IT organizations, including Yahoo!, BT and Google have not only adopted Agile approaches internally, they have actively promoted the use of Agile practices and techniques throughout the industry.

Source of Information : IT Governance Publishing-Agile Productivity Unleashed 2010


Subscribe to Developer Techno ?
Enter your email address:

Delivered by FeedBurner