agile implementations - tim fitzgerald - us assure

15
Introducing the Agile Development Methodologies into your Organization March 2014 Tim FitzGerald US Assure

Post on 18-Oct-2014

113 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Agile Implementations - Tim FitzGerald - US Assure

Introducing the Agile Development Methodologies into your Organization

March 2014

Tim FitzGeraldUS Assure

Page 2: Agile Implementations - Tim FitzGerald - US Assure

101 Agenda

• Agile Techniques• Iteration Flow• What Agile Does not

mean• Suggested Approach

• Agile Roles• Scrum Master• Product Owner• Team

• Product Backlog Cycle• User Stories• Sizing user stories

• Agile Planning• Stand-up Meetings (SCRUM)• Iteration Planning Meeting

• Velocity• Team Capacity

• Demonstration• Retrospective

NOT TODAY’S DISCUSSION

Page 3: Agile Implementations - Tim FitzGerald - US Assure

Todays Agenda – Why Agile, What to consider, Expect challenges

Learn about why you should consider introducing Agile into your development organization. Participants will learn some of the benefits and challenges of implementing Agile into your Culture.

Takeaways from the presentation:

1. What Agile is and why you should consider it

2. Considerations for how to modify to match your organization

3. Challenges and change management items to plan for

Page 4: Agile Implementations - Tim FitzGerald - US Assure

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

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

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

4. Business people and developers must work together daily throughout the project.

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

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

At it’s core Agile is really 12 Principles

Page 5: Agile Implementations - Tim FitzGerald - US Assure

7. Working software is the primary measure of progress,

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

9. Continuous attention to technical excellence and good design enhances agility.

10.

Simplicity – the art of maximizing the amount of work not done – is essential.

11.

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

12.

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

…and a whole lot of change management

Page 6: Agile Implementations - Tim FitzGerald - US Assure

The Agile Manifesto

“That is, while there is value in the items on the right, we value the items on the left more”

Individuals and interactions

Over Processes and Tools

Working Software Over Comprehensive documentation

Customer Collaboration Over Contract Negotiation

Responding to Change Over Following a plan

“We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:”

Signed by: Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas© 2001, the above authorsthis declaration may be freely copied in any form, but only in its entirety through this notice. www.agilemanifesto.org

Page 7: Agile Implementations - Tim FitzGerald - US Assure

• Ad hoc - No planning• Constant stand-ups• Code and Go• No documentation• No Architecture

involved• No process or discipline• No management

What Agile Doesn’t Mean

“Hater’s View”“Evolved View”

Page 8: Agile Implementations - Tim FitzGerald - US Assure

Traditional differences of Agile vs. Waterfall

• Knowledgeable, collocated, collaborative developers

• Customer involvement is a critical success factor

• Reliance on tacit interpersonal knowledge

• Empirical processes

• Evolving requirements, rapid change

• Smaller teams• Premium on rapid value and fast

time to market• Product is built incrementally

• Plan-oriented developers; mix of skills

• Mix of customer capability levels and participation

• Reliance on explicit documented knowledge

• Prescriptive processes

• Requirements knowable early; very stable, change is painful

• Larger teams• Premium on high-assurance• Product delivery all or nothing

Agile Waterfall

Page 9: Agile Implementations - Tim FitzGerald - US Assure

Requirements management is very different across the methodologies

• Defined in business value terms• Elicitation activities measured in

hours/days• Easy to write at different levels of

detail• Defined, owned, and prioritized

managed by the customer• Handling Change• Change is expected (Requirements

evolve as the project evolves)• Agile looks to the future for one

release

Agile User Stories Waterfall phased requirements

• Defined at a very detail level• Elicitation activities measured in weeks

or months• Heavy emphasis on getting all the

requirements right the first time

• Change is expensive (done all the work upfront)

• Implies that the user/customer know the requirements and they will remain unchanged (unrealistic if never done before)

Page 10: Agile Implementations - Tim FitzGerald - US Assure

US Assure and many companies have seen increased productivity and reduced “time to market” using lean and agile concepts

Is about gaining speed and efficiency through improving processes

