By submitting your email address, you agree to receive emails regarding relevant topic offers from TechTarget and its partners. You can withdraw your consent at any time. Contact TechTarget at 275 Grove Street, Newton, MA.
As the financial meltdown continues, so has the impact of corporate cost cutting. It is now becoming obvious that just reducing hiring plans may not save enough for many software organizations. To meet 2009 budgets, unfortunately, a lot of companies are looking at staff cuts to meet their short-term goals.
In my first article in this series, I set the stage for increasing your agility to systemically take costs out of the budget by making your entire development organization leaner. Other articles about the downturn, including Ed Cone's blog posts on CIO Insight, give CIOs the three-step model: cut, invest and lead.
As I said in my first article, these highly personal actions are sad; you and your teams will need time to adjust. So, if this downturn is going to mean cutting staff, let's talk about how to cut staff in order to maximize your move to agile development. If you think systemically about what makes agile work, you can actually set yourself up to come out of this stronger in the economic spring. Coming out stronger is predicated on saving enough budget to invest and effectively lead through the whole cycle. If you can do that, you can get the benefits of agility without the unintended consequences of cuts spiraling out of control and destroying the moral fabric and delivery capabilities of the whole team.
Using the lens of agile development
To understand how to make staff cuts that enhance your agility, we need to go back to the key principles of lean development, which are fundamental to agile development (see the original Agile Manifesto or this InfoQ article for more on agile development). The seven lean principles are:
- Eliminate waste
- Create knowledge
- Respect people
- Build integrity in
- Defer commitment
- Deliver fast
- Optimize the whole
If I was going to make cuts, I would first look to cut people or teams that exhibit the following four behaviors that violate the agile principles:
- Noncollaborative: They do not respect people or help create knowledge.
- Myopic: They are incapable of working toward optimizing the whole.
- Complacent: They tend to remain unskilled and hence do not help to build integrity in, eliminate waste or create knowledge.
- Out of sight: Whether due to geography or due to their unwillingness to be highly visible, they cramp your ability to deliver fast and to continuously create knowledge.
If you stack-rank your people or teams based on these criteria, I am sure you will find some clear nonperformers. At the same time, I assume you will find some stand-outs, rock stars and assumed must-haves who exhibit the behaviors listed above. These so-called rock stars may build up to 10 times more code than average developers, but when combined into a team they can be noncollaborative, myopic and complacent. This adversarial or destructive relationship usually leads to unintended consequences on the team, including a lack of trust and bad behavior.
The easy way out is to point to a team and say that because their efforts are not effective you should just cut the whole team. It might make sense to cut a whole team based on cost, geography, or limited, specialized skills. But I believe you need to go deeper -- really look at the individuals and find the courage to remove the people who are not actively helping the team increase their agility.
Now is the time to remove the bad apples no matter how painful this might be. Remember, "Never allow a crisis to go to waste."
Implementing a social contract
As a result of any staff cuts you make, you are going to have to lead your organization through the Forming-Norming-Storming-Performing stages again. This is where your leadership skills will be needed. The leader of one of the most talked-about agile transformations is Israel Gat from BMC Software. At the beginning of his decision to transition to agile development practices, Israel struck out a social contract with his teams that was recently revisited in light of downsizing. This social contract is a good example of leading your teams toward the hyperproductive world of successful agile teams.
To make your social contract work, you will have to cut deep enough to continue to invest in your move to agility. This investment will be needed for professional skill development, agile team skills development, team coaching, agile infrastructure and hiring to fill critical holes. Fortunately, filling these critical holes on your teams should be easier during this downturn.
Using the Scrum structural model
Many teams that adopted agile have had a hard time reorganizing around the standard agile team structure. After four years of helping enterprises rollout agile, we have found this is a common roadblock to getting the most out of agility. We recommend that teams organize using the standard Scrum structure. There are three roles on agile feature teams:
- Customer, product owner or proxy to represent the needs.
- Scrum master to protect the team and process.
- The delivery team including developers, testers, documentation and designers.
In many organizations, there are not enough product owners or Scrum masters available when the agile rollout begins. Having made your cuts, now is the time to fill those holes by retraining or adding new hires.
Quick cuts are often the easiest way out, so as you make your short-term cuts, don't lose sight of the equally important long-term investment. With an effective two-pronged approach, you will avoid a common pitfall of organizational changes: falling prey to fixes that fail. Resist this and go deeper to understand your teams. Have the courage to resist the quick fix. By doing the right thing to meet short-term needs and then quickly leading the team with wise investments at increased agility, you can position your organization to come out stronger.
About the author: Ryan Martens is the founder and CTO of Rally Software. He has significant experience helping organizations transition from traditional development processes to more Agile techniques.