8
3GAMMA INSIGHTS AGILE & PRINCE2: THE BEST OF BOTH WORLDS Tony Davis

Agile and PRINCE2 - The Best of Both Worlds

  • Upload
    3gamma

  • View
    35

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Agile and PRINCE2 - The Best of Both Worlds

3G A M M A I N S I G H TS

AGILE & PRINCE2: THE BEST OF BOTH WORLDS

Tony Davis

Page 2: Agile and PRINCE2 - The Best of Both Worlds

Taking the right approach in project and programme management is often half the battle. Wise choices early on can set you on a course to success. However, an inappropriate choice can leave you wasting valuable time. In this white paper we use a recent project to explore the pros and cons of using agile and waterfall methodologies, and highlight the advantages that can be had from adopting an agile development approach, but supported within an overall PRINCE2 framework.

May 2015

Page 3: Agile and PRINCE2 - The Best of Both Worlds

BACKGROUND TO THIS CASE STUDYAimia is a global leader in loyalty management running loyalty programmes for some of the most visible global brands including Sainsbury’s. 3gamma works with Aimia helping deliver a multi million pound portfolio of projects. This white paper references a development project for the Nectar brand that delivered a cost effective way to integrate systems and bring together data and content — creating value for collectors and partners, promoting innovation and opening new revenue sources. The project used an agile methodology, including Kanban, within a PRINCE2 pro-ject management environment to develop Open APIs (Applica-tion Programming Interfaces) for the Nectar Loyalty platform.

ABOUT THE AUTHORTony Davis has over 20 years experience as a senior IT Project Manager managing IT Infrastructure, Network Security and Sys-tems & Business Transformation projects.

WATERFALL AND AGILEThe traditional approach to managing projects is to use a ‘water-fall’ model — a sequential, document driven process in which progress is seen as flowing steadily downwards like a waterfall through concept, initiation, analysis, design, build, test, imple-mentation and support/maintenance. It originated in the heavy industries producing physical deliverables where there was little scope for change during the process. It depends on a strong initial brief and a detailed understanding of the requirements.

Although some would argue differently, PRINCE2 is generally viewed as a waterfall approach with sequential stage gates that strive to get to a clearly defined, fixed scope of work, with detailed designs and estimates, before embarking on develop-ment or implementation. It has a strong emphasis on project

controls that support and enforce the methodology.

Agile is an iterative, collaborative process that is responsive to change, allowing for continual adaptation of the brief and response to user experience. It seeks to harness the knowl-edge, experience and creativity of the users of the solution as well as those developing it — supporting the way that reactive businesses work. Implemented correctly, it delivers quickly, yet robustly, in increments to gain an early return on investment.

Two common approaches to agile are Kanban and scrum. The key differences are summarised in the table on the next page. We used the Kanban approach rather than scrum sprints. The team had previously tried sprints but experienced unstable velocity as we were working within a very dynamic environment with changes requested mid-sprint. Kanban provided us with more flexibility because of its continuous process.

THERE IS MUCH DEBATE ON THE RELATIVE MERITS OF DIFFERENT APPROACHES TO MANAGING PRO-JECTS, PARTICULARLY AGILE VERSUS WATERFALL. MANY ARE ARDENT ADVOCATES OF ONE OR THE OTHER. HOWEVER, KEY TO SUCCESS IS TO UNDERSTAND THE PROS AND CONS OF EACH APPROACH AND HOW THEY ‘FIT’ WITH THE PROJECT IN HAND.

3

WATERFALL

Is best for projects when: But has some downsides:

Good understanding of requirements exists and change is not volatile

Requires a lot of work up front to define scope and schedule before work begins

Delivering physical objects e.g. construction or computer hardware Scope changes can be slow and get progressively more expensive as the project progresses

Work must be completed in a specific sequence e.g. bridge supports before the deck

If the project is cancelled, early money and resources will have been consumed but no usable value delivered

The team is distributed and hence control via defined deliverables, milestones and dependencies is appropriate

Distributed teams communicating through documentation can reduce collaboration

Specific resources have limited availability so their input needs to be focused over a short timescale

Less effective if detailed requirements are not known or are subject to frequent change e.g. responding to a volatile market or in fast

paced markets

Plans are repeatable for identical or similar projects A strict change control process is required to avoid ‘scope creep’

Page 4: Agile and PRINCE2 - The Best of Both Worlds

4

AGILE

Is best for projects when: But has some downsides:

The detailed requirements are unknown or subject to change Difficult to reconcile with business desire for fixed price, time and scope contracts

The ability to make quick course corrections based on stakeholder feedback is necessary

