The New Architecture of Work IV: Agile Technology
Most new software development departments run their operations using Agile Methodology. This new approach to software development is built on the premise that one knows more about what one is doing the further into it he or she gets. Agile Technology is an iterative, somewhat self-directed, approach to getting things done.
Focused on tight development loops and self-correcting trajectory, agile teams are organized into short burst project development exercises. The agile approach places a higher value on getting results than following processes. It is a method designed for the real world of changing requirements.
Traditional project management fails to deliver software which is responsive to changing market needs. With its emphasis on knowing the outcome in advance, traditional project management fails when the project includes some level of discovery. In other words, the traditional approach to getting things done in an organization depends on knowing where you’re headed.
There are plenty of situations where that’s simply not possible. Sometimes, the situation is that you can’t plan ahead. That’s where agile approaches shine.
There are other situations where agile methods are completely inappropriate. When the outcome is clear from the beginning and continuous improvement disrupts ongoing operations, a more traditional approach to management is required.
One way of thinking about it is that agile methods are horizontal and customer centric. Traditional Project Management involves top-down control and is hierarchical. Agile methods are better for managing collaborative processes while traditional Project Management works best in construction project style environments.
Agile methods are very new. Little is really understood about where they will produce productive results and where they’ll be damaging. As we learn more about the process, the techniques are moving out of software development projects and into other areas of the organization.
Here are some examples of places where an agile approach is likely to succeed:
- Enterprise software implementation teams
- Work environments with steep peaks and valleys in workflow
- Departments where regulatory change comes quickly and erratically
- Custom shops (Bespoke)
There are plenty of others.
As the department of Work, 21st Century HR will be the repository for the organization’s learning and wisdom about how and where to apply agile approaches.
At the end of this article is a copy of the Agile MAnifesto and the Underlying Principles of the Agile Method.
The New Architecture of Work Series
- I: Intro to The New Architecture of Work
- II: The Work Department
- III: Gamification
- IV: Agile Technology
- V: Learning
- VI: Learning Technology
- VII: Learning Tech: WealthHabits
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.
(to learn more about the manifesto and its implications, see agilemanifesto.org)
We follow these 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.