Skip to main content

By clicking Submit, you agree to the developerWorks terms of use.

The first time you sign into developerWorks, a profile is created for you. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

All information submitted is secure.

  • Close [x]

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerworks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

By clicking Submit, you agree to the developerWorks terms of use.

All information submitted is secure.

  • Close [x]

Strategies for performing with agility

Essentials for collaborating and innovating in the ALM ensemble

Adrian Cho (adrian_cho@ca.ibm.com), Senior Development Manager, Rational Jazz ALM, IBM
author photo
Adrian Cho has worked in the software development industry for more than 20 years in consulting, research and development and intellectual property. At IBM he is responsible for delivery of the Collaborative Lifecycle Management project including Rational Team Concert, Rational Quality Manager and Rational Requirements Composer. The project incorporates contributions from hundreds of software developers located across ten sites worldwide. As a jazz musician, bandleader, and conductor, Adrian has presented thirty major concerts and premiered over ten seminal jazz works in the past seven years. He teaches and speaks to university and business audiences about software development, jazz, and organizational performance. His book, The Jazz Process: Collaboration, Innovation and Agility, has been endorsed by a diverse collection of thought leaders while reviewers have praised it for its "deep exploration of collaborative know-how."

Summary:  The first declaration of the Agile Manifesto is "individuals and interactions over processes and tools," yet this fundamental tenant seems to get lost on many agile projects. Highly capable people guided by fundamental principles of agility are more important than any tools, technology or overly-specific processes and best practices. This article provides tips for executives, development managers, and agile team leads to strike the balance of structure and freedom so they can reap the rewards of high performance teamwork and more successful agile projects.

Date:  23 Jan 2012
Level:  Introductory PDF:  A4 and Letter (22KB | 4 pages)Get Adobe® Reader®
Also available in:   Chinese

Activity:  12502 views
Comments:  

Developers should take cues from jazz musicians

In a world where change is a constant organizations are turning to agile development practices to help transform everything from software development to business processes. In the software industry, tools and processes are regularly touted as the path to success, but "agile" is not a specific agile process or tool. The first declaration of the Agile Manifesto is "individuals and interactions over processes and tools," yet this seems to be lost on many people.

Although the concept of agility in software development might be somewhat new, other disciplines have practiced agility for much longer. One hundred years ago in similarly challenging circumstances of global conflict, financial crisis and immense change to those we face today, jazz musicians were turning music into an agile art form. Jazz and software development share common performance characteristics that I regularly observe in my work at IBM and in my work as a jazz musician. If you compare a great jazz band (team) with a high-performance software development team, you'll find many common traits:

  • Continuous integration. Jazz musicians constantly combine and resolve unique, individual musical contributions. Software developers do the same, but their contributions are typically code and other content integrated into a build.
  • Synergy. A solo musical performance is not as compelling as when everyone in a jazz band plays their different parts together. In agile software development, capturing requirements, writing code and testing take place simultaneously rather than in a "waterfall" sequence.
  • Feedback. Team members must be open to responses from collaborators, consumers and competitors and adjust their actions accordingly.
  • Quality. There is low tolerance for mistakes. A single significant mistake at the wrong time can ruin an otherwise perfect performance.
  • On-time delivery. Each team must begin their activity at a previously agreed upon and publicized time. No matter what happens, the show must go on.
  • In-time execution. Each team must deliver in real-time without stopping or slowing down to the point where they miss previously agreed upon synchronization checkpoints.

Team diversity

Diversity is essential to deliver a truly excellent performance. Fortunately, the IBM workforce is highly diverse. When a team has a diversity of skills, experience and perspectives, synergy is more likely to be present and there is increased potential to produce extraordinary results. Diversity helps to avoid groupthink and mediocrity, mitigates risk and builds robustness by avoiding extreme tendencies. Jazz musicians build diverse teams by seeking out new musicians with unique talents and artistic approaches. In software development, many leaders build "mirrortocracies" by hiring or promoting people who think and act like themselves. Instead, they should seek out team members with contrasting skills or perspectives.


Leading on demand

Organizational agility begins with agile individuals and teams in which everyone can lead by taking initiative. In jazz, leadership is decentralized and dynamic with musicians alternately leading and following between performances and while on the bandstand. Software development leaders need to give up some control to facilitate success. If they straitjacket their teams with restrictive command and reporting, they inhibit creativity and agility and limit their organization's ability to respond to change. Instead, goals must be set collaboratively and people must have the autonomy to achieve the goals in their own way.


