PAS: Scaling Agile – A real life experience November 4, 2009.

Slides:



Advertisements
Similar presentations
Iteration Planning.
Advertisements

Delivering Enterprise Projects Using Agile Methods Brent Barton May 23, 2006.
A little Software Engineering: Agile Software Development C Sc 335 Rick Mercer.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
SCRUM John Drew. SCRUM - overview Scrum is a project management discipline that has evolved since the early 1990s to deliver software that meets business.
NAUG NAUG Knowledge Evening – th February 2007.
Agile PM Basics Dr. Vijay Kanabar © Boston University
 User assignments (product owner)  ‘circle’  1 st sprint: ◦ Scrum Boards (informative workspace)  Product -, release -, sprint -, defect backlog 
Agile Software Engineering Frank Maurer Agile Software Engineering Lab, University of Calgary
Agile Process Models. Prescriptive models don’t work It is unrealistic to not have changes. Why? The Agile Manifesto: Individuals and interactions over.
Rules of the Game  Loosely based upon the TV show, “Who wants to be a millionaire.®”  Once the question is read, you will have 30 seconds to discuss.
Agile development By Sam Chamberlain. First a bit of history..
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Programming with eyes wide open. Your host today Subby Angelov Team
Agile Process: Overview n Agile software engineering represents a reasonable compromise to conventional software engineering for certain classes of software.
Introduction to Agile.
Agile Methodologies for Project Management By – Komal Mehta.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Extreme Programming.
Chapter 3 – Agile Software Development
Get quality results faster: Agile Projects and your team Presenters: Laurie Barnas and Wendy Taylor, Associate Registrars, University of Victoria.
Chapter 3 – Agile Software Development Lecture 2 1Chapter 3 Agile software development.
Agile Software Development What is Agile? And How are we implementing Agile?
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
Software Development Landscape
Larry Apke Agile Expert
Dr. Tom WayCSC Software Processes CSC 4700 Software Engineering.
Chapter 4 Agile Development
Chapter 3 Agile Software Development (2/2) Yonsei University 2 nd Semester, 2013 Sanghyun Park.
Agile Software Development Chapter 3 – Lecture 1 Adrián Susinos.
Current Trends in Systems Develpment
By Saravanan Bala. General Report 31 % of Software projects are cancelled 75 % of the software projects are considered failures by the people who initiated.
Chapter 3 – Agile Software Development Pepper modification of Sommerville presentation & Colm O’hEocha – AgileInnovation Ltd presentation 1Chapter 3 Agile.
Agile Methodologies: Comparative Study and Future Direction 林佳蓁 資工 4B.
Announcement – Career Fair Who: Everyone should plan to go… What: Meet / network with companies Meet hiring managers Get information first hand Where:3.
Extreme/Agile Programming Prabhaker Mateti. ACK These slides are collected from many authors along with a few of mine. Many thanks to all these authors.
Agile In Practice Benjamin Booth Spring Proprietary 2 5 Programmer/Architect.
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
Extreme Programming (XP). Agile Software Development Paradigm Values individuals and interactions over processes and tools. Values working software over.
Large Software Projects Deborah Black Vice President, Windows Division Microsoft.
Chapter 2 Software processes. Topics covered Software process models Process activities Coping with change.
AP-1 4. Agile Processes. AP-2 Agile Processes Focus on creating a working system Different attitude on measuring progress XP Scrum.
January 24, 2009 Agile Product Management Making Things Happen Walter Bodwell Planigle.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
Cultivating Agile Requirements
Extreme Programming. Extreme Programming (XP) Formulated in 1999 by Kent Beck, Ward Cunningham and Ron Jeffries Agile software development methodology.
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
CS223: Software Engineering Lecture 16: The Agile Methodology.
Introduction to Software Engineering Muhammad Nasir Agile Software Development(2)
Introduction to Agile. Introduction Who is this guy?
CS 4500: Software Development Software Process. Materials Sommmerville Chapters 1, 2 and 3 Software Cycle and Models:
Agile Center of Excellence. Richard K Cheng Agile is just a high level concept.
Agile Methodology. -Dhanashree Kumkar -Plus91 Technologies.
Scuola Politecnica Dipartimento DITEN Università degli Studi di Genova An Introduction to Scrum and XP Prof. Riccardo Berta.
Software engineering (cs3529) target classes: cs14: A,B
CS223: Software Engineering
Agile Methods SENG 301.
Agile Training Day 2 November 17, 2015.
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Agile Roles in a Flat Organization
Rapid software development
How to Successfully Implement an Agile Project
Teaching slides Chapter 1.
Agile Process: Overview
Introduction If you have got a call for an Agile testing interview, then congratulations are in order. You may be feeling nervous, but it sure to be felt.
Introduction to Agile Blue Ocean Workshops.
Agile Development – a new way of software development?
Extreme Programming.
Agile Development.
INTERACTION DESIGN IN PRACTICE
Presentation transcript:

