Call for Tender for Application Development and Maintenance Services



Similar documents
Waterfall to Agile. DFI Case Study By Nick Van, PMP

MM Agile: SCRUM + Automotive SPICE. Electronics Infotainment & Telematics

Roles: Scrum Master & Project Manager

Agile extreme Development & Project Management Strategy Mentored/Component-based Workshop Series

The Agile Manifesto is based on 12 principles:

Statistics New Zealand is Agile Continued Implementation of AGILE Process at Statistics NZ

Agile Scrum Workshop

The style is: a statement or question followed by four options. In each case only one option is correct.

Agile Information Management Development

AGILE & SCRUM. Revised 9/29/2015

Agile Project Management and the Real World. Emily Lynema DLF Fall 2010 November 1, 2010

How to optimize offshore software development with Agile methodologies

CSSE 372 Software Project Management: More Agile Project Management

Introduction to Agile and Scrum

Applying Agile Project Management to a Customized Moodle Implementation

Agile Metrics. It s Not All That Complicated

Using the Agile Methodology to Mitigate the Risks of Highly Adaptive Projects

When is Agile the Best Project Management Method? Lana Tylka

Leveraging Agile and CMMI for better Business Benefits Presented at HYDSPIN Mid-year Conference Jun-2014

Scrum Guidelines. v W W W. S C R U M D E S K. C O M

Moving your development to the Cloud using Visual Studio Online

Capstone Agile Model (CAM)

Software Development. Overview.

SESSION 303 Wednesday, March 25, 3:00 PM - 4:00 PM Track: Support Center Optimization

Agile Project. Management FOR DUMME&* by Mark C. Layton WILEY. John Wiley & Sons, Inc.

Certified ScrumMaster (CSM) Content Outline and Learning Objectives January 2012

SCRUM BODY OF KNOWLEDGE (SBOK Guide)

Sometimes: 16 % Often: 13 % Always: 7 %

Agile Software Development with Scrum. Jeff Sutherland Gabrielle Benefield

Scrum In 10 Slides. Inspect & Adapt

Agile Software Development Methodologies and Its Quality Assurance

Scrum vs. Kanban vs. Scrumban

Certified ScrumMaster (CSM) Content Outline and Learning Objectives January 2012

Scrum and Kanban 101

HP Agile Manager What we do

Agile Practitioner: PMI-ACP and ScrumMaster Aligned

IMQS TECHNOLOGY AGILE METHODOLOGY

Using Story Points to Estimate Software Development Projects in the Commercial Phase

IBM Rational Software

Agile Project Management and Agile Practices Training; with a Scrum Project that you will do.

Agile Software Development. Stefan Balbo / Patrick Dolemieux

Course Title: Planning and Managing Agile Projects

Project Management. Chapter. A Fresh Graduate s Guide to Software Development Tools and Technologies

IT4304 Rapid Software Development (Optional)

D25-2. Agile and Scrum Introduction

Agile & PMI Project Management Mapping MAVERIC S POINT OF VIEW Vol. 7

Product Development: From Conception to Execution. Slide 1

FogBugz & Kiln. Tools for Software Teams From the Makers of Stack Overflow and Trello. Fog Creek Software

Jukka Mannila KEY PERFORFORMANCE INDICATORS IN AGILE SOFTWARE DEVELOPMENT

ScrumMaster Certification Workshop: Preparatory Reading

EXIN Agile Scrum Foundation

SECC Agile Foundation Certificate Examination Handbook

Driving Quality Improvement and Reducing Technical Debt with the Definition of Done

Agile Project Forecasting Techniques. "Who Says You Can't Plan Agile Projects?" Matt Davis, PMP, MCITP October 21, 2013

Lean QA: The Agile Way. Chris Lawson, Quality Manager

Scrum. SE Presentation. Anurag Dodeja Spring 2010

26 May 2010 CQAA Lunch & Learn Paul I. Pazderski (CSM/CSP, OD-CM, CSQA) spcinc13@yahoo.com Cell: AGILE THROUGH SCRUM

The Agile Project Manager

Agile Power Tools. Author: Damon Poole, Chief Technology Officer

Managing Agile Projects in TestTrack GUIDE

Agile Development with Jazz and Rational Team Concert

TSG Quick Reference Guide to Agile Development & Testing Enabling Successful Business Outcomes

