We have 4686 guests and 2 members online

Video Spotlight

Home > Blogs > Featured Blogs > Brad Appleton's ACME Blog > What is Agility? Part 2 - Software Agility

What is Agility? Part 2 - Software Agility

E-mail
Written by Brad Appleton   
Friday, 10 April 2009 08:14

In Part 1 of "What is Agility?" we looked at numerous definitions and descriptions of business agility.

The overwhelming majority of them had the following elements in common among their descriptions:
  • Agility means swiftly sensing and rapidly responding to change and uncertainty.
  • Demand for change may be internal or external to the organization/environment.
  • Responding to the change utilizes resources & staff that are both internal and external.
  • Changes can be unpredictable and unanticipated, as well as foreseeable and anticipated.
  • Unanticipated changes are typically handled with dynamic adaptation through short cycles of feedback and learning.
  • Anticipated changes are typically handled with simple yet flexible structures that are resilient when modified.
  • And of course all this is achieved with solutions that are effective, efficient, and economical to implement and deliver!
So what is missing from the above that is an essential characteristic of agile development as defined by the values and principles of the Agile Manifesto?

I think it is the people factor, and what Jim Highsmith calls "a focus on talent and skills of individuals and teams." Close collaboration across functions and other internal & external boundaries is the "secret sauce" that best leverages the talents & skills of individuals & teams. This is what enables the rapid learning which, when combined with those talents and skills, delivers the most innovative solutions and best results in the shortest time.

Put ALL of the above together, and we have a definition of software development agility that looks something like the following:

Software development agility is the ability to ...
  • swiftly sense and rapidly respond to change & uncertainty
  • in close collaboration with internal and external stakeholders
  • to create simple, sustainable structures with sufficient flexibility
  • to dynamically adapt & evolve business processes, products & plans
  • that realize results with efficiency in motion, economy of effort, energy in execution, and efficacy of impact!

And there you have it! Note that the last bullet above is really just a fancy phrasing of mandatory business jargon that ultimately means "Lean", but we'll explore that connection further in a later blog-entry.

What is Agility? Part 2 - Software Agility

Posted: 2009-04-10 16:14:00

Read Full Article
Author:Brad Appleton

Comments (0)Add Comment


Write comment

You must be logged in to post a comment. Please register if you do not have an account yet.

busy
 

Agile Marketplace - Announcements and Special Offers

Webcast:  Moving Build and Code Quality Upstream
This interactive panel discussion moderated by Bob Aiello, Editor-in-Chief fo the CM Journal brings industry experts Anders Wallgren, CTO of Electric Cloud and Gwyn Fisher, CTO of Klocwork together for a candid discussion of the cost savings, productivity and quality benefits that can be achieved by stabilizing builds and code quality as early in the development cycle as possible.
Register Now!

Collabnet -TeamForge 5.3
CollabNet TeamForge 5.3 includes Dynamic Planning—providing flexibility to model release scope and timeline in a single view. Now, you can easily manipulate/adjust release data.
Download Your Free Trial

Requirements-based testing (RBT) can help to ensure comprehensive test coverage, reducing the risk of failure and improving software quality. This white paper details how application lifecycle management can be used to more effectively implement RBT processes, offering greater collaboration, traceability and control.can help you increase efficiency, reduce project risk, and improve overall software quality. Learn how MKS Integrity for application lifecycle management enables RBT, delivering full lifecycle traceability to help ensure that project requirements have complete test planning and execution coverage.
Download the Requirements-Based Testing whitepaper

PureCM –SCM for Agile Teams
PureCM helps you to manage development in short iterations: keeping track of changes, supporting automated builds and preserving frequent snapshots of your projects.
Get the free trial now