agile fundamentals

78
Agile Fundamentals

Upload: dennis-stevens

Post on 11-May-2015

8.286 views

Category:

Business


1 download

DESCRIPTION

Presentation to PMI Atlanta Chapter Agile LIG

TRANSCRIPT

Page 1: Agile Fundamentals

Agile Fundamentals

Page 2: Agile Fundamentals

Connecting the Strategy and ExecutionHBR: The Next Revolution in Productivity

The Agile EnterpriseStrategically Aligned, Throughput Focused, Human Powered

Agile in the EnterpriseCore Team Member

Exploiting Agile DevelopmentCutter: Rethinking the Agile Enterprise

Agile Business AnalysisAgile Extension to the BABOK

“In a time growth and change, Dennis Stevens helped us identify and develop the capabilities needed to deliver technology that was critical to our success." -- Mike Rouse, COO, Security First Network Bank

“Dennis Stevens helped us align business analysis, architecture, development, QA, support and implementation. He was an advocate for the success of our business" -- Rob Andes, CTO, John Deere

“Dennis Stevens helped us develop a structured approach that connected customer value to execution. He helped us deliver over $200 million in value to our customers.” -- Ric Merrifield, Microsoft Corporation • OPM3

• PMI Agile LIG• PMI Agile CoP• PMI Agile Certification

Page 3: Agile Fundamentals

Agenda

• Roots of Agile• Agile Manifesto• Agile Flavors• Agile Roles• Agile Ceremonies• Agile Fundamental Ideas• Q&A

Page 4: Agile Fundamentals

Agenda

• Roots of Agile

Page 5: Agile Fundamentals

What is Agile?Agile:

1. (adj.) Characterized by quickness, lightness, and ease of movement; nimble.

2. (adj.) Mentally quick or alert.

3. (n.) A group of product development methodologies based on iterative and incremental development, where requirements emerge through feedback with the customer and solutions evolve through collaboration between members of self-organizing, cross-functional teams.

Page 6: Agile Fundamentals

Predictive Approach

• The way Traditional, or Predictive Approach, shapes the definition of Scope, control of Project Schedule and Cost, and management of the software development process based on roots in scientific management, plan driven management, and manufacturing

Page 7: Agile Fundamentals

Predictive ApproachScientific Management

• Frederick Taylor - 1880’s and 1890’s

• Transformation of Craft Production into Mass Production– Work Simplification– Specialization– Resource Optimization through Time in Motion Studies– Piece-rate pay

Page 8: Agile Fundamentals

• Initial Benefits in Manufacturing– Significant reduction in per unit labor costs– Transfer of unskilled agrarian workforce into productive manufacturing

resources– Standards in productivity

• Result of Scientific Management in Knowledge Work– Low intrinsic value for the skilled worker– Low job satisfaction for everyone over time– Deskilling and dehumanizing work conditions– Increase in management to worker ratio– Reduction in innovation

Predictive ApproachScientific Management

Page 9: Agile Fundamentals

Predictive ApproachPlan Driven Management

• Henry Gantt in 1918• Henry Ford mass production• DoD uses PERT in 1957• PMBOK 1987

• Improve predictability and coordination – Define all tasks and efforts upfront– Provide a governance (coordination and control) mechanism– Upfront definition of all tasks and effort estimates

Page 10: Agile Fundamentals

Predictive ApproachPlan Driven Management

• Initial Benefits in Manufacturing– Mass production– Huge expansion of manufacturing– Transformation of world economy

• Result of Plan Driven Approach in Knowledge Work– Gains are lost and losses accumulate– Delays in delivery– Lack of flexibility– Over production of work– Stifling of innovation

Page 11: Agile Fundamentals

Predictive ApproachWaterfall

Documented by Winston Royce in 1970

Reduce cost of change• Only proceed to the next phase when the prior phase is complete• Early identification of defects• Protect the organization from changes in personnel through detailed

documentation• Protect downstream capacity from flawed product upstream

Page 12: Agile Fundamentals

Predictive ApproachWaterfall

• Initial Benefits of Waterfall• Thorough design of the plant saves costs from miscues• Quality control at each step protects downstream capacity

• Results of Waterfall in Knowledge Work– Implementation details that become known as we progress invalidates

earlier design decisions– Lack of transparency– Poor risk management– Residual technical debt– “The Blind Men and the Elephant”

Page 13: Agile Fundamentals

Predictive Approach

• A focus on process and tools

• Comprehensive documentation

• Detailed upfront definition and strong change control

• Rigorous adherence to a detailed plan

• The more projects struggle to more these items are emphasized

Page 14: Agile Fundamentals

Agenda

• Roots of Agile• Agile Manifesto

Page 15: Agile Fundamentals

1960 1970 1980 1990 2000Project MercuryNASA

