Marcel Baumann (tangly llc)
Why Agile?
Scrum Principles
Scrum Approach: Events, Roles and Artifacts
How to be Successful?
Customer centric
Small teams of professionals
Networked transparent communication
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time.
It allows us to rapidly and repeatedly inspect actual working software.
The business sets the priorities. Teams self-organize to determine the best way to deliver the highest priority features.
At least every two weeks anyone can see working software and decide to release it or not.
Transparency - Inspection - Adaptation
Scrum is founded on empiricism and lean thinking.
Empiricism asserts that knowledge comes from experience and making decisions based on what is observed.
Lean thinking reduces waste and focuses on the essentials.
No changes are made that would endanger the Sprint Goal.
Quality does not decrease.
The Product Backlog is refined as needed.
Scope may be clarified and renegotiated with the Product Owner as more is learned
Why is the Sprint valuable?
What can be done in this Sprint?
How will the chosen work get done?
Hold architecture workshops
Hold coding dojos at the end of the Sprint
Encourage team working including pair or mob programming
Document design and decisions for future team members
Extend the Definition of Done
You need conversations with stakeholders and users to fulfill the product goal.
All other meetings are a waste of time!
Progress meetings, status meetings, and steering committees are a waste of time and money.
Create a plan for the Sprint and the Sprint Backlog
Instill quality by adhering to the Definition of Done
Adapt their plan each day toward the Sprint Goal
Hold each other accountable as professionals
Develop and explicitly communicate the Product Goal
Create and clearly communicate Product Backlog items
Order Product Backlog items PBI
Ensure that the Product Backlog is transparent, visible and understood
Coach the team members in self-management and cross-functionality
Help the Scrum Team focus on creating high-value Increments that meet the Definition of Done
Cause the removal of impediments to the Scrum Team’s progress
Ensure that all Scrum events take place and are positive, productive, and kept within the timebox
Help find techniques for effective Product Goal definition and Product Backlog management
Help the Scrum Team understand the need for clear and concise Product Backlog items
Help establish empirical product planning for a complex environment
Facilitate stakeholder collaboration as requested or needed
Lead, train, and coach the organization in its Scrum adoption
Plan and advise Scrum implementations within the organization
Help employees and stakeholders understand and enact an empirical approach for complex work
Remove barriers between stakeholders and Scrum Teams
Clean code and refactoring
Version control
Continuous integration and delivery
Automated test suite, see TDD, ATDD, BDD
Configuration and documentation as code
]
A team works on a product. Avoid story factories.
Deliver often. Collect feedback.
Exhaustive requirements document at the beginning of the project is a fallacy. Requirements are continuously refined.
Detailed planning for the next year and tracking in hours are pointless.