One of the major principles of Lean is to eliminate waste

Is about gaining speed and efficiency through improving processes

One of the major principles of Lean is to eliminate waste

LeanLean

Is a conceptual framework for undertaking technology projects which is designed to promote “agility”

There are a number of agile methods (XP, SCRUM, Agile Modeling, AMDD, DSDM, AUP, FDD, Crystal, etc) in use today

Scrum is one of the “agile processes” that is most popular

Is a conceptual framework for undertaking technology projects which is designed to promote “agility”

There are a number of agile methods (XP, SCRUM, Agile Modeling, AMDD, DSDM, AUP, FDD, Crystal, etc) in use today

Scrum is one of the “agile processes” that is most popular

AgileAgile

Process is open and visible to stakeholders

Focus is maintained on delivering the highest priority items first

Risk is reduced as work is produced in small batches (reducing complexity) and modifications incorporated at the start of every new sprint

Increased productivity, reduction of process inefficiencies, increased morale

Process is open and visible to stakeholders

Focus is maintained on delivering the highest priority items first

Risk is reduced as work is produced in small batches (reducing complexity) and modifications incorporated at the start of every new sprint

Increased productivity, reduction of process inefficiencies, increased morale

BenefitsBenefits

Page 11: Agile Implementations - Tim FitzGerald - US Assure

Although, one size does not fit all organizations or cultures

• There are now over 10+ defined “Agile” methods, and they vary considerably. (Ex: The Scrum approach is time-boxed, Kanban is buffer-based)

• There are variations of extreme programming, Test based development, The Dynamic Systems Development Method (DSDM) , while the Rational Unified Process (RUP) try’s to scope an entire project before development starts.

• Anyone who claim to have the unified definition of Agile, also has a “defined” Cloud based offering they want to sell you .

• To me; Agile is about driving better communication, collaboration, changing cultural behaviors and creating flexibility in order to drive value to the business faster.

Page 12: Agile Implementations - Tim FitzGerald - US Assure

Try to leverage many of the Agile “Best Practices” for your project development where it makes sense for your company

BEHAVIOR LEAN / AGILE STATE

CURRENT STATE

TARGET STATE

Active Customer Engagement (Daily)

Co-Location of Teams

Dedicated Resources

Constant Collaboration

Small Batch size (Iterative Development)

Incremental Delivery

Adaptive Planning (vs reactive)

Empowered Teams

Customer Value Focused

Sustainable Pace

Reliable Delivery

Appropriate Approval Level / Cycle Time

Appropriate Documentation Types / Level

Agile Engineering Techniques

Page 13: Agile Implementations - Tim FitzGerald - US Assure

Implementing a new methodology takes time and will introduce new risks and issues

• You will see over-estimating and/or inaccurate estimation initially (Takes ~3-6 sprints to refine)

• Efficiencies may not be fully realized due to lack of modifications in approval process

• Efficiencies may not be fully realized due to lack of modifications in documentation process

• Well managed controls from an audit perspective are not fully defined

• Resource constraints in partner and / or support organizations can cause issues

• Working with partners and other waterfall based organizations can be challenging

• Limited agile coach resources may be available to scale adoption

• Organizational and personal tolerance to change may create headwinds

While some may think Agile is cool and cutting edge, it’s also hard at first, so remember:

Page 14: Agile Implementations - Tim FitzGerald - US Assure

Change requires requests of you, your management, and your teams

• To be open to change for project operating principles:

• Teams need to Commit, take Ownership for their commitments, and ask for help and guidance when they need it

• Leadership needs to Trust that teams will live up to their commitments, and trust that they will ask for the help they need

• Leadership needs to be prepared to provide support and guidance to solve problems when the team asks for help

• News, whether good or bad, needs to be given and received in the spirit of openness, collaboration, cooperation, and without fear of retribution; the focus will be on how to get back on track

• Team members will have to change the way they do their day-to-day tasks• Traditional command and control type management needs to transition to

facilitative leadership and supportive coaching

• Agreement on project roles• Approval to initiate next infrastructure project as agile

Page 15: Agile Implementations - Tim FitzGerald - US Assure

Appendix