Gerald WeinbergIncremental andIterative Development

Half-day iterations

Test driven development

IBM FederalSystems Division:- Incremental & iterative- Feedback-driven requirements- Evolving design & architecture

1976Tom GilbEVO EvolutionaryProject Manag.- Adaptive iterations- Fast time to value

1980GeraldWeinbergAdaptiveProgramming:The New ReligionSmall increments,Customer-drivenfeedback

1985BarryBoehmSpiral ModelTeam priorizationbased on risk

1986Fred Brooks“No Silver Bullet”Agile Developmentover Waterfal

1990 - Sutherland & SchwaberScrum PM FrameworkTime-boxed iterations (30 days)Small and co-located, Inspect & adapt

1985 - Takeuchi & NonakaThe New New ProductDevelopment Game- Cross-functional team- Self-organizing team- Legitimate power- Sense of mission

1998 - Alistair CockburnCrystal FamilyPeople & Communications, DesignPrinciples, Domains, Bare Sufficiency

1996 - Beck,Cunningham & JeffriesExtreme ProgrammingEngineering Practices

1997 - Jeff de LucaFeature Driven DevelopmentDeliver tangible, working softwarerepeatedly in a timely manner

2000 – Robert CharetteLean DevelopmentStrategic Focus, Lean Production,Risk Entrepreneurship,Stretch Goals

FIRSTGENERATION

SECONDGENERATION

1995 – Booch,Rumbaugh & JacobsonRational Unified ProcessArchitecture Focus

1994

Dynamic SystemDevelopment MethodFormalization of RAD

Timeline 2001 Agile Manifesto

With the help of Luiz Cláudio Parzianello.

Some had been having better success

Page 16: Agile Fundamentals

What did they have in common?

17 software development thought leaders

XP, Scrum, DSDM, Adaptive Software Development, Crystal, FDD, and Pragmatic Programming

Page 17: Agile Fundamentals

Agile Manifesto

We are uncovering better ways of developing software by doing it and helping others do it. Through this work we

have come to value:

• Individuals and interactions over process and tools• Working software over comprehensive documentation• Customer collaboration over contract negotiation• Responding to change over following a plan

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

Page 18: Agile Fundamentals

Agenda

• Roots of Agile• Agile Manifesto• Agile Flavors

Page 19: Agile Fundamentals

Agile ApproachesScrum-Roles and Ceremonies

• Three Roles– Product Owner– Team (Delivery Team)– Scrum Master

• Artifacts– Product Backlog– Sprint Backlog– Working Tested Deployable Software

• Ceremonies– Sprint Planning– Daily Standup– Sprint Review– Sprint Retrospective

Page 20: Agile Fundamentals

Agile ApproachesXP-Technical Excellence

• Fine scale feedback– Pair programming– Planning game– Test Driven Development– Whole Team (Acceptance Tests)

• Continuous Process– Continuous Integration– Refactoring– Small Releases– Coding Standards

• Shared Understanding– Collective Code Ownership– Simple Design– System Metaphor

• Programmer Welfare– Sustainable Pace

Page 21: Agile Fundamentals

Agile ApproachesFeature Driven Development

• Develop an overall model– Develop a high-level model of the system and use peer review and

discussion to refine• Build a feature list

– Create a list of features (client valued increment of functionality) from the high level model

• Plan by feature– Progressively elaborate features

• Design by feature– Develop specifications for each feature

• Build by feature– Develop, test, and promote the feature

Page 22: Agile Fundamentals

Agile ApproachesKanban-Ongoing Improvement

• Make Work Visible– A more explicit task board than scrum

• Limit Work in Progress– Explicitly limit the number of tasks, stories, features, and epics

• Help Work to Flow– Focus on optimizing for flow – not optimization or number of projects

active at a time• Make policies explicit

– Management inclusion• Evolutionary change

– Improve processes using improvement models based on performance data

Page 23: Agile Fundamentals

Agenda

• Roots of Agile• Agile Manifesto• Agile Flavors• Agile Roles

Page 24: Agile Fundamentals

Delivery Teams

Delivery Team

A team that has everything they need to deliver a working increment of tested, documented, deployable software at the end of every sprint.

Page 25: Agile Fundamentals

Delivery Teams

Delivery Team

Page 26: Agile Fundamentals

Developers

Delivery Teams

Page 27: Agile Fundamentals

Developers

Testers

Delivery Teams

Page 28: Agile Fundamentals

Developers

Testers

Analyst

Delivery Teams

Page 29: Agile Fundamentals

Developers

Testers

Analyst

Specialists

Delivery Teams

Page 30: Agile Fundamentals

Developers

Testers

Analyst

Generalizing Specialists

Delivery Teams

Page 31: Agile Fundamentals

Developers

Testers