Uncertainty around scope and schedules can make stakeholders nervous if not familiar with the approach themselves

The deliverables are adaptable and readily modified Fluid nature of backlog refinement can make change difficult to track and manage

An iterative delivery approach is appropriate Less effective if the ‘team’ is distributed

The team is co-located and can work in a collaborative, creative and efficient way Requires vigilant management and prioritisation of the backlog

Early return on investment by regular delivery of usable capability is necessary

Can result in a poorly structured solution if some early framing architectural design work is not carried out first

was monitored, measured and reported using Jira. We moni-tored cycle time and looked to improve throughput. 4. Make policies explicit. We used Jira to publish standards for how we documented and developed stories, including agreed acceptance criteria. The test team had a set of agreed use cases for functional, performance and security testing. Jira integrated with Bamboo, an automated deployment solution used by Pro-duction Support to deploy the new functionality.

5. Implement feedback loops. Through our daily stand-ups (as well as across the desk) the team fed back to each other. In addi-tion, we received input from the business, Production Support and Account Management on behalf of our customers at the meetings.

6. Improve collaboratively, evolve experimentally (using models and scientific method)We ran lessons learnt sessions, tracked improvement through the statistics that Jira provided us and ran other ad hoc work-shops. One particular was on the ‘Theory of Constraints’ (the

THE SIX PRINCIPLES OF KANBANKanban was developed by Toyota to improve productivity. Essentially there are six principles that need to be applied for an implementation of Kanban.

1. Visualise. We used the software tool Jira to provide a visual representation of the workflow so everybody could see where we were and could understand the impact of change.

2. Limit work in progress. The work was split down into user stories capturing the ‘who’, ‘what’ and ‘when’ of the require-ments in a simple concise way. For our project, the capacity was an agreed number of stories allowed for each step in the workflow dependent on resources available. With experience the team became adept at breaking down work into stories of consistent, manageable size. This allowed us to take advantage of the pull system — when a later step had capacity, it pulled the next piece of work from the previous step.

3. Manage flow. Each transition between steps in the workflow

KANBAN SCRUM

Continuous delivery, does not assume you can fit everything into a sprint

Time-boxed sprints, good for supporting committed time constraints

Work is ‘pulled’ through the system (single piece flow) Work is ‘pulled’ through the system in batches (the sprint backlog)

Changes can be made at any time with agreement No changes allowed within the sprint

Measure cycle time Measure velocity

Developed from operational environments and deals well with high degree of variability in priority

More appropriate in situations where work can be prioritized in batches that can be left alone

Page 5: Agile and PRINCE2 - The Best of Both Worlds

rity Analyst, Developers, Production Support, Functional, Perfor-mance and Security Testers — all working in a very collaborative way. Most of the team sat together except for one member who was located off-shore. Everybody attended a daily 15 minute stand-up, either personally or via video conference. We had the shared goal of progressing stories through our delivery process. Every day we checked how things were going and if there were any bottlenecks the whole team focused on what could be done to release them.

Sustainable development environment. There are many exam-ples of large software projects going massively over budget and time, or just not delivering what the business expected. The teams can come under pressure to work harder, cut corners etc. With an agile methodolgy and frequent delivery schedule we had all the statistics about the duration, effort and cost for each step in the process that a story went through. This enabled the business architects to size up and cost stories so we became better and better at estimating. Hence when the business came up with a new or changed requirement it was relatively easy to determine the impact and have the business state the priority, allowing us to respond with a realistic overall plan.

Our Kanban process was key to this. Jira helped us manage the process and produced statistics for keeping track of ‘cycle times’ (how long it takes for a story to successfully go from end to end), with a mean and standard deviation so we easily could see how we were doing and take steps to hold a good pace, and also look for opportunities to improve by working smarter, not harder.

Continuous improvement. We worked on small, discrete pieces of work at a time, each of which delivered working functionality. When we came to subsequent pieces of work we had the knowl-edge of recent deliveries fresh in our minds and the business had up to the minute experience with using it.

We also had continuous visibility of our cycle time statistics. Hence we were in a great position to get together and brain-storm the best way to approach the next bit of work, focusing all of our respective views. These were often only 15 to 30 minute workshops but at the end we could bring our product owner in, go through what we had come up with, and get an instant decision which items we could then progress with. After each release we did a quick lessons learnt to see what went well and what we could improve upon.

“These were often only 15 to 30 minute workshops”

Trust and relationships. This worked at two levels. Externally, through our frequent communications, regular delivery of

5

study of bottlenecks). This was a very hands-on exercise that awakened us to vulnerabilities in the team e.g. what would happen if someone was ill for a long time? We followed up this workshop with another one to investigate how we could cover for each other. This in turn led to further training and skills transfer between particular staff that we put into practice over the holiday season. We accepted that there would be a drop in productivity and allowed for this in our plans.

