25
AGILE IT

Michigan Agile Presentation

Embed Size (px)

Citation preview

Page 1: Michigan Agile Presentation

1 | MI Digital Summit

AGILE IT

Page 2: Michigan Agile Presentation

2 | MI Digital Summit

INTRODUCTIONS AND WHY WE’RE HERE?

Page 3: Michigan Agile Presentation

3 | MI Digital Summit

INTRODUCTIONS

JAMES MCFARLANEDirector of Agency Services , DTMBState of Michigan

JIM HOGANInformation Officer, DTMBState of Michigan

NITISH MUKHISenior Manager, Digital GovernmentDeloitte Digital

AMITAVA CHATTERJEEVP Strategy & CIO Advisory Services, Reliable Software Resources

Page 4: Michigan Agile Presentation

4 | MI Digital Summit

OBJECTIVES

Provide an introduction and overview of Agile concepts

Discuss how Agile is different

Discuss unique considerations for applying Agile concepts in the public sector

Provide a forum for discussion and Q&A

Page 5: Michigan Agile Presentation

5 | MI Digital Summit

AS MORE ORGANIZATIONS ADOPT LEAN/AGILE METHODS, THERE ARE SOME COMMON BENEFITS CONSISTENTLY REPORTED

Benefits of adopting Lean / Agile methods (Survey)

59%

56%

53%

40%

46%

40%

38%

26%

23%

Accelerate Time to Market

Manage Changing Priorities

Increase Productivity

Better Align IT / Business

Enhance Software Quality

Project Visibility

Reduce Risk

Improve Team Morale

Reduced Cost

WHILE THE MOST COMMON REASON FOR ADOPTING AGILE WAS TIME TO MARKET, RESPONDENTS CITED THAT THEY ACTUALLY EXPERIENCED IMPROVED MANAGERIAL ABILITIES AS THE BIGGEST BENEFIT

VersionOne: State of Agile Survey (2015, n=6000+), percentages show option respondents marked as ‘Highest Important’ - http://info.versionone.com/state-of-agile-development-survey-ninth.html

Page 6: Michigan Agile Presentation

6 | MI Digital Summit

INTRODUCTION TO AGILE

Page 7: Michigan Agile Presentation

7 | MI Digital Summit

MENTAL SHIFT PARADIGMMeet Lisa.Lisa wants you to build something that will take her from her house to her workplace. She wants you to build it using agile.How would you build it?

7

A. B. C.

D. E. F. G.

H.I. J.

Choose 5 items and order them following an iterative/incremental approach:

Page 8: Michigan Agile Presentation

8 | MI Digital Summit

WHAT DID YOU BUILD?

Or this…

D. F. H. B. J.

C. A. I. E. G.

• Highest priority is to satisfy the customer through early and continuous delivery of valuable software

• Deliver working software frequently

• Working software is the primary measure of progress

Key takeaways

Page 9: Michigan Agile Presentation

9 | MI Digital Summit

HOW AGILE CAN HELP DRIVE BUSINESS OUTCOMES New Service with 5 metrics to be achieved by with 1 year

This service was to be implemented using Waterfall methods, however the client formed a small cross-functional Scrum Team

that released portions of the service incrementally. The client achieved 4 of 5 metrics a year earlier than forecast.

Accounts making use of service• 2016/17 Goal – 6,350• Nov 2015 – 6,649

New service registrations• 2016/17 Goal – 50,800• Nov 2015 – 61,557

Average use per client• 2016/17 Goal – $228• Nov 2015 – $474

Total use for all clients• 2016/17 Goal – $1.4M• Nov 2015 – $3.1M

Revenue from new service• 2016/17 Goal – $478,000• Nov 2015 – $258,000

Aug 2015 Sept 2015 Oct 2015

Release 1 – New service provided for existing, pre-approved clients

Release 2 – Existing clients can apply for the new service online

Release 3 – Clients can remove the service, those who aren’t auto-approved are queued for review

Release 4 – Clients modify settings online, rather than by calling

Dec 2015

Release 5 –Streamlined accounting process

Release 6 – Real-time fraud monitoring

Jan 2016 Feb 2016

KPI’s

Page 10: Michigan Agile Presentation

10 | MI Digital Summit

SCRUM IS THE MOST POPULAR IMPLEMENTATION OF AGILE BASED ON SHORT ITERATIONS, QUICK FEEDBACK LOOPS AND INCREMENTAL PROGRESS

These are now collectively referred to as Agile methodologies, after the Agile Manifesto was published in 2001.

AGILE

Rational Unified Process (RUP) Crystal Clear

