• Ei tuloksia

3. IT PROJECT MANAGEMENT

3.1. What is IT project management

3.1.3. Agile project management

Agile project management is often associated uniquely with software development projects. However, it has spread outside software projects as a consequence of a need for increased flexibility in managing projects.

Completing projects faster is a universal desire of all project managers. Agile does not equal fast, however, speed is a central characteristic for agile project management (Chin 2004, p. 9). In the past years, organizations have become increasingly aware that software is not the only area that could benefit from agile project management practices (Dinsmore

& Cabanis-Brewin 2014, p. 441). Therefore, agile project management is nowadays widely used in all kinds of projects that are managed within a dynamic business environment and have unclear or rapidly changing requirements.

There exists a variety of different agile methodologies, i.e., XP, DSDM, kanban, lean, crystal and scrum. These methodologies share much of the same philosophy and characteristics. Yet, from an implementation standpoint, each has its own practices, terminology and tactics. Scrum is probably the most known and the most widely used agile project management framework. Scrum challenges the traditional sequential way of managing projects, and recognizes that not everything can be planned well ahead. It was inspired by the shortcomings of the waterfall model and it focuses on communication, collaboration and enabling the project team to rapidly respond to emerging requirements.

The Scrum framework is also used in the target organization, and will therefore be described here.

Scrum

Scrum is a formal agile project management framework developed by Jeff Sutherland and formalized by Ken Schwaber. The activities in scrum include sprint or iteration planning, sprint, sprint review, sprint retrospective and scrum meeting. Scrum starts with a sprint or iteration planning, during which the entire scrum team plans the work to be performed in the upcoming sprint. (Rising & Janoff 2000, pp. 30-32.) A sprint normally lasts 2 to 6 weeks and once the sprint begins, its duration is fixed and cannot be shortened or lengthened. The sprint consists of daily scrum meetings, development work, sprint review and sprint retrospective. (Scrum.org 2014.) During a sprint, the work decided in the scrum planning is completed and no changes are allowed from outside the team (Chin 2004, p.

10). Every working day, there is a 15-minute daily scrum meeting, where each member briefly describes their tasks and possible problems. In the sprint review, the current sprint, in terms of tasks achieved, is reviewed and assessed against the sprint goal determined during the sprint planning meeting. The sprint retrospective occurs after the sprint review and prior to the next sprint planning. The sprint retrospective is an opportunity for the team to inspect the working process of the past sprint and suggest improvements for the next. (Dinsmore & Cabanis-Brewin 2014, p. 445.)

There are several roles defined in the scrum framework: the product owner, the scrum master and the development or scrum team. The product owner is responsible for maintaining the correct business perspective and scope. He or she is the sole responsible for managing the project backlog (see below). The product owner prioritizes the items in the project backlog and ensures the project team understands the items. The scrum master works together with the product owner, leads the scrum team and facilitates the scrum events. The scrum master plans the scrum implementations within the organization and makes sure it is understood in the team. The scrum team is self-organizing and

cross-functional. It should contain about seven (+/- two) members for optimal performance.

The team is responsible for building what is needed in the sprint and demonstrating the outcomes. (Scrum.org 2014.)

The artifacts produced in the scrum framework are; the project backlog, the sprint backlog or the iteration backlog, and the burndown chart. The project backlog is a prioritized list of different requirements, functions and features that are required for the project outcome.

The project backlog is dynamic and evolves as the project goes on, and is maintained by the product owner. The sprint backlog or the iteration backlog refers to a set of items from the project backlog that are selected for the current sprint. In addition to these items, the sprint backlog contains a plan for realizing the sprint goal. The team modifies the sprint backlog throughout the sprint, and the final sprint backlog emerges during the sprint. The project burndown chart shows the total work remaining in a sprint and it is used to check the status of the project or deployed product. (Rising & Janoff 2000; Dinsmore &

Cabanis-Brewin 2014.) Figure 3.6 presents the scrum framework described above.

Figure 3.6. The scrum framework

The target organization of this thesis utilizes agile project management methods in certain business units and projects. Their Agile Project Model (APM) is an alternative for the more known waterfall project management model. The APM consists of the roles and iterative methods of the scrum framework, and a well-known portfolio management framework. It has the same decision-making gates and high-level phases as the previously introduced waterfall model. The main difference is in the implementation phase, which is executed in iterations. The projects managed according to the APM fit into a normal project portfolio, as the high level view to the project is similar to the projects that are managed in the traditional way.

The APM used in the target organization is presented in Figure 3.7. It is a framework that combines traditional plan-driven methods with agile thinking and best practices. The

project owner or the nominated product owner creates the project charter (a statement of the scope, objectives, and participants in a project) to have the authority to apply organizational resources to project activities. The product owner creates the project plan and the high-level release plan (roadmap for iterations) based on project requirements.

The high-level release plan is updated and revised throughout the project life cycle. The iteration backlog for iterations 1...N will be generated in the iteration planning meetings.

The product owner is responsible for maximizing the return on investment of the project by prioritizing the work that needs to be done in the agile project team.

Figure 3.7. The Agile Project Model used in the target organization

The project activities include implementation of the current iteration and planning of the coming iterations. The product owner is monitoring and controlling the project status and reports the progress to the project owner and portfolio management group. If appropriate, the deliverables of a single iteration can be deployed in a Go Live. When the project has proceeded to the last iteration, the project deliverables are ready for the user acceptance test. After the user acceptance test is successfully completed, the product is ready for deployment and handover. The portfolio management group is formally authorizing the termination of all project activities based on the final acceptance. A transition to maintenance is completed. The project is evaluated and the lessons learned are documented in order to profit from them in the next projects. Finally, the project team will be released.