Improvisation

Although classical musicians play music from a previously composed script, jazz musicians are constantly improvising. In "classical" waterfall software development, the script is composed during extensive upfront planning. Iterative development decomposes planning into regular, shorter cycles. This dramatically improves a team's ability to respond to change and adjust for unforeseen elements. Further improvisation might be necessary to respond to rapid change and late surprises. The reality is that you can only plan so much and although having a minimal plan or even no plan may seem crazy, blindly following an unrealistic plan is even crazier. Neither software projects nor jazz performances are repeatable.


Working openly

No team is an island – teams must constantly adjust their plan based on feedback and input of extended project contributors. At Jazz.net, our teams plan, develop and discuss our work openly in collaboration with a community of customers, partners and other key stakeholders. This allows us to execute faster and align our deliveries more closely with the needs of our customers while keeping our stakeholders better informed of progress.


Staying healthy

Although diversity increases the potential for greatness, it also increases potential for failure. Leading on demand can produce stellar results, but there is potential for clashes and chaos. Improvisation can produce more relevant responses to unexpected change. but some things still require preparation and improvisation takes time to master. Finally, although transparency can improve the speed and quality of execution, there is an overhead.

To gain the benefits of working like jazz musicians while minimizing the downsides, we do things in balance and respect the health of our teams and our projects. Although we promote individualism, we expect individuals to put the team first.

One way in which we promote health is by using rhythm. Although musicians in an ensemble don't always play the same rhythms simultaneously, they must synchronize at checkpoints and align within a common tempo and pulse. Every activity has a structure of checkpoints and some kind of heartbeat. We build twice a day, produce a stable build every week, declare and self-host on a milestone every three weeks and every six weeks we publish a milestone. When we fail to groove on a consistent rhythm, the project can suffer.

Another way in which we promote health is by constant assessment and improvement. Just as we assess build health by running automated tests, we assess team health by having teams perform regular retrospectives to identify actions for improvement. These synchronization points are critical to prevent the team from devolving into chaos and maintain a reasonable level of group productivity.


Conclusion

As executives, managers, and team leads on an agile project, we must never lose sight that our people are the single most important element of a successful agile initiative. Highly capable people guided by fundamental principles of agility are more important than any tools, technology or overly-specific processes and best practices. Without the right environment for diversity, collaboration, improvisation, and leading on demand, even projects with the best tools and the perfect plan will often fail. However, if you build great teams, provide the right guidance, and strike a balance between structure and freedom, you will reap the rewards of high performance teamwork and more successful projects.


About the author

author photo

Adrian Cho has worked in the software development industry for more than 20 years in consulting, research and development and intellectual property. At IBM he is responsible for delivery of the Collaborative Lifecycle Management project including Rational Team Concert, Rational Quality Manager and Rational Requirements Composer. The project incorporates contributions from hundreds of software developers located across ten sites worldwide. As a jazz musician, bandleader, and conductor, Adrian has presented thirty major concerts and premiered over ten seminal jazz works in the past seven years. He teaches and speaks to university and business audiences about software development, jazz, and organizational performance. His book, The Jazz Process: Collaboration, Innovation and Agility, has been endorsed by a diverse collection of thought leaders while reviewers have praised it for its "deep exploration of collaborative know-how."

Report abuse help

Report abuse

Thank you. This entry has been flagged for moderator attention.


Report abuse help

Report abuse

Report abuse submission failed. Please try again later.


developerWorks: Sign in


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

Choose your display name

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


Rate this article

Comments

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Rational
ArticleID=788361
ArticleTitle=Strategies for performing with agility
publish-date=01232012

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

For articles in technology zones (such as Java technology, Linux, Open source, XML), Popular tags shows the top tags for all technology zones. For articles in product zones (such as Info Mgmt, Rational, WebSphere), Popular tags shows the top tags for just that product zone.

For articles in technology zones (such as Java technology, Linux, Open source, XML), My tags shows your tags for all technology zones. For articles in product zones (such as Info Mgmt, Rational, WebSphere), My tags shows your tags for just that product zone.

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Try IBM PureSystems. No charge.

Special offers