Extreme Programming (XP)

Adaptive Software Development

Feature Driven Development (FDD)

Lean Kanban

Scrum

WHAT IS AGILE?Agile is a group of software development frameworks and tools focused on iterative delivery, where requirements and solutions evolve through collaboration between self-organizing, cross-functionalteams. Agile is an opportunity to re-think of the way we go about software development

Page 11: Michigan Agile Presentation

11 | MI Digital Summit

12 PRINCIPLES OF AGILE SOFTWARE DEVELOPMENT

2

3

4

5

Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale

Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done

Working software is the primary measure of progress

Continuous attention to technical excellence and good design enhances agility

6The best architectures, requirements, and designs emerge from self-organizing teams

7

8

9

11

Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage

Business people and developers must work together daily throughout the project

The most efficient and effective method of conveying information to and within a development team is face-to-face conversation

Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely

Simplicity--the art of maximizing the amount of work not done--is essential

12At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly

1Our highest priority is to satisfy the customer through early and continuous delivery of valuable software

10

http://agilemanifesto.org/iso/en/principles.html

Page 12: Michigan Agile Presentation

12 | MI Digital Summit

AGILE/SCRUM FRAMEWORK

PRODUCT BACKLOG

SPRINT BACKLOG

SPRINT PLANNING

DAILY STANDUP

PRODUCT INCREMENT

SPRINT REVIEWSPRINT RETROSPECTIVE

SPRINTPRODUCT OWNER

BURN DOWN CHART

IMPEDIMENTS LISTSCRUM MASTER

PRODUCT BACKLOG REFINEMENT

Page 13: Michigan Agile Presentation

13 | MI Digital Summit

TRADITIONAL VS AGILETraditional Agile

Working Software

Working Software

Working SoftwareBRD

Working Software

Working Software

Working SoftwareSRS Code Test Results

Build Test DeployDesignRequirements

Requirements

Design

Build

Test

Deploy

Requirements

Design

Build

Test

Deploy

Requirements

Design

Build

Test

Deploy

Requirements

Design

Build

Test

Deploy

Requirements

Design

Build

Test

Deploy

BEING AGILE MEANS DELIVERING VALUED SOFTWARE IN A WAY THAT ENABLES FEEDBACK AS EARLY AS POSSIBLE TO ENSURE THAT CUSTOMER NEEDS ARE BEING MET

Page 14: Michigan Agile Presentation

14 | MI Digital Summit

AGILE OR ITERATIVE WATERFALLAgile should not be used on projects that simply wish to adopt some Agile practices (e.g. iterative releases, continuous integration, peer

programming, or daily meetings).

Use Agile… Use Iterative waterfall…

To reduce risk by receiving feedback frequently and releasing portions of functionality regularly

To reduce risk by releasing portions of functionality regularly

On contracts that focus on business value rather than detailed documentation expectations along waterfall milestones

On fixed-price deliverable-based contracts with well-defined processes, review gates, and organizational structure

In organizations where cross-functional scrum teams can be formed

In organizations with divided teams by specialty (e.g. business analysts, designers, developers, testers, O&M)

Where there is constant engagement with a single decision-maker for product scope and priority

Where scope is defined up-front and scope changes must pass through a board for reviewers

In environments where the team has the tools and infrastructure to support automated testing and frequent builds

In environments where automated testing is not performed or builds cannot be executed multiple times per day

If documentation can be finalized at the end of the sprint or release.

If formal sign-off of requirements, design, code, or testing results are required before the continuing the process

Where scope is variable and time and resources are fixed Where scope is fixed and time and resources are variable

Page 15: Michigan Agile Presentation

Defining a digital bank• Build consensus on the definition of a digital bank

KEY CONSIDERATIONS FOR AGILE

Page 16: Michigan Agile Presentation

16 | MI Digital Summit

CUSTOMER EXPECTATIONS

11

10

9

82

3

4

5

Speed-to-market

Quality

Visibility

Risk Mitigation

6 Flexibility/Agility

Envisioned Product

Business Engagement

One Team

Customer Satisfaction

1 Fast ROI

12 Agile the Midas Touch?

7 On Budget

Page 17: Michigan Agile Presentation

17 | MI Digital Summit

WHAT AGILE IS NOT It is not a single methodology

It is not a set of tools

It is not the opposite of waterfall, Prince2, PMBOK or RUP

It is not that easy (it is easy to understand, not easy to implement)

AGILE IS NOT A SILVER-BULLET

Page 18: Michigan Agile Presentation

18 | MI Digital Summit

