Welcome “Agile Explained” The Agile Scrum Software Development Lifecycle “Adjust and Adapt /...

27
Welcome “Agile Explained” The Agile Scrum Software Development Lifecycle “Adjust and Adapt / Build and Deploy”

Transcript of Welcome “Agile Explained” The Agile Scrum Software Development Lifecycle “Adjust and Adapt /...

Welcome

“Agile Explained”

The Agile Scrum Software Development Lifecycle

“Adjust and Adapt / Build and Deploy”

QQQualityQuality

$$BudgetBudget

RRRequirementsRequirements

SSScheduleSchedule

PM, Golden PM, Golden TriangleTriangle

Plan Driven

QQQualityQuality

$$BudgetBudget

RRRequirementsRequirements

SSScheduleSchedule

Value Driven

PM, Golden TrianglePM, Golden Triangle

$$BudgetBudget

Plan Driven

QQQualityQuality

RRRequirementsRequirements

SSScheduleSchedule

SSScheduleSchedule

RRRequirementsRequirements

QQQualityQuality

$$BudgetBudget

Value DrivenAdjust & Adapt

2-4 week Iterations

Team collaboration

High value features delivered first

Short delivery cycle

Product owner participation

Control of the ROI

Requirements documents

Separation of work

Large budgets, ($1.4m)Long schedule, (18

mths)Extensive Contracts

67% Unwanted features

Change control documents

Agile ManifestoAgile Manifesto

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

Individuals and interactions over processes 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 onthe right, we value the items on the left more.

We follow these principles:

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

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

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

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

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

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

•Working software is the primary measure of progress.

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

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

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

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

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

Principles behind the Agile Principles behind the Agile ManifestoManifesto

AgileAgile

Agile Approach to Projects

• Work as one team

• Work in short iterations

• Deliver something each iteration

• Focus on the business priorities

• Inspect and adapt

RolesRoles

Three Roles in Agile Scrum

ScrumMasterThe ScrumMaster is the owner of the Process and is responsible to assist the development team daily to “Unblock” any impediment preventing them from being successful in completing their sprint task assignments.

Product OwnerThe Product Owner is the owner of the Definition of the product and all the features to be developed along with the sprint planning, scheduling, future requirements, etc. as defined by the business stakeholders.

Team / DevelopersThe developers are a team and are the sole owners responsible for the commitment and delivery of all the tasks and testing for the features for the Product Owner. The delivery of the shippable product is the responsibility of the team of developers.

ScrumMasterScrumMasterResponsibilities• Guards and supports the Scrum process• Facilitates team decision making and team maturity• Divergence of ideas leading to informal convergence on decisions• Removes impediments• Protects team from external interruptions• Acts as chief communicator – coordinates communication between team and external stakeholders, managers, and other corporate communication.• Controls “no business by favor” (product owners or

anyone going directly to a developer with a special request for a work item.)

Differences from the classic Project Manager• Is NOT the decision maker• Cannot commit to dates, budgets, etc.• Facilitates the team and stakeholders to make decisions and meet commitments• IS A SERVANT LEADER AND FACILITATOR

Product OwnerProduct Owner

What is the Product Owner Scrum Process?• Define value for the product, ROI, Features, Cost, etc.• Have a vision for the product, its Release, and the Sprints• Maintain a prioritized backlog of product stories• Seek guidance from architects, testers, developers• Show up with the appropriate Product Backlog items• Epics or large items for release planning• Smaller items (such as user stories) for Sprint Planning• Details ready when items are of the highest priority• Maintain acceptance criteria for high value stories• Respect Delivery Team estimates• Communicate often (be available)• Accept Product Backlog items as they are completed• Attend Product Owner “Scrum of Scrums”, or Product Owner meetings to discuss the collaboration of resources, stories, and/or any dependencies between other teams stories, sprint goals, or project(s).

Product OwnerProduct OwnerWhat does a Product Owner do?• Create, maintain and prioritize the product backlog• Actively participate in release planning• Communicate release goals• Present release backlog or authorize release items to production• Actively participate in iteration or Sprint Planning• Present iteration or Product Backlog• Present conditions of satisfaction for each backlog item

• Prioritize stories based on their size estimates• Prepare Stories for the next iteration• Write user stories and their acceptance criteria• Collaborate with customers to validate user stories• Attend daily stand-up meetings (daily scrums)• Visibility into team progress• Listen and answer questions during the daily meeting• Validate and accept software delivery• Review and accept / reject iteration stories• Answer questions about the Stories

Team / Developers Team / Developers What are Team’s (Dev & QA) Sprint Activities?• Commit to the Sprint Tasks• Teams consist of both Developers and QA members• Own the estimates• Plan your own work (tasks, dependencies)• Have the authority to do whatever is needed to meet their commitment• Present the potentially shippable product at the demo• Participate in the Retrospective• Rely on the ScrumMaster to help remove obstacles• Rely on the Product Owner to explain the Product Backlog items

Team / Testing Team / Testing

What are Team’s (Dev & QA) Testing Activities?• Unit Test, QA Manual Testing, Integration Test, Build Verification Test, UI Testing, Load Testing, etc. • Unit tests, are fast, atomic, and isolated test, that verify the correctness of logic.• Integration tests, verify the proper integration of one or more dependencies. • System/UI tests verify the correctness of the user experience and expected behavior.• Load tests, verify the application and the infrastructure can support the business needs.

Testing Roles Testing Roles

What are Team’s (Dev & QA) Testing Roles?

function ( ) {...}

QADev

Unit Test Integration Test System/UI Test Load Test

82%

Framework: MSTest / PHP Unit

Framework: BVT / Cruise Control

Framework: QTP

Framework: LoadRunner

Environment: Local/Dev Server

Environment: Local/Dev Server

Environment: Test Server

Environment: Staging Server

Norming

Team PerformanceTeam Performance

Forming Storming Performing

Adding a NEW Member to the Team

Organizational Changes- Staff- Policy- Procedures

Architectural Changes

Introducing NEW Technology

Changes in EnvironmentChanges in Schedule

Chickens & PigsChickens & Pigs

Daily stand-ups are for the exchange of information between the team members.

“Everyone else” (stakeholders, business owners) are welcome as non-participating, quiet observers!

Visiting the Daily Scrum meetings – Everyone is Welcome!However, you should know this......

Sprint Sprint Backlog Backlog ““Tasks”Tasks”

Product Product Backlog Backlog ““Stories”Stories”

2-42-4

WeekWeek

SprintSprint

DailyDaily

ScrumScrumDailyDaily

ScrumScrum

Scrum Scrum Process Process “Sprint”“Sprint”

DemoDemoDemoDemoRetrospectivRetrospectivee

RetrospectivRetrospectivee

ReprioritizReprioritizee

ReprioritizReprioritizee

Product BacklogProduct Backlog

Fibonacci Number Series1,2,3,5,8,13,21,34

EPICEPICEPIC, EPIC, EPICEPIC, EPIC, EPIC

STORY, STORY, STORYSTORY, STORY, STORY

STORY, STORY, STORYSTORY, STORY, STORY

STORY (34), STORY (34) STORY (34), STORY (34)

STORY (21), STORY (21) STORY (21), STORY (21)

STORY (13), STORY (13)STORY (13), STORY (13)

STORY (13)STORY (13)

STORY (8)STORY (8)

STORY (8)STORY (8)

STORY (5)STORY (5)

Top Stories for the Sprint Planning

Highest Business Value

Highest PrioritySmall StoriesTestable StoriesNo DependenciesSized Stories

Sprint BacklogSprint BacklogStory #1

Story #2

Story #3

Story #4

Task #1 - Story #1

Task #2 - Story #1

Task #3 - Story #1

Task #1 - Story #2

Task #2 - Story #2

Task #3 - Story #2

Task #4 - Story #2

Task #1 - Story #3

Task #1 - Story #4

Task #2 - Story #4

User Acceptance Test

Unit Test - Integration Test - System/UI Test

User Acceptance Test

User Acceptance Test

Stop on Sprint Velocity

Story OrderStories are committed to by the team

in priority order from the product backlog.

Story #1 first•Team commits/completes tasks•Teams commits/completes testing

Story #2 next•Team commits/completes tasks•Teams commits/completes testing

User Acceptance Test

Unit Test - Integration Test - System/UI Test - Load Test

User Acceptance Test

User Acceptance Test

User Acceptance Test

User Acceptance Test

User Acceptance Test

User Acceptance Test

Unit Test - Integration Test - System/UI Test

Unit Test - Integration Test - System/UI Test - Load Test

Unit Test - Integration Test - System/UI Test

User Acceptance Test

Unit Test - Integration Test - System/UI Test - Load Test

Story #3 next• and so on.....

Sprint Demo • The Team presents a demo of the completed deliverable product backlog items and/or architecture, documentation, etc. (note: the Team does the demo)• Maximum two (2) hour prep time box • Attendees include; • Team (Developers, Testers, Architects, QA, etc.) • Scrum Master • Product owner, Stakeholder(s), Customers • Any other interested parties, e.g. management, etc. • Demonstrate the functioning “potentially shippable product” only• NO POWERPOINT, a PowerPoint presentation is not a completed deliverable product backlog item.

DemoDemo

Sprint Retrospective – It’s about the TEAM! • Typically after each sprint• Typically 30 minutes• Whole team participates

• ScrumMaster• Product Owner• Team

• 3 Questions:• What did we do well?• What could we do better?• What are the action items for improvement going forward?

Start / Stop / Continue• Whole team participates

• What would we like to start doing?• What would we like to stop doing?• What would we like to continue doing?

RetrospectiveRetrospective

$$BudgetBudget

Plan Driven

QQQualityQuality

RRRequirementsRequirements

SSScheduleSchedule

SSScheduleSchedule

RRRequirementsRequirements

QQQualityQuality

$$BudgetBudget

Value DrivenAdjust & Adapt

2-4 week Iterations

Team collaboration

High value features delivered first

Short delivery cycle

Product owner participation

Control of the ROI

Requirements documents

Separation of work

Large budgets, ($1.4m)Long schedule, (18

mths)Extensive Contracts

67% Unwanted Features

Change control documents

0

250

500

750

1000

1250

1500

1750

2000

Value Driven

Stop Funding

Complete schedule early

$

S

R Highest value

delivered first

Plan Driven2000

Requirements18 Months

$1.2m67% Unwanted

Req.

3 6 9 12 1518

months

Requir

em

ent

sR

equir

em

ent

s

ROIROI

XX

Books / Agile

•Agile and Iterative Development: A Manager’s Guide by Craig Larman

•Agile Estimating and Planning by Mike Cohn

•Agile Project Management with Scrum by Ken Schwaber

•Implementing Lean Software Developent by Poppendieck

•Agile Retrospectives by Esther Derby and Diana Larsen

•Agile Software Development Ecosystems by Jim Highsmith

•Agile Software Development with Scrum by Ken Schwaber and Mike Beedle

•Scrum and The Enterprise by Ken Schwaber

•User Stories Applied for Agile Software Development by Mike Cohn

•Collaboration Explained by Jean Tabaka

•Agile Testing, A Particle Guide for Testers & Agile Teams by Lisa Crispin, Janet Gregory

Enterprise Architecture / Software Development

•Patterns of Enterprise Architecture by Fowler

•Working Effectively with Legacy Code by Michael C. Feathers

•xUnit Test Patterns Refactoring Test Code by Gerard Meszaros

Offshoring

•Speaking of India, Bridging Communication Gap working with Indians by Braig Storti

BooksBooks

Links•Agile Manifesto - http://agilemanifesto.org/

•ScrumAlliance - http://www.scrumalliance.org

•Agile Commons - http://agilecommons.org

•Agile Alliance - http://agilealliance.com

•StickyMinds - http://www.stickyminds.com

•Rally Software - http://www.rallydev.com/

•Control Chaos - http://www.controlchaos.com/

•Ken Schwaber, Conchango - http://www.controlchaos.com/

•Agile University - http://agileuniversity.org/

•SQE Training - http://www.sqe.com

•SQE Conferences - http://www.sqe.com/Conferences/Default.aspx

LinksLinks

•Agile Scrum Agile Scrum (4X Productivity)(4X Productivity)•Leadership Training Leadership Training (Staff (Staff

Development)Development)•Offshore Resourcing Offshore Resourcing (60% savings)(60% savings)

Thanks everyone!

You are free:

• to Share―to copy, distribute and transmit the work

• to Remix―to adapt the work

Under the following conditions

• Attribution. You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).

Nothing in this license impairs or restricts the author’s moral rights.

Please select the icon in the bottom right corner of any of these pages or see the licensing information on my web page available at http://www.bookhamer.com/copyright.html for proper representation of this material.

Credits:

• Some of the bullet points presented come from Mike Cohn, Mountain Goat Software, LLC.

• Some of the bullet points presented come from the top selling books listed in the Book Reference list.

Copyright Notice:Copyright Notice: