Agile Project Management
Agile project management has been in use in software projects over the last number of years, but lately it has been incorporated into many different types of projects such as the military, telecommunications and retail. (Scrum Alliance). This paper focuses on using agile project management techniques in the telecoms industry. Jim Highsmith and Gary Chin are two advocates of agile project management, Highsmith (2004) claimed that the agile project management framework which consists of five phases, each with supporting practices. The five phases are Envision, Speculate, Explore, Adapt, and Close. Each of these phases has to be implemented in order otherwise the project will not strictly follow the agile process. Agile proposes to deal with a project in small development cycles; self managed teams, customer collaboration and iterations. It also proposes to have an end product for testing at the end of each iteration, so the customer or end user can see what direction the project is going. Scrum is a project management framework and is ideally suited for projects with high uncertainty. It is used on some of the world’s largest telecommunications development projects such as British Telecom and Siemens because of its high productivity with distributed and outsourced development teams.
2 What is agile project management?
Agile project management has been defined as short cycles of product development that deliver incremental updates of the product rapidly based on the changing needs of the customer. This methodology is the opposite of waterfall project management, which values extensive planning and pre-production. (Labine, 2010)
The agile approach consists of a number of stages including rapid iterative planning and development cycles allowing a project team to constantly evaluate the project and obtain immediate feedback from users or stakeholders allowing the team to learn from their experiences after each cycle. After the streamlined planning requirements, definition and solution design phase is completed to get the project underway iterations or more detailed planning requirements are created. This allows for immediate modifications of the product as customer views change. Agile project management requires a dedicated full time team including a customer or end users. (Haas, 2007).
Agile project management differs to traditional project management in the approach; agile promotes self managed teams with the project manager taking more of a leaders role rather than a managers role. The main priorities of an agile project manager are to gather all the information from stakeholders and integrate a plan, advise the team of estimates, make decisions, build and sustain a team’s culture and ensure teams stick to the process, customer relationship, check progress and plans and to communicate the teams progress. (Thomas, 2008)
With agile project management both the project team and the stakeholders actively work together to understand and prioritise functionality. The agile project management life cycle can be seen in figure 1. This identifies how the plan, develop, learn and evaluate phases all fit together. Agile management uses an approach with short iterative cycles, they are based on the theory of plan, do, check and act. These cycles happen at different levels, each day, each time box, each release and each project. Agile demands team look at how fast they are progressing and adjust accordingly. Agile management methods are used when the project value is clear and the customer actively participates throughout project. (Thomas, 2008)
Figure 1. Agile project management life cycle model
Agile management concepts
Haas (2007) identified the key elements that provide the basis for agile project management as visual control, co located high performing teams, test driven development, adaptive control, collaborative development, feature driven development, leadership and collaboration, a move from cost to revenue focus and lessons learned.
Vision control assists teams in organising work in projects. Publishing time plans and progress charts allow the team to view the projects the same way and to clearly see where the project is at. Co located high performing teams greatly increases the quality of coordination and communication. Project managers need to have everyone working together in a collaborative manner. Agile teams develop test plans and at the same time they define requirements. If a requirement isn’t testable then it is not fully developed. Adaptive Control tries to have everyone on the team adapting to different situations. The project manager acts a leader not a task manager, they work with the team establishing working relations and setting the team ground rules. Agile team members have to be able to continuously adapt to improve their methods as lessons learned from previous cycles are incorporated into the next iteration. Collaboration is needed among all team members to get the best results from the team, they also need to document feedback and implement learning’s on the next iteration. Feature driven development greatly reduces complexity and allows teams to focus on one feature at a time. Leadership and collaboration rather than command and control facilitate leadership in a team rather than traditional management. The project manager aims to remove and resolve any problems the agile team encounters. The business analysts manage the business benefits of the project and continuously focus the agile team on the business needs. The move from cost to revenue focus features prioritise based on value such as increased revenue to market share. The lessons learned program is completed after each cycle here the teams hold a lessons learned session to determine where improvements can be made for the next iteration. The team adapts to how members work together to improve the team performance. (Haas, 2007)
2.2 Five stages of agile project management
With agile project management the focus is on continuous innovation to deliver project requirements. The product should also be adaptable to facilitate future customer requirements. Agile also strives to have both people and process adaptability to respond rapidly to product and business change. It focuses more on revenue than cost so that that the project supports business growth and profitability.
Highsmith (2009) one of the founders of the agile alliance published, “Agile project management: creating innovative products”, in this he identified five stages of agile project management. Highsmith defined the five stages of agile project management as:
1. Envision: How to determine the product vision, the project objectives and constraints, the project community and how the team work together.
2. Speculate: Developing a capability and or feature based release plan to deliver on all aspects of the vision
3. Explore: To plan and deliver project running tested stories in a short iteration, constantly seek to reduce the risk and uncertainty of the project.
4. Adapt: Review the delivered results, the situation and the teams’ performance and adapt as necessary.
5. Close: Conclude the project, pass on the key learning’s’ and celebrate.
This phase creates a vision for the project team that covers what, who and how. If there’s no vision phase, this means that the rest of the properties of agile project management are a wasted effort. The envision phase is a critical success factor early in any project. Team members need a vision to determine who will be involved, customers, members, management, stake holders and envision how to work together as a group. The purpose of the envisioning phase is to clearly identify what is to be done and how work is to be accomplished. The envision stage has four practices, product vision, project objectives and constraints, project community and approach. Product vision allows member of the team to fully understand their project. Teams should have a clear product vision and the product vision should be revisited regularly. Project objectives include a project data sheet, this is a single-page summary of key business and quality objectives, product capabilities, and project management information. A project data sheet contains clients, customers, project leader, product manager, executive sponsor and the project objective statement. The project objective statement includes the capabilities, quality objectives and risks that can impact on the project. The project community includes getting the right people for the job. In Agile project management the team members need to have an appropriate technical ability, be team players and be self disciplined. The final step in the product vision stage is how the team will deliver the product, between working as a team with developers and major stakeholders in the project. For large projects a meeting is usually needed to discuss the product vision. After the envision phase the team has reviews to ensure they fully understand the vision. (Highsmith, 2009)
Speculate: The speculate phase consists of gathering initial based requirements for a product and defining a workload as a backlog of product features. In the speculative phase, the team design their iterations. Iterations are the planned stages of work in the project and each iteration has a timeline and a plan. The agile plan is to have a product at the end of each iteration. This would involve the stories, tests, and documentation being packaged to be deployed. Iterations are used to concentrate on small pieces of work that depend on the type of project being completed. Estimating project costs and generating administrative and financial information are also done in this phase. Within the speculate phase plans have to be able to adapt to change as customers understanding of their requirements change, work efforts vary and people can leave or join teams. This phase establishes a target and a direction for the team. During this phase the team should have an understanding of the product structure, and the release plan. Agile project speculating helps the project team to answer some of the following questions.
Determine how the product and its features will evolve in the current release
Balance anticipation with adaptation as the project unfolds
Focus on the highest-value features early in the project
Think about the business goals, project objectives, and customer expectations
Provide necessary cost and schedule information to management
Coordinate interrelated activities and features across teams
Consider alternatives and adaptive actions
Provide a baseline for analyzing events that occur during the project
Explore: Agile project management focuses on agile leaders tasks of creating self organising, self disciplined teams that deliver products. Iteration management covers planning and management during iteration cycles. The main explore activities are iteration planning and monitoring, technical practices and project community. Iteration planning and monitoring consists of three main activities: iteration planning, workload management, and monitoring iteration progress. The primary responsibility for managing this work lies with the iteration manager. The iteration manager may also facilitate meetings such as retrospectives held at the end of each iteration, several practices can be applied generically to many types of products-both hardware and software. These generic technical practices are driven by the desire to keep quality high and the cost of change low. The four most common technical practices are simple design, continuous integration, ruthless automated testing, and refactoring. (Highsmith, 2009)
Adapt: In the adapt phase the results are reviewed from customer, technical, people and process performance, and project status perspectives. The analysis looks at the actual versus planned project. The results of adaptation are fed into a re-planning effort to begin the next iteration. After the envision phase, the loop will be speculate, explore and adapt with each iteration successively refining the product. Control and correction are common terms applied to this phase. Plans are made, results are monitored and corrections are made implying what plans were right and the actual results. Adapt implies modification or change rather than success or failure. In agile project management responding to change is more important than following a plan. (Highsmith, 2009)
Close: Projects are partially defined by the presence of both a beginning and an end. The key purpose of the close phase is the learning and the incorporation that learning into the work of the next iteration or passing it on to the next project team. This phase is the final step in the project, and is often overlooked. Finalising documentation, support material release notes and financial material all have to be tidied up before a project can close. In software projects the project is usually archived for safe keeping. In agile project management when closing a project it is important to have a project retrospective. This helps the team learn about its dynamics and intra team learning activities. It also allows the team to talk about what went well in the project and where it hit obstacles. (Highsmith, 2009)
3 Scrum project management
Scrum project management approach embraces the agile iterative and incremental practices. Scrum can be used on projects of any size. It can manage XP projects, where XP projects uses customer on site with this the project team can be sure they are creating what the customer wants. SCRUM is revolved around simplicity, resulting in the delivery of a product that moves the project forward. It works on small pieces of the project at a time, these are known as iterations. Each iteration consists of some requirements gathering, analysis, design, development and testing combining to create an iterative release cycle. (Murphy, 2004)
Scrum has three defined roles, the product owner, scrum master and the project team. The product owner is generally the product manager. The scrum master is the project manager or team leader. They enact scrum values and practices. They are responsible for issues that may hold up the project. The project team should consist of between 5-10 members. The team should include cross-functional team members, involving individuals from a multitude of disciplines including designers and developers.
The scrum product backlog records the project requirements that are defined by the product owner. The project team creates a sprint backlog that comprises of product backlog items that they believe can be completed in a thirty day period. After thirty days the team should have a shippable product. (Murphy, 2004)
The product owner, scrum master and the project team make rough estimates of how long each item will take. This SCRUM process can be seen in figure 2.
Figure 2 – The Scrum Process
Scrum daily meetings are time limited, the daily Scrum meeting is typically confined to 15 minutes. Only extraordinary projects should require more than 15 minutes. The purpose of the Daily Scrum meeting is to answer Scrum’s three questions:
What did you do yesterday?
What will you do today?
What obstacles are in your way?
At the end of each sprint, a sprint review meeting is held. Again this meeting is time boxed. The team presents what they have developed during the sprint to the product owner. after the sprint review and prior to the next sprint planning meeting the scrum master holds a sprint retrospective meeting with the team. The scrum master encourages the team to revise within the scrum process framework and practices, its development process to make it more effective for the next sprint. (Murphy, 2004)
4 Agile project management in the telecommunications industry
Agile methods like Scrum can be applied to any project to help deliver improved results. (Mac Iver, 2009). Many telecommunications companies utilise scrum techniques. This can be seen in the case study at TechCore. (Schwaber, 2004). Previous to the implementation of scrum the company could not see its priorities. By creating a product backlog this allowed the company to see that revenue could be made by focusing attention on product development. Within four months of implementing Scrum, the company had achieved its goals and the company prospects had improved. Before the implementation of scrum, TechCore had day log review meetings where the manager would impart his knowledge and direction to the development engineers. These meeting often went off track taking up the full team’s day. With scrum the manager got involved in daily scrum meetings, with this they identified that teams weren’t taking and individual problems were holding up the project. As each engineer reported his or her status, Michel the project manager saw that if he focused his attention on product development, he could expedite design decisions, ensure that the correct path was taken, and actually get involved in the critical business of his company. He focused his efforts on helping the team with its short-term problems, which were all related to preparing the subsystem for the show. The daily scrum meetings also highlighted supply chain problems where engineers were waiting for component deliveries. Once this problem was identified the project manager employed two junior engineers to work with supply chain to identify and source components as quick as possible so there was no delay to the project and it freed up senior engineers time from dealing with these smaller matters. (Schwaber, 2004). The scrum project management technique has also been used in a nationwide WAN upgrade project as seen in Appendix 1, this project involved upgrading up to four hundred sites all over Ireland, each site needed new network equipment installed including routers and switches and all sites had to be visited individually. All network equipment had to be configured before the site visit. This was one of the biggest projects undertaken by the project manager interviewed in Appendix A. By implementing Scrum the team of six people, the scrum master and the project manager all had a clear and concise understanding of what was happening at any given time. The teams were split up into three groups of two pairs. With this the project manager hoped that the pairs would work together in both configuring and installing the network equipment. The map of Ireland was divided into geographical sections, these sections were each going to represent a sprint, which would take approximately five weeks to complete. Each area was then assigned to a team. The first week of the sprint all staff were office based, configuring network equipment, for the remaining four weeks of the sprint the three teams were on site. Daily sprint meetings were held in the office which was ideal, as all members shared an office, these meeting were quick, clear and concise, covering what has been done today, what the plan for the rest of the day was and if there were any problems holding up the project.
Once the teams were on site, a quick conference call between the teams and the scrum master covered the daily sprint meeting. With this the teams were always in contact and could share problems, solutions and new ideas. The main problem the teams ran into was if a team member was off work due to holidays or sick leave, where this happened, the scrum master could easily fit into any of the three teams, and carry out the work of the scrum master and the technician on the ground so that the project could stay on target for the specific dates that were outlined in the scrum backlog at the beginning. He identified that this may not be ideal in other SCRUM projects, but it works in this situation. At the end of the five week cycle the team and mangers would have a sprint review meeting, in this they identified where they were seeing recurring problems, what extra equipment or tools were required and how the process could run more smoothly.
After the first sprint review meeting all three teams had small problems but improvised to complete what they had planned to do. During the sprint retrospective each team had different problems including faulty network equipment, lack of tools and no access to the communications room in buildings, once these were identified the scrum master found solutions to them and the same problems didn’t reoccur.
After researching this topic, there is not a lot of documentation of agile project management in the telecoms industry. Companies such as BT and Siemens have successfully implemented agile techniques into their software development teams, but they have not documented using agile in implementing their telecoms projects. One case study completed at Techcore an American telecommunications company (Schwaber, 2004) that has successfully implemented agile project management; from this case study before the implementation of agile the CEO of the company was trying to run all aspects of the company but was failing miserably. Once agile methodologies were implemented it became evident where and why their projects were failing as the CEO was trying to run all aspects of the company at the same time, and no are was given priority over any other. The development of the product backlog and the implementation of daily SCRUM meetings proved to be beneficial from day one. SCRUM also identified where time was being lost in the procurement of components as engineers were often left waiting for equipment resulting in the project being held up.
The interview with the project manager from Appendix A also identifies how implementing SCRUM in a telecoms project was a success and the results were obvious very early on in the project. In this WAN upgrade project, the project managers implemented SCRUM, split the team of six into pairs, designed a product backlog, separated the project into sprints, held daily meetings as well as sprint review and sprint retrospective meetings. The project is still ongoing but as of this moment both project managers and senior managers have identified this project as a success. If agile is implemented in stages covering the envision, speculate, explore, adapt and close phases identified by Highsmith, the project proves to be successful, but if any of the five processes are missed the project may not prove to be as successful.Order Now