SCALING AGILE TO MULTI-TEAM DEVELOPMENTPotential Weaknesses

– “Scaling Agile” is considered an oxymoron– Cultural impedance mismatch– Agile doesn’t address long-term architecture– Agile requires co-located teams– Agile efforts are hard to estimate and predict

Misconceptions– There’s no planning– Only works with the best developers– Agile development doesn’t follow any process– Nothing gets written down– There’s no way to track progress– Agile is ‘cowboy coding’

Weaknesses can be addressed by balancing Agile with Plan-driven approaches

Page 19: Michigan Agile Presentation

19 | MI Digital Summit

KEY RISKS OF AGILE Perhaps the most significant risk of any agile engagement

is one of resistance.

Even when there is a genuine desire and willingness to adopt agile, there’s still a question of sustainability.

Preparation for agile can be limited

Teams have difficulty with agile execution

Project evaluations are inconsistent with traditional practices

Any upfront agile plan may simply specify the wrong solution.

Components of agile are not well understood, so bad Water-Agile-Fall methods are adopted

Does the scope include software enablement of

business processes?

Does the scope include significant custom software

development?

Is the scope lacking in specificity, and unlikely to remain

stable?

Is the customer willing and able to offer flexibility on

scope?

Yes

Yes

Yes

YesSeriously Consider Agile/Scrum and/or

Lean Process VSAs

Remove Agile/Scrum or Lean VSAs from consideration

Remove Agile/Scrum from consideration

Remove Agile/Scrum from consideration

Right Path to Agile

No

No

No

Remove Agile/Scrum from consideration unless bound by a

schedule

No

Page 20: Michigan Agile Presentation

20 | MI Digital Summit

PREPARE TO SUCCEED

Train all stakeholders in your Agile approach, and train your team in your Agile methods

Create a physical environment conductive to collaboration

Identify measurable outcomes, not outputs, of what you want to achieve using Agile

Ensure your contracts are structured to accommodate your Agile approach

Identify an Agile champion within senior management

Ensure all teams include coaches or staff with Agile experience

Prepare for difficulties, regression, and negative attitudes

Page 21: Michigan Agile Presentation

Defining a digital bank• Build consensus on the definition of a digital bank

AGILE CONTRACTING

Page 22: Michigan Agile Presentation

22 | MI Digital Summit

Contract Language ReviewContract language was reviewed and supported by both State Agencies and our Vendor Community

Standard Contract LanguageDTMB has developed standard Agile contract language in support of our software modernization program

• Candidate projects less than $5 million• Utilizes terms and conditions approved by 20

prequalified vendors• 8 week turn-around time for award once bid is

posted• Candidate projects must agree to follow Agile

process

AGILE CONTRACTING PROCESS: BACKGROUND

Budgeting OptionsAt the agencies option, SOW may include a “not to exceed” price to help vendors understand available budget

Page 23: Michigan Agile Presentation

23 | MI Digital Summit

AGILE CONTRACTING PROCESS: AGENCY RESPONSIBILITIESBusiness Process Review Preliminary to developing high level requirements (Epics), the Agency business function(s) will undergo a business process review to identify inefficiencies and redundancies

• Trained BPR facilitators available within the agency or via DTMB.

Review Existing SystemPreliminary to posting the SOW, the vendor community will be given a “hands-on” overview of the existing system to facilitate understanding of need

Agile TrainingAgency must send project participants to Agile training

Zero Sprint – Product VisionAgency, working with DTMB will allocate two weeks to map out “zero sprint” requirements, which would then be used in the SOW.

• Product vision describes what the solution needs to do

• Product story map defines user roles and high level requirements

Page 24: Michigan Agile Presentation

24 | MI Digital Summit

AGILE CONTRACTING PROCESS: VENDOR RESPONSIBILITIESRigorous DocumentationRigorous attention to documentation via SUITE for requirements, validation, testing, acceptance and traceability to eliminate unplanned scope creep or disagreements

0201

Releases and Corrective ActionsContract provides for vendor termination if releases and subsequent corrective action plan not being met• At the state’s option, project will be

turned-over to the “runner-up” vendor for continuation

03

040506

Standard Process GoverningStandard development and tracking tools governing product backlog, code repository and build process

Gain-sharingContract may prove for “gain-sharing” that rewards vendor for delivering accepted solution early

Payment increasePayments will increase as “minimal viable product” increases

Agile CertificationVendor staff must be certified in Agile, or in the alternative, attend state sponsored Agile training

Page 25: Michigan Agile Presentation

Defining a digital bank• Build consensus on the definition of a digital bank

Q&A