This document discusses approaching platform engineering with a design thinking mindset. It begins by outlining challenges with existing approaches, such as tools being difficult to use and responsibilities being blurred. It then defines platform engineering and describes design thinking, which integrates user needs, technology possibilities, and business requirements. The design thinking process involves empathizing with users to gain insights, defining opportunities, ideating solutions, prototyping ideas, and testing assumptions. The document argues that applying a human-centered design thinking approach helps focus on outcomes rather than just technology, surfaces conflicts, identifies new opportunities, and involves frequent testing with users. It concludes by recommending getting started with design thinking for platform engineering by identifying and prioritizing problems, engaging stakeholders
2. Julie Bork Nellegaard
Design Thinking Facilitator -
OpenCredo
About us
Nicki Watt
CTO - OpenCredo
@techiewatt
Looking to bridge the
Technical and Design
Thinking worlds.
3. Kubernetes &
CNCF Ecosystem
How we contribute
- As Technology Pioneers
- As Pragmatists who get stuff done!
- As Trusted Delivery Partners
What we believe What we do
We believe in unlocking business
value by inspiring, aligning and
building more reliable and smarter
software solutions that make life
better and easier for everyone
Partner with clients to build and
deliver innovative solutions by
blending Technical Excellence,
Design Thinking and a continuous
improvement mindset
- Cloud Native Architectures
- Application Development
- Data and Platform Engineering
About OpenCredo
6. In the push to adopt innovative technology
platforms, we have lost sight of the human
innovators actually trying to use it
Our observation
7. Why we need another way
Ref https://cloud.google.com/devops/state-of-devops
Useful, easy-to-use tools
Useful and easy-to-use tools are now considered a
must-have for consumer technologies, but these
obvious characteristics are often overlooked among
technology professionals who assume they are
experts and can make any tool or technology work.
In fact, the opposite is true:
When building complex systems and managing
business-critical infrastructure, tools are even more
important because the work is more difficult.
Highest performing
engineers
1.5times more likely to
have easy-to-use tools
9. Platform
“A digital platform is a foundation of
self-service APIs, tools, services, knowledge
and support which are arranged as a
compelling internal product. Autonomous
delivery teams can make use of the
platform to deliver product features at a
higher pace, with reduced co-ordination”
- Evan Bottcher
Tooling Docs
Services APIs
11. Platform as a Product
Properties of a good platform
Self Service
Empowers autonomous delivery teams,
encourages innovation
Clear Boundaries & Responsibilities
Promote automation and integration via clearly
defined interfaces, docs and processes
Consistent Good Practices
Promotes or enforces doing things the right way
especially for common cross cutting concerns
(security, logging etc)
Flexible & Evolvable
Opinionated enough, but able to adapt to
diverse client needs allowing deviations when
required
14. Design Thinking
is a human-centred approach that
integrates the needs of the people,
possibilities of technology and the
requirements for business success.
Feasibility
Technology
Humanising technology
Desirability
User
Viability
Business
Tim Brown, CEO of IDEO
20. Empathise
Understand as much as we can about
the different users, stakeholders and
context, and turn this into core insights.
Example insights
1. Apps fail intermittently and are unresponsive
Operations find releases are flakey and error
prone, often needing manual interventions and
heroics to keep stable or recover
2. Deployments are painful and take 5 days
Requires multiple hand off processes across the
teams
3. It takes a week to get a new test environment
Developers think releases and environment
provisioning take too long, which is holding them back
from delivering value fast
Focus on exploring
Key User
Journeys
21. - Minimise the number of operational callouts?
- Improve insights and feedback about the health of
the solutions to learn and improve?
- Speed up the deployment of a new application
into production?
- Reduce the friction in delivering new end-to-end
solutions?
- Empower teams to respond quickly to new
opportunities?
Define
Translate insights into meaningful and actionable
opportunity statements.
How might we...Example insights
1. Apps fail intermittently and are unresponsive
2. Deployments are painful and takes 5 days
3. It takes a week to get a new test environment
22. - Start testing in production!
- Introduce synthetic tests or transactions
- Offer a distributed tracing service
- Provide ability to do canary releases and
blue / green deployments
- Reduce number of bugs in production by
Introducing automated end-to-end testing
- Ensure all services can self-heal
- Setup & run “Chaos Days” to flush out
unexpected errors and situations
- Test in production
How might we minimise the number of
operational callouts?
Ideate
Explore different ways to solve the user needs and
current challenges based on our core opportunities.
How might we improve insights and
feedback about the health of the
solutions to learn and improve
23. Ideate
Filtering the ideas through
a Design Thinking mindset.
Feasibility
Technology
Desirability
User
Viability
Business
24. Ideate
Filtering the ideas through
a Design Thinking mindset.
Feasibility
Technology
Desirability
User
Viability
Business
Technical feasibility
● Able acquire right
skills
● Fits tech strategy
● Effort to implement
● Low risk
Business impact
● Long-term
sustainability
● Speed to market
● Affordable to launch
● Degree of innovation
User value
● Ease of use
● Delightful to use
● Solves the right
problems
25. Prototype
Make the solution tangible to
improve clarity and be able to test.
Building a working
prototype in a small team
Draw / map out a proposed
systems architectures, structures
& Key User Journeys
26. Test
Validate key assumptions by testing continuously
with core users and stakeholders.
Building a working
prototype in a small team
Draw / map out a proposed
systems architectures, structures
& Key User Journeys
Do a presentation or walkthrough
of processes or structures with key
stakeholders & users
Measure everything!
Continuous monitoring
and user tests
27. Test
Validate key assumptions by testing the
solution with core users and stakeholders.
https://cloud.google.com/dev
ops/state-of-devops
Helpful starter metrics -
Software Delivery and Operational (SDO) Performance
1. Lead time
How long does it takes to go from code check-in to release
2. Deployment frequency
How often are you releasing your changes to production
3. Time to restore
How long does it take to go from detecting a user- impacting incident to having it fixed
4. Change fail rate
How often do things fail when releases are made
29. Adding value
through Design
Thinking
Helps to focus on people &
outcomes not just technology
Surface conflicts & facilitate
hard conversations
Identify untapped opportunities
30. Relevant challenges to be
solved by applying a
more human-centred
approach
Based on a common set
of criteria taking into
account viability,
desirability and feasibility
With users and
stakeholders frequently
to make sure you are
solving the right problems
and in the right way
To go through as many
learning cycles of build -
test - learn as possible
Getting started
Identify Prioritise Engage Iterate