OUR BENEFITS FROM USING KANBANWe had significant benefits by using Kanban for the project.

Early return on investment. We provided early return on invest-ment for Nectar, our sponsors and partners by delivering usable functionality on a monthly cycle, with an intermediate fort-nightly release if necessary. However, to achieve this required close co-operation with the business to prioritise the work into small manageable pieces of work with clear and agreed accept-ance criteria.

We also required the business to be an integral part of the pro-ject undertaking an active role. The role of Product Owner was key to this. This was a senior, empowered specialist with appro-priate authority and responsibility within the business who set the vision, prioritised the work, arbitrated on requirements and was available for consultation and decisions.

An ability to respond quickly to the business’ changing needs. With a conventional ‘waterfall’ project the business would have had to predict many months in advance exactly what they would need in great detail. With the agile approach we used the concept of “just enough design”. The stories were identi-fied in broad terms initially, prioritised using MoSCoW (Must, Should, Could, Won’t have this time) and a budget and timescale established. The stories were only analysed and specified in detail immediately before the developers were ready for them. The business were able to make early use of the developing solution. This often resulted in them changing their views on later stories or indeed deciding that they would like changes to stories already delivered. This is no problem for an agile project. The buffer of stories feeding the project was just re-prioritised and no time was wasted.

Reduced risk. With agile projects the overall time, cost and qual-ity are fixed and the scope is allowed to to vary. With frequent delivery of relatively small increments of working scope, there was never that much at risk. The business could stop a project and still have working functionality delivered. If a waterfall project is stopped part way through there may only be whatever documentation has been produced and nothing usable to show for the investment.

Increased productivity. The team comprised: Product Owner, Team Leader/Coach, Business Analyst, Technical Architect, Secu-

Page 6: Agile and PRINCE2 - The Best of Both Worlds

6

working solutions and response to evolving requirements, the business and our management developed trust in us.

Internally, the joint ownership and collaboration within the team were key. They challenged each other if opinions differed, but in a very constructive manner, as they also supported each other totally.

There was one example where a team member raised a par-ticularly difficult issue which was holding up progress. I’ve seen other projects where the response would have been that it was his problem and other members would have backed away as long as no blame could attach to them. With this team they all looked to either provide advice or see how they could contrib-ute to a solution. It can’t have taken more than 10 minutes and was a joy to behold.

One thing to understand as a project manager working with a well performing team is that the role is to manage the big picture, external dependencies, senior stakeholder engage-ment, the overall plan and budget. The team leader and project manager were there to observe and support (both worked on multiple projects). Essentially the project manager was focused 80% external (dependencies, budgets, resourcing and overall plans) and 20% internal, whilst the team leader was the reverse (primarily in a coaching role). We focused on dealing with factors that could impact the team’s productivity and made sure the business kept their priorities up to date.

Initially it takes time to train and develop such a team. This is where all involved need appropriate agile training, stakeholders included. There are agile courses available for all levels. If stake-holders take the wrong mental attitude to dealing with an agile team, their expectations could be contrary to the agile approach and this could lead to a breakdown in relationships and success.

Motivated and engaged team. The pride and commitment of the team kept things going effectively. As a project manager of an agile team it is important to recognise that the knowledge workers within the team have the greatest understanding about their work and are best qualified to plan and organise it. Hence, together with the product owner, we set a broad strategy of which stream of stories we should target for each release. We had contractual commitments to get other streams completed by further particular release dates. The team, under the team leader, worked together to confirm that this was viable and how they should organise the work to achieve it.

AGILE AND PRINCE2The standard PRINCE2 processes were used to provide theoverall framework for managing the project. The Startup and Initiation stages were still used to give the project its overall structure and governance. Likewise the Closing A Project stage was there to complete the loop and the check back to the initial

THE KANBAN BOARD

The work was managed in a series of swim-lanes. From top to bottom they were:• Expedite/blockers: These items take priority over

all others.

• Time sensitive work items: e.g. items with a con-tractual commitment to a delivery date

• Bugs, tasks and user stories with an external dependency: Where there was an external dependency e.g. infrastructure or a deliverable from another team.

• Release preparation: We delivered a release to production every two weeks. A separate story was created a few days before go-live, gathering up all the stories that were ready i.e. in Publish.

