Agile Project Management Tore Dybå Invited Talk @XP2015 Helsinki, Finland, 28 th May 2015 Page 1 of 433
About me Academic experience: Chief Scientist at SINTEF, Software Engineering Professor at Univ. of Oslo in Software Engineering Dr. Ing. from NTNU in Software Process Improvement For the period 2001-2012, I was ranked as the top scholar worldwide in agile software development by the Journal of Systems and Software (Chuang et al., 2014) Industrial experience: Consultant in Norway and Saudi Arabia within Information Systems, Software Engineering, and Telecommunications tore.dyba@sintef.no Research interests: Large-Scale Agile and Global Software Development Empirical and Evidence-Based Software Engineering Teamwork and Coordination in Software Development Agile Project Management Biography and publications: http://www.mn.uio.no/ifi/english/people/aca/toredy/index.html http://scholar.google.no/citations?user=sa-tgysaaaaj&hl http://www.informatik.uni-trier.de/~ley/pers/hd/d/dyb=aring=:tore.html 2
Software Process Improvement & Knowledge Management Research areas: Evidence-Based Software Engineering Large-Scale Agile Software Development Global Software Development Agile Project Management 3
Structure of the talk 1. Introduction 2. Project management; Traditional and Agile 3. Principles of Agile Project Management 4. Agile project management at large 5. Summary
Structure of the talk 1. Introduction 2. Project management; Traditional and Agile 3. Principles of Agile Project Management 4. Agile project management at large 5. Summary
Bad management theories are destroying good management practices. Sumantra Ghoshal 6
Traditional project management Largely derives from the linear structure and discrete, mechanical views of the systems engineering and quality disciplines of the 1950s and 1960s. Contemporary project management methods (e.g. PRINCE2) are standardized, process-driven methods, which build on this engineering tradition and that contrast with reactive and adaptive methods such as Scrum. 7
In the past the man has been first; in the future the system must be first Frederick W. Taylor (1911) 8
The future, ideal developer? 9
Agile project management Agile project management requires a different approach, which is adapted to incremental development and the particular strengths of agile methods. At its core, agile project management is about managing the impact of complexity and uncertainty on a project, recognizing: The need for a dramatically shorter time frame between planning and execution. That planning an action does not provide all the details of its implementation. That creativity and learning are necessary to make sense of the environment. Traditional Project Management Agile Principles Agile Project Management Picture: http://www.ambysoft.com/ 10
Traditional vs. agile project management The traditional approach provides a structured framework in which to operate: Initiation Planning Execution Tracking Closing The agile approach performs the same traditional steps, but multiple iterations are used: Execution Initiation Planning Tracking Final closing Closing 11
The iron triangle Picture: http://www.ambysoft.com/ 12
Structure of the talk 1. Introduction 2. Project management; Traditional and agile 3. Principles of agile project management 4. Agile project management at large 5. Summary
Four principles of Agile project management The principle of minimum critical specification The principle of autonomous teams The principle of redundancy The principle of feedback and learning T. Dybå, T. Dingsøyr, N.B. Moe, Agile Project Management, book chapter in G. Ruhe and C. Wohlin (Eds.), Software Project Management in a Changing World, Berlin: Springer Verlag, 2014, pp. 277-300. 14
The principle of: Minimum critical specification This principle is oriented towards the analysis and understanding of the nature of the overall problems: Identify what is critical to overall success Specify no more than what is absolutely essential Keep the use of rules, standards, and predefined procedures to an absolute minimum Focus on the larger system requirements and boundary conditions, leaving as many design decisions as possible to those closest to the work The project s kick-off meeting is crucial 15
In preparing for battle I have always found that plans are useless, but planning is indispensable Plans are nothing; planning is everything Dwight D. Eisenhower You don t lead by hitting people over the head that s assault, not leadership 16
The principle of: Autonomous teams Autonomous, or self-managing, teams bring decision-making authority to the level of operational problems and uncertainties: Members of autonomous teams are responsible for managing and monitoring their own processes and executing tasks They typically share decision authority jointly, For autonomous teams to thrive, it is necessary to build trust and commitment in the whole organization, avoiding any controls that would impair creativity and spontaneity Successfully dealing with this principle, we must understand the context surrounding the team 17
Ron Howard: Apollo 13, 1995. 18
The principle of: Redundancy This principle is concerned with the overlap in individuals knowledge and skills Each member of the team should be skilled in more than one function, making the project more flexible and adaptive With increased redundancy within the team, individuals will find it easier to share new knowledge Cross-trained team members increase the project s functional redundancy and thus the flexibility of the team in dealing with personnel shortages Redundancy is also critical in turbulent environments where people need to work on tasks assigned by priority rather than the competence of team members 19
The principle of: Feedback and learning Without feedback and learning, agile project management is not possible: The focus on project execution rather than on up-front planning, leads to an intertwinement of learning and work, and of problem specification and solution. The complexity and unpredictability of software problems are typical of wicked problems, which are difficult to define until they are nearly solved. To deal with this principle, project activities have to be performed in an iterative and incremental way. 20
21
Structure of the talk 1. Introduction 2. Project management; Traditional and agile 3. Principles of agile project management 4. Agile project management at large 5. Summary
Challenges with large-scale systems How to scale agile methods to larger, longer projects with multiple development teams that perhaps work in different locations and time zones with separate sub-systems that have to communicate? Many interaction requirements hinder flexibility and incremental development. Long development time makes is difficult to maintain coherent teams who know about the system over that period. It is practically impossible to involve all stakeholders in the development process. It is not possible to focus only on the code of the system, more up-front design and system documentation is needed.
Coordination and control mechanisms Standardization of work processes of employee skills of outputs Direct supervision Mutual adjustment Complexity and uncertainty 24
Bent Hamer: Kitchen Stories, 2003.
Slide: Mette Gjertsen, SPK 26 26
Slide: Mette Gjertsen, SPK 27 27
Slide: Mette Gjertsen, SPK 28 28
Big bang vs. incremental delivery http://hdwallpaper.ws 29
Slide: Mette Gjertsen, SPK 30 30
Slide: Mette Gjertsen, SPK 31 31
Perform: Based on the Scandinavian model of collaboration Focus on democracy, participation and (partially) autonomous groups. Management understood as various functions of the organization, but need not be tied to a particular person. The leadership role is aimed at facilitating everyone to get the best possible opportunity to do a good job. Dialog between managers and employees to consider the design of work to be done. Einar Thorsrud 1923 1985 32
Moltke the Elder the Agile General Moltke s theory of war: Detailed planning only for a short and predictable horizon High-level planning for the wider horizon Directives expressing intentions "No plan survives contact with the enemy Perform: Tension between the central management and control, and the need for local autonomy and initiative Master plan: 310 epics (master plan elements) Detailed planning 1-2 sprints "Moltke the Elder 1800 1891 33
Impressions of Perform Steering and control through: Iterations every 3 weeks, with the number of approved user stories as the main parameter Releases 3 4 times each year, to confirm that the quality was good enough for deployment Flexibility through: Revolving planning on 4 levels: Project, release, iteration and day Autonomous teams related to working methods, commitments and expertise necessary to perform the tasks 34
Structure of the talk 1. Introduction 2. Project management; Traditional and agile 3. Principles of agile project management 4. Agile project management at large 5. Summary
Conclusion The challenge in managing agile software projects is to find the balance between upfront planning and learning. Planning provides discipline and a concrete set of activities and contingencies that can be codified, executed and monitored. Learning permits adapting to unforeseen or chaotic events. The two require different management styles and project infrastructure. Projects with low levels of complexity and uncertainty allow more planning, whereas projects with high levels of complexity and uncertainty require a greater emphasis on learning. Chance favors only the prepared mind 36
There s no right or wrong. It s all tradeoffs! Henrik Kniberg, What is Scrum? 37
Questions? Contact me at: tore.dyba@sintef.no 38