Stephen Covey, in his bestselling book “The 8th Habit: From Effectiveness to Greatness”, outlines four disciplines, that when consistently applied, result in high performing organizations. The Agile movement is based upon a value system and specific core practices, that when consistently applied, result in high performing software development organizations.
Establish Wildly Important Goals: A team can only focus on 1-3 things at a time and be successful. The more goals we add to the list, the lower our chances of delivering any of them. Make sure you are focusing on what is really important.
Agile teams partner with the business to establish a goal for each iteration. The goal is established to deliver the highest value to the business and mitigate the most risk. Every member of the team is collectively responsible for delivering on the goal of the iteration.
Translate Strategy to Tactics: So you know what your goals are, now what are you going to do about them? For an organization to be truly effective, leadership must help the team translate the lofty goals into meaningful action.
Once the goal has been established, Agile team members volunteer for specific work that will contribute to the meeting the team’s goal. These work items are immediately decomposed into tasks and the team members self select these tasks. This becomes the detailed work plan for the iteration.
Create a Compelling Scoreboard: High performing teams play to win. If someone is going to win, you have to keep score. A scoreboard that clearly demonstrates team progress toward its goal generates excitement and enthusiasm. A scoreboard motivates.
Each iteration ends with an increment of the product that can be reviewed by the business. Delivery of working software is one lead indicator the team is making progress. Other lead indicators are the number of story points (or possibly ideal engineering hours) the team was able to get accomplished during the iteration. Agile teams often create burn down charts to show the rate of progress against their ultimate goal of delivering a complete system. Because these measures are based on real software delivered to the business, they are accurate indicators of the overall health of the project.
Hold Each Other Accountable: Accountability is the key. As individuals, we have to understand that there are others that are counting on us to deliver. There must be some consequence for failing to deliver. Shared accountability drives performance.
Agile teams are accountable. Accountability begins with the iteration planning meeting. This is where the team recaps what was accomplished in the previous iteration and plans what it will do in the upcoming iteration. The team must demonstrate its progress and show what it will do to meet the overall objectives of the business. The team members are also accountable to each other during the daily standup meetings and retrospectives. Most importantly, Agile teams are accountable for delivering a complete working solution that meets the needs of the business.
Agile is framework around establishing a culture of empowerment, lifting the individual, and tapping into the vast reservoir of human potential and creativity. Agile is a foundational set of principles, coupled with a ever evolving toolkit of specific practices, for focusing the team on what is most important to the business, working with the business to decide what tasks will deliver on that goal, establishing measures for key lead indicators such that the team always understands its progress, and encouraging a culture of trust and accountability that will ultimately drive performance.