ADM Overview - Customers
Post on 07-Sep-2014
6312 Views
Preview:
DESCRIPTION
Transcript
Adaptive Development Methodology
Steve Greene
Sr. Director, Tools & Agile Development
Core Values
KISS Listen to your customers Iterate
What is ADM?
ADM is a modified Scrum/XP style of product development that is specific to Salesforce. It employs Scrum project management framework, adopts certain XP practices and is based on lean principles.
What is ADM?
Re-factoring
Self-organizing
Predictable releases
Transparent
Ftest - Selenium
Continuous integration
Debt free
Just-in-timeIterative
Always Potentially Releasable
Time-boxed
User stories
AgileLean
Early feedback
Code Reviews
Collective Code Ownership
Self-correcting
What is Scrum?
An agile project management framework for developing software
Simple Prioritized work Time-boxed, 30-day sprints
Self-organized, empowered teams Daily, verbal communication Potentially “production quality” every
30 days
What is Scrum?
Eliminates waste Increases throughput Provides transparency
What is Scrum?
Scrum Lifecycle
Daily Scrum Meeting
Sprint Review: Demo Potentially Releasable New
Functionality
Product Backlog
Sprint Backlog
Retrospective
24 Hours
2 - 4 Weeks
The Scrum Team
QE EngineerDeveloper
Developer
QE Engineer Developer
Tech Writer
UE Designer
Product Owner
Roles: Product Owner
Single throat to choke
Fully accountable for the success or failure of the scrum team
Owns and prioritizes Product Backlog
Roles: Product Owner
Leverages team to break down Product Backlog
Creates Release Backlog by targeting priority Product Backlog
Directly drives development
Fully engaged
Roles: ScrumMaster
Ensures Scrum Team lives by the principles and practices of Scrum
Removes obstacles
Coach
Roles: Scrum Team
Cross-functional team
Has tasks on the Sprint Backlog
Self organizing, Self correcting. Teams decide best way to deliver
Makes their own commitment with the resources available, decides how best to distribute tasks to team members
Members are dedicated resources (as much as possible)
Optimally 6-10 people
Product Backlog
Key to success of Scrum
Master list of functional and non-functional items desired in the product (features, bugs, re-factoring)
Anyone can add to Product Backlog
Product Owner is the only person that prioritizes Product Backlog
Includes relative estimate of size of features (design, code, test, automate, refactor, doc, fix bugs)
Product Backlog Sample
Release Planning
Communicate a common vision for the release
Initial Design
Align team on proposed functionality
Determine target functionality for the release
Sprint Backlog
Tasks necessary to complete user stories
Many-to-one relationship with user stories
Coding, testing, automation, specs, doc, design, etc.
Sprint Planning
Determine the Sprint Goal
Determine work necessary to complete the goal (with time estimates)
Make commitments for the Sprint
Sprint Planning Meeting
Team “dog piles” on user stories
Team figures out how to deliver Sprint Goal even without a resource on the team who normally does a particular type of work
Product Owner may negotiate but Team always determines what they can complete during the sprint
The standards by which we define "done" for sprint functionality is key to the success of iterative, incremental development. Functionality that meets these standards at the end of a sprint will be considered potentially release-able and demoed at the Sprint Review.
Definition of “Done”
User Stories All defined Acceptance Criteria for a user story have been met.
Code Code implementing the user story functionality is checked in and follows department standards. No open regressions (you break it, you own it), with automated tests written for all regressions. No open P1 & P2 bugs for the implemented functionality in the sprint.
Quality Code Coverage of 70% Test plan, cases and execution for sprint functionality, regression and cross functional test
cases related to sprint functionality, need to be 100% executed, and all P1/P2 cases passing. All resolved bugs have been verified and closed for the sprint functionality.
Definition of “Done”
Performance/Scalability Performance/Scalability impact of sprint functionality understood and quantified, and systesting
scheduled, if required, with the sys test team.
User Experience UE reviewed new features or significant changes in the UI, feedback incorporated, all resulting
P1 and P2 UI bugs fixed. Usability testing completed, feedback has been incorporated into the backlog.
Localization All UI components have labels ready for localization vendors.
Documentation User doc describing all aspects of sprint functionality complete / checked in.
Definition of “Done”
Autobuild Page
Sprint Review
It’s all about feedback, visibility and course correction
All teams demo done functionality to All Technology / Stakeholders
Takes place after the last day of the Sprint
Sprint ReviewUser Story Doneness Checklist
Done Criteria Handshake POC
Setup Page
BT & Profile Perm
Code checked in and follows department standards.
No open regressions. Automated tests written and reviewed for all regressions.
No open P1 & P2 bugs
Code Coverage of 70% (or as agreed with team)
100% of test cases logged in QA Tracker and executed in a QA environment, and all P1/P2 cases passing.
All resolved bugs verified and closed.
Performance/scalability impact ascertained and sys testing scheduled if required.
UE has reviewed any new features; P1 and P2 UI bugs fixed.
Usability testing scheduled when necessary, and feedback incorporated into backlog.
All UI labels ready for localization vendors.
User documentation complete and checked in.
Looks at “how” team operates and product is built (process, tools, etc.)
Occurs after every Sprint
What went well?
What didn’t go well?
What will you do differently next time?
Retrospective
ADM Principles
1. Eliminate Waste – Optimize the delivery of customer value
2. Build Quality In – Design and engineer quality into our products rather than ensuring quality through late-cycle manual testing
3. Respect People – Build empowered, self-organizing, high performing teams
4. Optimize the Whole – Overall throughput of customer value is more important than individual utilization
5. Create Knowledge – Encourage continuous learning, improvement, and innovation
6. Just-in-Time Decisions – Break dependencies, maintain options, and make irreversible decisions at the last responsible moment
7. Deliver Fast – Deliver customer value early and oftenBased on Lean Principles
ADM Customer Advantage
Time-to-market : Frequent value delivery Flexible, responsive & effective R&D team Predictable and reliable Customer influence : priority of features More of the right value, more often
top related