SCRUM Product Owner Training
April 2018
Dimi Balaouras
CTO & Software Architect
Experienced SCRUM Master
Certified SCRUM Product Owner
Expectations
- Basic Understanding of Agile Dev Principles
- Familiarise with the SCRUM Framework
- Roles
- Ceremonies
- Artifacts
- Understanding of the Importance of the PO Role
- Basic Understanding of PO's Responsibilities
PART #1
SCRUM & Xtreme Programming & KanBan
An Introduction to Agile Development
Expectations
- Basic Understanding of Agile Dev Principles
-
Familiarise with the SCRUM Framework
- Roles
- Rituals
- Artifacts
PART #2
SCRUM PO Training
Expectations
- Familiarise with SCRUM's work flow
- Understand the nature of each SCRUM Role
- Understand of the Importance of the PO Role
- Understand of PO's Responsibilities
"I'm not interested in people's ideas ...until I see their execution."
—Derek Sivers
How efficient is your Development Process?
Efficiency
- Velocity
- Quality
- Time To Market
- Customer Satisfaction
- End-User Satisfaction
- Developer Satisfaction
- What is your ROI
HOW TO
build a Tool users need
WHEN
clients can't know what they need before using it
Agile Development
SCRUM
XP
KanBan
AgileDevelopment
- A methodology for Developing Software
- Conceived in 2001 by 17 Software Engineers
- It's typically presented as the solution to the waterfall framework problems.
- Embraces Early Delivery and Adaptive Planning
- Encourages change in specs and priorities.
Agile Manifesto
-
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 on
the right, we value the items on the left more.
Execution Goals
- Self-organizing teams
- Motivated, trusted developers
- Customer-Developer collaboration
- Sustainable development at a constant pace
- Working software delivered frequently
- Customer satisfaction
- Developers satisfaction
SCRUM
An Agile Development Methodology
Origin: Rugby SCRUM
A SCRUM
SCRUM Framework
Roles
- SCRUM Team (3-7 developers)
- SCRUM Master (1 developer)
- Product Owner (1 stakeholder)
Artifacts
- User Story
- Product Backlog
- Sprint Backlog
- Sprint
- Release
SCRUM Metrics
- Story Point
- Team Capacity
- Team Velocity
- Test Coverage
- Release Backlog Size
SCRUM Ceremonies
- Sprint Planning (at the beginning of each sprint)
- Daily Standup (daily)
- Sprint Review (end of each sprint)
- Retrospective (end of each sprint)
- Backlog Grooming (any time)
- Release Planning (any time)
Sprint Planning
Planning Poker
Daily Standup
Sprint Review
Sprint Retrospective
Use Cases
- Startups
- Small to Medium Software Houses (*)
- Remote Teams
- Actually...it's for any organization!
- Not easy when you have parallel projects
*) Large organizations use SAFe
Recommended Tools
- Rally Software (CA Agile Central)
- Jira Agile
- Taiga (open source and free)
Xtreme Programming
An Agile Development Practice
Principles
- Simplicity (start lean) / Vertical Slicing
- Many , frequent and small Releases
- Constant communication with the client
- Plain/Simple Designs & Documentation
- Distribute knowledge amongst the team
- Monitor Code Quality
- Test Driven Development
Practices
- Pair Programming
- Test Driven Development
- Code Reviews
- Continuous Integration
- Measure Code Quality
- Promote Refactoring
Pair Programming
Test Driven Development
Code Reviews
Continuous Integration
Use Cases
- Small Co-located teams
- Lean Startups
- Together with SCRUM
Tools
- Version Control Systems: Github, Gitlab, Bitbucket
- Code Reviews: SmartBear's CodeCollab, Atlasian's Crucible
- Cont. Integration: Jenkins
- Security Scanning: Zed Attack Proxy, IBM AppScan
- Cont. Deployment: Ansible, Fabric, Amazon Code Deploy.
- Code Quality Management: SonarQube (open source)
- Various Unit Testing frameworks
- Code auto-formatters
KANBAN
A Visual Process Management Method
Inspired by: Toyota Production System
KanBan Board
Use Cases
- Sprint Progress
- Product Roadmaps
- EPIC Backlog
- Small Scrum Teams
Tools
Conclusion
You need an Agile Methodology When:
- The team has >1 developers
- The project is B2C
- The customer doesn't know what features are really needed.
- You want to build a strong Developers Team
- You want to give your project a high pace
Attention to the following:
- Product Owner (PO) is an extremely important Role.
- A passive PO can destroy a product.
- A good PO can create fantastic results.
- Anticipate some chaos in the beginning.
- Test Driven Development is required to ensure Quality
- You need at least one experienced SCRUM Coach in the team.
- The SCRUM coach MUST help the PO (not just the Devs).
Time for Questions!
Agile Development 101 (ENG)
By Dimi Balaouras
Agile Development 101 (ENG)
An introduction to Agile Development, focusing on XP, SCRUM and KanBan.
- 604