2015 IBM Continuous Engineering Open Labs Target to better LEARNING

Building Software in an Agile Manner

CSPO Learning Objectives Preamble. Scrum Basics

Scrum includes a social agreement to be empirical as a Team. What do you think an empirical agreement is?

References: Hi, License: Feel free to share these questions with anyone, but please do not modify them or remove this message. Enjoy the questions!

Evaluation of agility in software development company

How to manage agile development? Rose Pruyne Jack Reed

Scrum vs. Kanban: 6 Tips for Choosing the Right System

How To Plan An Agile Project

A Viable Systems Engineering Approach. Presented by: Dick Carlson

Introduction to OpenUP (Open Unified Process)

Demand & Requirements Management Software Development QA & Test Management IT Operations & DevOps Change Management Agile, SAFe, Waterfall Support

CHAPTER 3 : AGILE METHODOLOGIES. 3.3 Various Agile Software development methodologies. 3.4 Advantage and Disadvantage of Agile Methodology

The Agile PMO. Contents. Kevin Thompson, Ph.D., PMP, CSP Agile Practice Lead cprime, Inc E. Third Avenue, Suite 205 Foster City, CA 94404

2015 Defense Health Information Technology Symposium Implementation of Agile SCRUM Software Development Methodology

From Agile by Design. Full book available for purchase here.

IMPLEMENTING SCRUM. PART 5 of 5: SCRUM SUCCESS METRICS

Secrets of a Scrum Master: Agile Practices for the Service Desk

Course Title: Managing the Agile Product Development Life Cycle

Quality Assurance in an Agile Environment

LEAN AGILE POCKET GUIDE

EXIN Agile Scrum Foundation. Sample Exam

serena.com An Introduction to Agile Software Development

Introduction to Agile Scrum

Integrating Scrum with the Process Framework at Yahoo! Europe

Certified ScrumMaster Workshop

There are 3 main activities during each Scrum sprint: A planning meeting where: the Product Owner prioritizes user stories in the product backlog

Improving Project Governance Using Agile and Metrics. Kevin Aguanno PMP, IPMA-B, MAPM, Cert.APM

Atomate Development Process. Quick Guide

Introduction to Agile Software Development Process. Software Development Life Cycles

Kanban vs Scrum Making the most of both

Secure Code Development

Transcription:

ADM Partners Reference #: 100001200 Call for Tender for Application Development and Maintenance Services Annex 2 - Agile Application Development and Maintenance Appendix A - OECD s Agile Practices and Guidelines 0

Contents 1. INTRODUCTION... 2 2. CONTEXT... 2 3. VALUES AND PRINCIPLES... 2 3.1 GENERIC PRINCIPLES... 3 4. FRAMEWORK OF PRACTICES... 3 4.1 A SCRUM-BASED PROJECT LIFE CYCLE... 3 4.1.1 Global process... 3 4.1.2 Estimations... 4 4.1.3 Continuous improvement... 5 4.1.4 Team structure and organization... 5 4.2 AGILE ROLES DEFINITIONS AT OECD... 6 4.3 AGILE ARTIFACTS... 6 4.4 INDICATORS... 6 5. COMMON TOOLBOX... 8 5.1 BACKLOG AND MANAGEMENT... 8 5.2 CONTINUOUS INTEGRATION... 8 5.3 OTHER COMMON TOOLS... 8 1

1. Introduction This paper proposes a synthesis view of current agile practices in the IT department at the OECD. The document is the result of several workshops and consultations with IT department team members that took place since September 2014. It describes the OECD state of work in term of Agile adoption by focusing on main shared principles, practices and tools. 2. Context OECD has chosen to orient its project organization on agile methodologies for most of its internal IT projects, the motivations for this choice are: To preserve knowledge and skills of core business solutions inside OECD To be able to very quickly react to change To drive projects continuously by business value at all levels To be stay focused on end users requirements and feedback To promote innovation The context for each of the OECD IT teams is different: Different by scope and nature of work to be realized: development, bug fix, integration, setup, installation Different by the structure of team: different team size and localization Different stakeholders, business users and cultural differences: different business involvements, team history and individual background This various contexts deeply influence projects organizations and processes. Despite these differences, teams have developed common practices about project management and organization around agile methodologies. Obviously the maturity level of each team is very various but the recent work on formalization and convergence enabled to identify a common set of target practices and tools. The global adoption of all this tools and practices is ongoing, each team evolve at his own rhythm according to their constraints and priorities. The definition of this target framework will evolve continuously in a logic of continuous improvement. 3. Values and principles Much more than adopting a strict agile methodology, the OECD teams adhere to core values of agility as defined in the agile manifesto 1 : Individuals and interactions rather than processes and tools Operational functionality rather than exhaustive documentation Collaboration with the client rather than a contractual relationship Acceptance of change rather than compliance with plans The concrete translation of these values into actionable principles is variable according to the project context. But despite this variation, OECD has globally defined a target agile project framework for all teams. All common practices and tools described below are defining this target 1 See the Agile Manifesto for Agile Software Development - http://www.agilemanifesto.org/ 2