• Bugs, tasks and user stories: Standard work that was wholly within the team’s responsibility.

Principles applied:• The work flowed from left to right through a

number of process steps, each having set Work in Progress limits and was delivered when ready.

• To maintain resource utilisation we had buffer steps (Ready and Development Complete). How-ever, if these started to build up we knew we had a problem and looked to increase capacity down-stream. This was part of the collaboration and multi-skilling we instituted e.g. we could switch a developer into test as long as they were not test-ing their own code.

• The board was in Jira; clicking on a story opened up the detail. The whole team had access to the stories which included sub-tasks for each skill. As they progressed there was the ability to comment so it encouraged collaborative working.

Page 7: Agile and PRINCE2 - The Best of Both Worlds

7

goals and benefits outlined at the start. The agile approach operated within the Managing Product Delivery stage, as indi-cated in the diagram below. Some of the elements of PRINCE2 were applied in a “light” way as there was only a need for “just enough” planning and design. However, this framework and its documents gave the business the high level visibility

and control it wanted in order to have confidence in thegovernance. In addition, the infrastructure elements of the pro-ject were delivered using a more traditional waterfall approach and also sat within the Managing Product Delivery stage. Agile and waterfall approaches were therefore used within the project as the different needs played to their respective strengths.

Close Project

Direct Project (Sponsor & Project Board)

Controlled Start-Up Control Stage

Work package oversight;Monitoring & Reporting;Budget/Finance Tracking;Risk & Issue Management;

Prince2 Process

“Light” Prince2 Process

Agile/Kanban Process

Team Lead Non-Agileteam(s) using standardwork packages

Manage Product Delivery

Start upProject

PM PM PM

SB

SB

InitiateProject

Planning

PMPM

PM SM TA BA DEV TEST

Team Lead - Agile Team:

Key

PM

PO

SM

TA

BA

SB

WP

PB

DEV

TEST

Notes: “Light” Prince processes are to reflect that there is “just enough” planning and design up front. Detail is left to the Kanban process. Further the Agile team is largely self managing so ‘Control Stage’ is light.

Project Manager

Project Owner

Scrum Manager

Tech Architect

Business Architect

Developers

Testers

Work Package

Product Backlog

Manage StageBoundary

MANAGING AN AGILE PROJECT WITHIN PRINCE2

CONCLUSIONThe nature of our business is that it is constantly evolving. In such an environment we can’t spend time going through an extended specification, high level design, detail design, build, test and then deliver on a large scale. What we would deliver might have been fine if it had gone live 6 months ago but may be useless now. Having said that, there is still a place for the waterfall approach where it is appropriate or necessary as described earlier. Using an agile approach enabled us to be very responsive to business needs whilst the PRINCE2 elements meant we did so without losing control and discipline. However the agile approach only works if everyone understands and is committed to fulfilling their respective roles in an agile way.

Page 8: Agile and PRINCE2 - The Best of Both Worlds

ABOUT 3GAMMA3gamma is a leading professional services firm focusing on IT management. As an independent specialist in IT management, 3gamma provides advisory, consulting services and fact-based insights to many of the world’s most respected companies. 3gamma operates globally from offices across the Nordics and UK. 3gamma is a knowledge firm that bases its expertise of six core capabilities:

• IT strategy and governance

• IT sourcing lifecycle

• IT legal advisory

• IT risk and assurance

• IT operational excellence

• IT project management and delivery

3gamma Insights brings leading-edge thinking at the intersection of IT and business, illuminating central topics relevant to CIOs and decision makers.

GROUP HEAD OFFICE3gamma Sweden ABDrottningtorget 5SE-411 03 GöteborgSwedenPhone: +46 31 309 7910

STOCKHOLM3gamma Sweden ABDrottninggatan 92-94SE-111 36 StockholmSwedenPhone: +46 8 748 0330

DENMARK3gamma ApSFrederiksborggade 15DK-1360 Copenhagen KPhone: +45 53 700 400

MALMÖ3gamma Sweden ABWTC TeknikportalenSkeppsgatan 19SE-211 19 MalmöSwedenPhone : +46 40 627 04 05

UNITED KINGDOM3gamma UK LtdRiver Court,3 The Meadows Business ParkStation Approach, BlackwaterSurrey GU17 9ABLUnited KingdomPhone +44 192 879 6800

UNITED KINGDOM3gamma LtdManchester Business Park3000 Aviator WayManchester M22 5TGPhone +44 192 879 6800

FINLAND3gamma OYSentnerikuja 2FI-00440 HelsinkiPhone +358 50 3 748 371

3G A M M A I N S I G H TS