The collaboration between business and technology while building digital products is still not as close as it should be. This lack of close collaboration and common understanding that product and software design mutually impact each other leads to badly designed systems that can constrain business evolution.
In this talk, Codurance co-founder Sandro presents helpful techniques on how a more collaborative way of working can be achieved, in order to align product and software design.
Link to the video: https://www.youtube.com/watch?v=PGsW9qFb-_M
The video was recorded at SCLConf 2019, an annual conference for software professionals that care about their craft. Learn more about SCLConf at https://sc-london.com/
https://twitter.com/SCLConf
2. the alignment of activities to outcomes
measured by value,
constrained by guiding principles and
supported by continuous delivery technologies
#noprojects
Evolving Software Products
7. Product Design phases
Ideation Strategy Planning Development
Define business
goals and come up
with a viable
product vision to
satisfy these goals.
Create a high-level
evolutionary
business strategy
and technical
vision for the
product.
Create a detailed
implementation
plan according to
the delivery
capability, risks,
budget, deadlines,
regulations, etc.
Refine
requirements,
build features and
infrastructure,
test, and release
to production.
8. How do we make it iterative?
Ideation Strategy Planning Development
Define business
goals and come up
with a viable
product vision to
satisfy these goals.
Create a high-level
implementation
strategy and
technical vision for
the product.
Create a detailed
implementation
plan according to
delivery capability,
risks, budget,
deadlines and
regulations.
Refine
requirements,
build features and
infrastructure, test
and release to
production.
11. Strategic product strategy with a reactive technical strategy
Should business decisions be made without technical inputs?
When should technical vision and strategy be created and refined?
15. Ideation – Product Definition
Objective: Define business goals and a viable product vision to satisfy these goals.
Value Proposition Design by Alexander Osterwalder
18. Objective: Identify if the product can be built, providing an idea of ongoing investment, risks and timelines
Common activities
• Identify the main functional areas of the product
• Experiments (PoCs & prototypes — prove hypothesis)
• Identify what to buy, build, and integrate
• Identification and mitigation plan for technical risks
• High-level indication of investment (ongoing costs and time)
• Understand how the product fits in the wider ecosystem
Ideation – Technical Feasibility
19. Objective: Create a unified technical vision between business and technology
Ideation – Technical Vision
20. Objective: Create a unified technical view with business and technology
Ideation – Technical Vision
21. Ideation – Business and Technology Interplay
Business and technology alignment
Shared and more realistic product vision
Context for pro-active and supportive technical strategy
24. Strategy
Objective: Create a high-level evolution plan and technical vision for the product
Common activities
• Analyse and mitigate all major risks, constraints and uncertainties
• High-level analysis of the different areas of the system
• Integration with internal and external systems
• High-level product architecture
• High-level people planning and skills, team(s) size and organisation
27. Strategy – Business and Technology Interplay
Common understanding of business and technical strategy
Technical architecture created to support the business
More realistic and sustainable product roadmap
High-level modularisation makes it easier to plan
30. Planning - Milestones
Objective: Define the next milestone goals and respective Minimum Valuable Increments
Goal
Actor 1
Impact 1
Deliverable 1
Deliverable 2
Impact 2 Deliverable 3
Actor 2
Impact 3
Deliverable 4
Deliverable 5
Impact 4
Deliverable 6
Deliverable 7
31. Planning – Milestone technical strategy
Objective: Create a technical strategy to delivery the next milestone goals.
32. Planning – Business and Technology Interplay
Technical effort, risks, and dependencies impact prioritisation of MVIs
Easier to size MVIs when high-level technical details are known
Helps to distribute work across teams efficiently
Technical solution designed to support Continuous Delivery
40. Development – Business and Technology Interplay
Test and deployment strategies for each increment
Enables Continuous Delivery
Detailed design helps to identity risks, dependencies and unknowns
Enable safe evolutions of the code while keeping it maintainable
Pro-active and continuous technical improvement aligned with business value
Prevents accumulation of technical debt
41.
42. Single product and technical strategy that is …
… continuously evolved by business and technology working as a single team.
43. In a software product, software design should
be an explicit part of the business strategy.