framework. The global adoption of this core framework is ongoing under the responsibility of each team. 3.1 Generic principles A Project time line structured by regular periodic meetings An iterative development cycle for building incremental solutions The Project efficiency relies on team member involvement An active collaboration with clients for gathering requirements and feedback management Regular Meta work for continuous improvement All this principles are parts of the core of agile methodologies and can be implemented in several ways. The key points are to be focused and align with this principles much more than applying strictly the methodology. Teams are often mixing internal resources and external collaborators, co-localized on not, this requires adaptations in project organizations. By defining a target framework on the top of these principles OECD wants to be able to: Simplify the communication between teams Share practices and skills across teams Increase the global maturity level Be more readable for external actors Be more predictive and professional 4. Framework of practices 4.1 A Scrum-based project life cycle 4.1.1 Global process Projects are organized following a Scrum cycle of delivery. A continuously prioritised product backlog is treated iteratively during sprints by a technical team. At the end of each sprint: A quick demo is organized to collect end users feedback A retrospective takes place to evaluate and improve the overall process A new planning session is organized to define the content of the new sprint 3

The length of the sprint iteration is now most frequently 2 weeks but can for certain projects be one month according to its nature and constraints. In some projects the workflow can be continuous without notion of sprint following kanban 2 principles. The organization of the different meetings is variable according to: o Team localisations and schedules o End users availabilities and involvement The product can be delivered in production at the end of each sprint or less often according to a release plan grouping several sprints. 4.1.2 Estimations Each team maintains his relative estimation scale, it can be : Story points (most frequent) Tee-shirt size Hours Days Each story is estimated during the planning session before being allocated to a sprint. All team members have to participate to the estimation (based on their skills) using a collaborative method: Vote Poker planning others 2 http://en.wikipedia.org/wiki/kanban_%28development%29 4

4.1.3 Continuous improvement The process of continuous improvement is under the responsibility of the team, conducted by the Scrum Master and organized around the retrospective ceremony. The goal of this ceremony is: To celebrate success Analyse failures and difficulties Define SMART actions to experiment during the next iterations 4.1.4 Team structure and organization Teams are globally following these rules: 7 +/-2 members Every member has Scrum skills and an agile sensibility Mixing people from IT and business in a daily collaboration Each team has at least 1 or 2 members from internal OECD staff. Other members can be external supplier s consultants (onsite or centralized offsite). In case of distributed teams: o The telepresence environment is fully operational: visio/tel/chat/large screen/etc. o Periodic physical presence work time o Distant Proxy Scrum Master for a distant team larger than one person For maximal efficiency OECD tries to ensure the stability of teams and avoid excessive turnover, including for offsite resources. A process of on-boarding and knowledge transfer has nevertheless been defined to facilitate new resources integration and simplify transition: 1. Minimum knowledge transfer of 1 month between existing resource departure and new resource start date 2. Remote team to contribute to precise on-boarding procedure document to facilitate new resource knowledge transfer 3. Resource to be physically present onsite for up to 1 month within a maximum of 3 weeks of starting Please see Appendix C of Annex 2 for the Onboarding Procedure for Agile Application Development and Maintenance. 5

