Product owners are under pressure from Marketing and Leadership to focus on features, while operability (availability, performance, monitoring, etc) are an afterthought to be bolted on later. Deployments fail, customers complain, and work isn't fun. How can DevOps reach out to Product?
People from a "Product background" often have zero technical experience, but find themselves needing to dictate the deliverables. Product owners are under great pressure from Marketing and Leadership to focus on "features" from a customer perspective; the so-called "non-functional requirements" often fall by the wayside. Operability - monitorabilty, recoverability, availability, performance, among other aspects - is difficult to bake into an application that was developed without such consideration.
This talk will present practical approaches to bridge-building between Ops and Product. Focusing especially on cross-functional Agile teams with leadership with little or no Ops background, we will explore whether "planning the work will result in the planned work being the work that is done." When working with a mixed team, doing development, deployment, incident response, and everything in support of that, such plans go off the rails. Methods of championing Ops needs while avoiding "the sky is falling" perceptions will be presented. What kinds of unplanned work exist? Are there steps we can take to convert unplanned work into planned work? How does work flow through the team? How does unplanned work disrupt the flow?
16. • Understand a PO
• Understand a PM
• Identify conflicts
• Build bridges
Changing the Dynamic
Via blogspot
17. • Often “non-technical”
• Defends the team to the
customer
• Little control over outcomes
• Transitional role
Meet Your PO
via lifebuzz
18. • Quantitative / financial background?
• “Plan the work, work the plan”
• PMP certification - “waterfall” thinking
• Often first software project
Meet Your PM
via oldpix
19. • Lonely
• Afraid
• Stressed
Life as a PM/PO
bernard goldbach via flickr / CC-BY
21. The PO/PM doesn’t understand
any technical details!
Conflict Point: Common Language
The engineers speak in
technobabble!
“I feel misunderstood”
Dev / Ops: PO / PM:
22. Can you speak in customer language?
Personal investment, workmanship bias
Being “Non-Technical”
ctak via flickr
23. To be a PO:
• Negotiation, compromise
• Business domain knowledge
• People skills, patience,
listening
Being “Non-Technical”
Via brauctworks
25. It doesn’t matter how much we
plan, there will always be
unexpected work.
Conflict Point:Unexpected Work
When we commit to a sprint,
that’s exactly the work I as a PO
expect to happen - anything else is
unauthorized.
“No one understands where work comes from,
or who commits to it.”
Dev / Ops: PO / PM:
30. PMs expect software development
and operations to be predictable,
and it simply never will be.
Conflict Point: Estimation
The engineers can’t be trusted to
give good estimates, and my
schedules keep getting ruined!
“I cannot control the outcomes
for which I am accountable.”
Dev / Ops: PO / PM:
31. • Ops unfamiliar with Agile estimation
• Modeling => loss of detail
• Points have one input, one output
• Discards a lot of context and risk data
Conflict Point: Estimating Work
32. Best
Case
Typical
Worst
Case
Expected
Risk
Index
A 3 4 20 6.5 0.8
B 1 4 20 6.2 0.8
C 3 4 5 4 0.2
Inputs:
• Best-Case
• Typical
• Worst-Case
Outputs:
• Expected Effort
• (1xBest + 4xTypical + 1xWorst) / 6
• Risk
• 1 - (Typical / Worst)
Solution: Three Estimates
See Software Estimation
by Steve McConnell - p120
33. Every service must be scalable,
monitorable, manageable -
basically, operable.
Conflict Point: Ops Needs
The customer didn’t ask for
monitoring; we’re not going do it.
Later: Why do we keep getting
surprised by outages?
“Operations needs are not considered…
until too late.”
Dev / Ops: PO / PM:
34. • Early ops consults
• Whole team can add missed
stories
• Focus on working deployed
software
• Make tradeoffs clear
• inoperable == missed SLAs
Tactical: Operational Needs
egonsarv via pintrest
35. Separate Dev and Ops
CTO
VP Eng
Product Team A
Dev
Dev
Product Team B
Dev
Dev
QA Team
QAE
QAE
VP Ops
DB Team
DBA
DBA
Sys Team
SRE
SRE