AnalystProcess

Coordinator

Generalizing Specialists

Delivery Teams

Page 32: Agile Fundamentals

Developers

Testers

Analyst

CSM

Generalizing Specialists

Delivery Teams

Page 33: Agile Fundamentals

Developers

Testers

AnalystKanbanMaster

Generalizing Specialists

Delivery Teams

Page 34: Agile Fundamentals

Developers

Testers

AnalystTeamLead

Generalizing Specialists

Delivery Teams

Page 35: Agile Fundamentals

Developers

Testers

Analyst

Steward

Generalizing Specialists

Delivery Teams

Page 36: Agile Fundamentals

Developers

Testers

AnalystScrum Master

Generalizing Specialists

Delivery Teams

Page 37: Agile Fundamentals

Scrum Master

• Ensures the delivery team is functional and productive

• Facilitates Daily Stand Up• Facilitates Sprint Planning• Facilitates Sprint Review• Facilitates Retrospective• Participates in Release Planning Meeting• Removes Impediments• Facilitates Improvements

Page 38: Agile Fundamentals

Developers

Testers

Analyst

Steward

Generalizing Specialists

Product Owner

Product Owner

Page 39: Agile Fundamentals

Product Owner

• Responsible for the business value of the project• Ensures the product owner team is functional and productive• PO Steward/ rep(s) optionally participate in Daily Stand Up• PO Steward and rep(s) prepare for and participate in Sprint

Planning• PO Steward and rep(s) participate in Sprint Review• PO Steward/ rep(s) optionally participate in Retrospective• Prepares for and Facilitates Release Planning Meeting• Facilitates Product Owner Improvements

Page 40: Agile Fundamentals

Product Owner Team

Product Owner

Page 41: Agile Fundamentals

Product Owner Team

Product Owner Team

A team that has everything they need to:

- identify and prioritize business value increments, - scope the smallest solution that might possibly deliver on the business

value increment, - prepare the runway for the delivery teams, - coordinate the implementation of the business value increment when it

is delivered.

Page 42: Agile Fundamentals

Product Owner Team

Product OwnerTeam

Page 43: Agile Fundamentals

Product Owner Team

Product Manager

Page 44: Agile Fundamentals

Product Owner Team

Governance

Product Manager

Page 45: Agile Fundamentals

Product Owner Team

Business Analyst

Governance

Product Manager

Page 46: Agile Fundamentals

Product Owner Team

Business Analyst

Governance

UAT / IVV

Product Manager

Page 47: Agile Fundamentals

Product Owner Team

Project Manager

Business Analyst

Governance

UAT / IVV

Product Manager

Page 48: Agile Fundamentals

Product Owner Team

Project Manager

Business Analyst

Governance

UAT / IVV

Product Manager

User Experience

Page 49: Agile Fundamentals

Product Owner Team

Project Manager

Business Analyst

Governance

Steward

UAT / IVV

Product Manager

User Experience

Page 50: Agile Fundamentals

Product Owner Team

Project Manager

Business Analyst

Governance

Product Owner

UAT / IVV

Product Manager

User Experience

Page 51: Agile Fundamentals

Product Owner Team

Project Manager

Business Analyst

Governance

Product Owner

UAT / IVV

Product Manager

User Experience

Delivery

Page 52: Agile Fundamentals

Agenda

• Roots of Agile• Agile Manifesto• Agile Flavors• Agile Roles• Agile Ceremonies

Page 53: Agile Fundamentals

Overall Flow

Page 54: Agile Fundamentals

Visioning

Page 55: Agile Fundamentals

Visioning

• Product owner– Prepares product vision, strategy and goals

• Participants as needed– Everyone proposes a set of Product Stories

• Not by architecture layer – a discrete set of value– Customer value and frequency and business priority– Define risks associated stories with the product stories

• Organizational risk: Does the delivery team do it• Technical risk: Do we have the technology to do it• Business risk: Do we have clear business outcomes

• Architecture, UX, and Design– Define Architecturally significant stories– Perform sufficient design to provide roadmap

Page 56: Agile Fundamentals

Release Planning

Page 57: Agile Fundamentals

Release Planning

Release Planning Inputs• A focused goal for the release• A prioritized set of user stories – business value ranking• Risks associated with the storiesRelease Planning Process• The delivery team assesses the groomed backlog• Split the stories into small enough to plan• Order the stories into the current release (the smallest product where the

benefits outweigh the cost of releasing), the following release, and future releases

• Prioritize the stories and risks in the current release• Plan to address risks ahead of the related stories

Page 58: Agile Fundamentals

Specification

Page 59: Agile Fundamentals

Specification

• Groom the Backlog

• Product Owner Team works with Delivery Team to prepare Specifications (Acceptance Criteria, Screenshots, Mock-Ups, Use Case Updates, etc.) for Sprint Planning