4.2 Agile roles definitions at OECD The role definition is mostly based on classical scrum roles with a few adaptations. The product owning is often shared between a backlog master and the project board: Project Board o Composed of decision maker o Feed the backlog manager with strategic vision o Validate results and priorities according to the vision Backlog master o Translate the vision into a scrum backlog by gathering detailed requirements from key users o Support the team by answering daily questions In case of distributed team, a Proxy Scrum Master is required for a remote team of more than one member. This Proxy Scrum Master is supposed to have a role of remote facilitator and coordinator. He is responsible for: Collecting impediments Ensuring the correct affectation of tasks Regulating the remote team workload 4.3 Agile artifacts There are two core artifacts: The product backlog, managed in Redmine by the product owner. This product backlog can be completed by specification or user requirements documents. The product itself which is the goal of the project. Additional artefacts like timesheets or other project logs (meetings outcomes) can be useful or mandatory for reporting requirements according to project context. 4.4 Key Performance Indicators Each team is responsible for maintaining and publishing a set of comparable Agile-compliant key performance indicators. Priority 1 indicators are obligatory. Priority 2 indicators are currently only highly recommended. 6

Kay Performance Indicator Type Priority Number of new bugs reported on Prod (Blocking/Critical) within last reference period (sprint, month) Quality 1 Business user satisfaction: Collect with standard survey at team-specific times and reported quarterly Quality 1 Average number of days for bug resolution on prod (Blocking/Critical) within last reference period (sprint, month) SLA 1 Percentage of accepted stories by business (DoD) users vs committed stories by team within last reference period (sprint, SLA 1 month) Average cycle time between when a story is delivered and the priority previously set by product owner (priority definition: a story has been sufficiently specified by business and has been SLA 1 marked to be done as soon as possible) for all stories delivered within the last reference period (sprint, month) Average number of team members for the last reference period (sprint, month) Volumetry 1 Man hours spent per project / lines of portfolio within the last reference period (sprint, month) Volumetry 1 Unit test coverage percentage at the end of the last reference period (sprint, month) Quality 2 Percentage hours spent per project within the last reference period (sprint, month) Volumetry 2 Team happiness taken during each sprint retro Motivation/Maturity 2 Number of re-opened bugs reported on Prod within the last reference period (sprint, month) Quality 2 In addition, the team maintains a set of performance indicators for internal management purposes. These indicators are not supposed to be published but can be required to the team daily work. Some of them are classical scrum indicators, the others are custom. These indicators aren t necessarily comparable between different teams. Priority 1 indicators are obligatory. Priority 2 indicators are currently only highly recommended. Indicator Type PRIORITY Ratio between estimated story points and actual story point achieved per sprint Maturity 1 Average number of story points achieved per person per sprint Maturity 1 Sprint Velocity & Burndown chart Maturity 1 Average number of days for code review Quality 2 Average number of code review iteration Quality 2 Number of code analysis rules activated without warning Quality 2 Technical debt Quality 2 Release burndown SLA 2 7

All these indicators are derived from the artefacts of the projects. The implementation of the compilation of these different indicators is currently ongoing and correlated to the deployment of tools. 5. Common Toolbox 5.1 Backlog and management Previously, several backlog management tools were coexisting at OECD. It has been decided to converge around a common tool set in order to capitalize on practices, knowledge and resources. The selected target tool for operational backlog management is Redmine (http://www.redmine.org/). The main OECD identified requirements covered by Redmine are: General agile project management (sprint, release) Efficient Bug/Task/Story/Epic management Customizable process Customizable Reporting Time tracking Source control integration Agile artifacts management (electronic boards, indicators ) Open API Audit trail The definition of the OECD project templates for Redmine and the definition of the required plugins have started. Each project team will have to evaluate the best opportunity of a migration and define the related actions plan. As far as possible, Redmine will be used to collect the necessary information for an automated compilation of performance indicators. 5.2 Continuous integration Continuous integration is not currently generalized in all OECD IT projects but this kind of approach is identified as a key enabler for industrialization of delivery processes. Teamcity is identified as the target common tool for continuous integration (https://www.jetbrains.com/teamcity/). Each project team is required to evaluate the opportunity and the feasibility of the implementation of Teamcity for continuous integration in their projects. 5.3 Other common tools A target common tool will be identified for source code management. Currently, 3 code versioning systems are coexisting: Git, SVN and TFS. 8

A common technical toolbox will be defined in order to work on technical convergence when it s possible. Candidate tools are: Code quality analysis Web frontend frameworks Testing tools IDE 9