PAS: Scaling Agile – A real life experience November 4, 2009

CGI – A Quiet Canadian Success Story  Largest Independent Canadian IT Services Company  25,000 Staff, 16,000 in Canada  350 members in Calgary  1100 in Western Canada

3 What is Production Accounting?  Starts with molecules and ends with $$$  Revenue and Royalties for the Oil and Gas Industry (Multi Billions dollars per month)  The Landscape  100,000 to 150,000 active wells in Western Canada  Each well has: 1 operator + 4 joint venture partners (on average)  Monthly requirement for reporting to operators, joint venture partners, government, pipeline operators  Volumes – oil, gas, water, NGL  Expenses – processing, facility, trucking, treating, admin  Royalties – crown, freehold, override  Revenue based on multiple sales contracts WELLWELL Separator Oil Treatment Gas Treatment Water Treatment Oil Battery Gas Plant Disposal WELLWELL WELLWELL Oil Pipeline Gas Pipeline

4  Software Development Project  4 Oil and Gas Companies  Devon  Encana  Husky  Talisman  12 business resources  90 resources  4 development teams 2 support  11 major applications  Supported: 5 implementation teams  Tests: Rapid All, 154 GUI, 372 Scenario tests What was the PAS Project

Looking to the left 5

Looking to the right 6

Planning 7

Objective  Success  All major stakeholders are satisfied  Users like the system  Sponsors received value  Development team would do it again  Predictable  Revised Budget Met  Revised Schedule Met 8

Formula for Success  Transparency  Governance Structure  Key users assigned to the team worked with development team  Constant Feedback  Continuous Improvement 9

Where did we start?  Started XP and Scrum  Verbatim from the book  External Mentors  Development leads had agile experience  Built team slowly and hired carefully  Team was hired for project and specifically to do agile  On site customers

What do we still do?  Incremental design  Customer drives priorities  Test First Development  Work in a pit  Pair programming  Morning stand-ups  Retrospectives

Morning Standup

Story Board

Techniques that stood the test of time  Testing patterns from Gerard Meszaros  Create Anonymous  Test Fixtures  Fake Database - 30,000+ tests are on checkin  Team ideas from Eric Evans  Five Ideas - Create communication, empowered developers to design  Ubiquitous language - developers, testers, business, talk the same language  Domain Driven Design  TopLink  Allowed a domain driven design  Quick to learn for newbies  Many levels for performance optimization available  Worked closely with us to resolve bugs in TopLink  Business and Technical sitting together  They worked as a team rather than two teams  Persistence and Calmness (Most important)  Still lots of problems and frustrations that just need willpower to get through

What did we change?  Shape of the Sprint  Moved from 4 weeks to 2  Writing of stories before the sprint  Calculations mean tests take long to write  Consensus between customers  Testing continued after end of Sprint  Monthly convergence  End Game  Development  Don’t pair all of the time  Paid attention to data migration

What did we change - 2  Team Composition  Split into business functionality related teams  Teams became specialized  Each had own product backlog  Scrum of Scrums  Brought in a business lead  Longer term business vision  Negotiate compromise  Evolution in how teams monitored sprints  Sprint backlog only for the PM

What did we change - 3  Business Testing – Evolving process  Started with story writers testing their own stories  now we have specialized testers  Introduced Scenario testing  Start with FIT, evolved our own framework  When do bugs get fixed?  How to log bugs 17

Issues on a Large Project  Story Boards  Distribution of Status  Sprint Backlogs  Refactoring  Technical debt  Concurrent Check in 18

What did we learn  Business team needs help to adapt to Agile process  We were better at helping developers  Difficult to get the correct balance  Once the balance is set, it becomes part of your culture  Features vs quality  Object design vs Database design  Story testing vs exploratory testing  Rotating team members vs keeping teams whole  Prioritization is hard for business  They want to have that influence  Mining existing systems for requirements can help

What did we learn  Splitting teams introduced communication overhead  Difficult to have knowledge distributed throughout the team  It was not as bad as we feared 20

21 Questions

22 Thank You