• Stories will have sufficient specification to allow teams to adequately plan and commit to the Sprint

• The delivery team will have sufficient insight prior to the Sprint Planning to responsibly participate in Sprint planning

Page 60: Agile Fundamentals

Sprint Cadence

Scheduled in Advance• Sprint Planning

• Daily Standups• Sprint Review• Retrospective

No Surprises

Page 61: Agile Fundamentals

Sprint Planning

Page 62: Agile Fundamentals

Sprint Planning

• Review the highest priority stories in backlog

• Make sure stories are “ready” to be delivered – identify sufficient stories to fill the next sprint

• The delivery team will decompose the stories into the tasks required to deliver on the sprint

• The tasks will be estimated in ideal hours by the delivery team with no task being greater than 6-8 hours

• The delivery team will include tasks to address risks associated with the stories committed in the sprint

• Stories may be further split for future sprints by explicitly identifying the acceptance criteria for the current sprint (dirt road, gravel road, etc)

Page 63: Agile Fundamentals

Daily Standup

Page 64: Agile Fundamentals

Daily Standup Meeting

• Daily Stand-ups are where the team self organizes

• These follow the same pattern of drive risk down early and deliver value

• Everyone commits to attending the daily standup, being “present” during the standup, and engaging to support the team

• Tasks are pulled – not assigned – in the daily standup

• Problems are not resolved in the daily standup. After meetings are scheduled at the daily standup – these are placed on a meeting roster or as tasks on the board

Page 65: Agile Fundamentals

Sprint Review/ Product Demo

Page 66: Agile Fundamentals

Sprint Review/ Product Demo• The delivery team reviews the stories delivered against the agreed upon

acceptance criteria with the product owner team

• The product owner team provides feedback on the product and the success of the delivery team

• Only 100% completed stories (delivered, tested, deployable, and documented) are presented

• Demonstrate completed functionality to interested stakeholders and/or customers

Page 67: Agile Fundamentals

Retrospective

Page 68: Agile Fundamentals

Retrospective

• This is attended by the delivery team• Three questions:

– What is working?– What is not working?– What changes can help the team?

• Candidly focus on overall performance and identify strategies to improve its processes

• Review retrospective parking lot items capturing during the sprint• The team lead / team coach can make suggestions to the team about

improving performance• Agree to take explicit actions to improve performance• Update documentation in the team room to reflect changes• Hold the team accountable for the updated working agreements

Page 69: Agile Fundamentals

Agenda

• Roots of Agile• Agile Manifesto• Agile Flavors• Agile Roles• Agile Ceremonies• Agile Fundamental Concepts

Page 70: Agile Fundamentals

Agile Fundamental Concepts

1. Value Driven DeliveryDeliver value by understanding and prioritizing what is important to the customer and the business, providing quality results incrementally, and obtaining feedback to improve the result delivered.

Page 71: Agile Fundamentals

Agile Fundamental Concepts

2. Stakeholder EngagementEstablishing and maintaining mechanisms that ensure that all current and future interested parties are appropriately participating throughout the lifecycle of the project.

Page 72: Agile Fundamentals

Agile Fundamental Concepts

3. Boost Team PerformanceBoost team performance through creating an environment of trust, learning, collaborative decision making, commitment and conflict resolution, thereby enhancing relationships amongst individual team members.

Page 73: Agile Fundamentals

Agile Fundamental Concepts

4. Adaptive PlanningWork with the team and the stakeholders to produce and maintain an evolving plan from initiation to close based on goals, business values, risks, constraints, and stakeholder feedback.

Page 74: Agile Fundamentals

Agile Fundamental Concepts

5. Problem Detection and ResolutionIdentify problems, impediments, and risks; determine strategies for dealing with them; and execute the strategy.

Page 75: Agile Fundamentals

Agile Fundamental Concepts

6. Continuous ImprovementReflect on performance and improve the quality, effectiveness, and flexibility of the product, process and team and influence the organization in order to better deliver value now and in the future.

Page 76: Agile Fundamentals

Agenda

• Roots of Agile• Agile Manifesto• Agile Flavors• Agile Roles• Agile Ceremonies• Agile Fundamental Ideas• Q&A

Page 77: Agile Fundamentals

PMI Agile LIG

• To participate in the Atlanta Agile Community– PMI Atlanta Chapter Agile LIG

http://www.pmiatlanta.org– Scrum Meet-up

http://www.meetup.com/agile-38/– Agile Atlanta

http://www.agileatlanta.org

• Participate in the Agile PMI Virtual Community http://www.agile.vc.pmi.org

• Information about certification including reference bookshttp://www.pmi.org/Agile

Page 78: Agile Fundamentals

Q&A

What questions do you have about Agile?