Developments in Agile Project Management - Part 3
July 17, 2007
Here’s the last instalment from my Developments in Agile Project Management Paper. Last time I wrote about Accreditation and Generation Y. Today I cover Leadership, Lean and Six Sigma, and Tool support.
You can download the full paper with the additional intro to agile and post-agile sections at the end of this post.
Development # 3: Recognizing the Link to Leadership
The table shown below illustrates how leadership focus diverges from traditional management focus and how Agile methods actually align more closely with leadership than management.
While there is no single, agreed to leadership body of knowledge, experts offer remarkably similar advice. Leadership authority and author Jeffery Pinto defines the behaviours of effective leaders as:
• Modeling desired behaviour
• Creating and communicating a common vision
• Willingness to challenge the status quo
• Empowering others
• Encouraging others
These behaviours have strong correlation with agile project management recommendations.
1. Modeling desired behaviour – agile project managers should demonstrate the behaviours they wish their team to exhibit. Admit your mistakes, promote candid discussion of issues and show humility. Adopt a sharing, abundant mentality to information and focus on communications.
2. Creating and communicating a common vision – Teams need to have a powerful, uniting vision about the project and what the system they are building should do. People need to be pulling in the same direction and a common vision helps align their effort. XP uses the concept of a system metaphor to help create a common vision, Jim Highsmith offers the “Designing the product box” as an alignment and envisioning exercise. Don Reinertson describes the “Designing the brochure description” exercise to create a common vision.
3. Willingness to challenge the status quo – No process is perfect or optimally configured for the unique demands of every project and organization. There need to be regular reviews to ensure the team and process are on track. In Agile projects, the end of iteration retrospectives where the team is asked, “What went well?”, “What did not go well?”, and “What can we improve for the next iteration?” Is where the status quo is challenged. This is an important leadership concept, never to accept the current process just because it is established.
4. Empowering others – great leaders know that people work best when empowered to make local decisions and given the freedom to self organize and think for themselves. Agile teams leverage the benefits of empowered working and gain the benefits of greater commitment and accountability. By allowing team members to self-select work and sign up for tasks voluntarily, a strong internal commitment to try and deliver that work on time to a high standard is generated. Couple with this the agile practice of holding iteration planning meetings where team members select tasks in the presence of their peers, that declares a social commitment of ownership for a task and the drive to deliver work on time becomes much higher than for tasks merely handed down from a Gantt chart.
5. Encouraging others – Saying “Thank You” is one of the most cost effective, yet under utilized productivity tools available to leaders. It does not take long to do, but if done appropriately with sincerity it can go a long way towards ensuring continued contribution and motivating team members. Agile projects recognize this tool and use the iteration retrospectives as opportunities to recognize contributions.
Development # 4: Integration with Lean Production and Lean Six Sigma
Agile methods utilize many of the same lean principles from the Toyota Production System (Duvall, 2006). The following list shows how lean practices are integrated in agile methods.
1. Just-in-time: reducing inventory and working closely with suppliers to ensure that parts arrive just when needed.
Agile Integration – in agile projects the elaboration of (non-architecturally significant) requirements is delayed until the “last responsible moment”. There is no point building up large inventories of detailed requirements and then handing them over, in large batches, to downstream activities. Since, many of the requirements may change or go away completely before they are coded. This would be pure waste (muda), plus large batch transfers are inefficient and cause queues, and increased levels of scrap and rework.
2. Jidoka: At every stage of the production process Lean Production recommends employing devices allowing workers to stop production to correct defects.
Agile Integration – Automated build and unit test systems that stop and alert the team if ever a code check-in breaks the build or unit test suite. Multi-disciplined developers pay closer attention to quality via techniques such as TDD. Team members can raise “blocking issues” at the daily standup meeting.
3. Kaizen: This is a system for continuous improvement. Lean organizations such as Toyota constantly look to improve its business processes by finding ways to take Muda (waste) out of the system
Agile Integration – At iteration retrospectives meetings the team is asked: What went well?, What did not go well? Recommendations for the next iteration? The intent is to improve the process within this project. Lessons Learned at the end of a project is too little, too late. Issues raised at the Daily Stand-up Meeting are often pointers to things that need improvement. Agile projects are always actively looking for how to improve the process during its execution.
4. Andons: Wherever possible, Lean encourages the use of visual controls, or Andons, such as overhead displays, plasma screens and electronic dashboards to quickly convey the state of work.
Agile Integration – Agile metrics use clear visual controls over percent plan complete type measures. Information radiators, cumulative flow diagrams, burn down charts, task boards divided into To-Do / In progress / Done sections. These are all great examples of Andons in practice.
5. PokaYokes: Toyota practices lean production and uses a range of these low-cost, highly reliable devices throughout its operations to prevent defects.
Agile Integration - Build status traffic lights and lava lamps, anything simple yet hard to ignore, that helps alert the team to defects that need fixing.
6. Genchi Genbutsu: The literal translation of this term is, "Go and see for yourself." Rather than hear about a problem, encourage workers, team leaders and executives to go and see a problem directly and to work collectively on a solution.
Agile Integration – Again, Daily Stand-up Meetings are a great way to go and hear the issues from the horse's-mouth rather than interpret trends from tracking Gantt charts. Regular releases of working software are excellent ways of assessing progress and defects; go try it and see for yourself.
Six Sigma Concepts
At its core, Six Sigma revolves around a few key concepts (Wikipedia, 2007).
Critical to Quality: Attributes most important to the customer - customer defines feature delivery priority and defect fix sequence
Defect: Failing to deliver what the customer wants – focus on delivering business value
Process Capability: What your process can deliver – transparent metrics with velocity (rate of tested feature delivery) the core metric
Variation: What the customer sees and feels – automate build and release processes to remove variation while focusing on customer requests over specification
Stable Operations: Ensuring consistent, predictable processes to improve what the customer sees and feels - automate build and release processes to remove variation
Design for Six Sigma: Designing to meet customer needs and process capability - focus on emerging requirements and process improvement
Six Sigma Processes
Six Sigma has two main processes DMAIC (Define, Measure, Analyse, Improve, and Control) and DMADV (Define, Measure, Analyse, Design and Verify). DMAIC is used to improve an existing business process. DMADV is used to create new product designs or process designs in such a way that it results in a more predictable, mature and defect-free performance.
Both of these concepts align closely with agile’s iterative, goal seeking approach. The agile retrospective procedure that questions the current process and looks for improvement opportunities is a direct application of six sigma principles. By engaging the team in reflection on what when well, what did not go well, and recommendations for the next iteration, key Analyse and Improve work is undertaken.
The Define and Measure principles are embodied with iteration planning and velocity tracking activities. By selecting a group of features to develop in a short iteration and then tracking performance against this plan and investigating the root-cause of deviations, controls that apply six sigma concepts are effectively employed.
Of course, all of these principles can be superimposed on top of traditional, waterfall inspired methodologies, but they are “baked-into” the lifecycle of agile methods and therefore less likely to be missed or neglected when under time pressures. Recently more recommendations and tools from the lean and six sigma world have been introduced into agile methods. It is now common place to hear Andons graphs actually being called Andons and DMADV cycles supported in agile tools.
Development # 5: Tool Support
The increase in popularity of agile methods has generated a need and opportunity for better tool support that has quickly been filled. Previously many agile projects were managed via spreadsheets, white boards and cards and now sophisticated project management systems exists to automate the process. Adoption however has been cautionary as agile favours low-tech, high-visibility approaches that the entire team can readily engage with over complex tools that limit who can interpret them. So it is common to see task boards with “To Do, “In Progress” and “Done” sections and many tasks written on cards posted below them even when the team has access to web based agile project management tools.
The tools encompass requirements management, estimation, planning and reporting functionality and frequently integrate defect tracking and change control also. Offering like Microsoft Visual System Team Studio also combine process guidance, configuration management and time tracking all with the same integrated environment. Beyond the core development team tasks tools are also help track supporting processes. In addition to requirements lists, tools now feature risk lists and impediment lists to be managed as they continue to evolve.
Here's the full paper: