Welcome “Agile Explained” The Agile Scrum Software Development Lifecycle “Adjust and Adapt /...
-
Upload
henry-mathews -
Category
Documents
-
view
220 -
download
1
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: