Organizations have been adopting agile at an ever increasing rate. These transformations typically involve bringing a horde of consultants, sending a bunch of people to agile certification classes and then followed with up with a lot of rigor around agile principles, values, and mindsets.
While this process can be successful they are could be so much more by looking at the entire process of developing and delivering software - specifically product thinking and technical practices (DevOps) .
In this presentation we will look at how all of these things work together to take your agility to the next level. It will cover what happens if you only adopt some these practices and walk you through how you can bring these ideas to your organization.
6. An Agile journey
1. We should be agile!
2. Bring in the consultant(s)
3. Go to training/earn certifications
4. Preach and evangelize
5. Develop the agile mindset
7. The Agile
Mindset
An agile mindset is the set of attitudes supporting
an agile working environment. These include
respect, collaboration, improvement and
learning cycles, pride in ownership, focus on
delivering value, and the ability to adapt to
change - Susan McIntosh
13. What does
DevOps
provide?
Builds trust in our systems
Can make production changes with
ease
Releases are non-events
More frequent releases
Can adapt to the market faster
14. How does
DevOps do
this?
Build quality in at every level
Automated testing is the foundation
Continuous Integration and Deployment
(CI/CD) to find issues quickly
Pairing/Mobbing to ensure code quality
Environment virtualization
19. What's a
feature
factory?
Putting features into production w/out any
regard to if users are getting value out of the
features
Focus on outputs (number of features in
production) vs outcomes (actual stuff that users
need/want)
DevOps exacerbates the feature factory
problem
Feature factories lead to feature debt
28. What is
product
thinking?
Ensuring you are building the right
thing for your customers
Intersection of Product
Management and User Experience
(UX)
Using empiricism to track how your
product is being used
35. Agile Mindset DevOps Product Thinking
Agile Mindset Feature Factory Fast Feature Factory Hard to learn quickly
DevOps Fast Feature Factory Fast Feature Factory
Missing
organizational mindset
Product Thinking Hard to learn quickly
Missing
organizational mindset
Hard to learn quickly
36.
37. Takeaways
• DevOps and Product thinking are complementary practices – not
competing ones
• The agile mindset is a starting point, but we need to have the tools to
experiment and learn quickly
• DevOps is necessary to get fast feedback from customers
• Product Thinking helps ensure what you are delivering is the right
thing
• These things are great individually but practicing these things
together give you next level agility
Good afternoon – welcome to the first session after lunch on the last day of the conference!
Thank sponsors and check out booths - they are the heart of any convention and make everything possible and more importantly affordable
Also thanks to the volunteers for helping make this event happen
Thank you for coming, this is my second year presenting at Path. Last year I was up in the Cartoon room which I have to say was in the sketchy part of the building.
Let’s do a quick exercise to stand-up and move around a bit
STAND-UP- STRETCH – if there’s not enough room maybe just raise your arms and wiggle your fingers
Before we start I kind of want to give you the idea of where this presentation came from
Presentation somewhat inspired by Bob Galen at Path last year where he talked about how agility is becoming more and more about decreasing the time it takes to get something to production
So that got me thinking about all of the things we do from an agile transformation. Along the way I started reading more and more about DevOps (technical practices) and Product thinking and that’s where this presentation comes from. The more I looked into it the more I realized that these three things are complementary and will lead us to the next level of agile
Why agility?
It’s what everyone else is doing
The want to better meet the needs of the market
Need to be able to respond to change faster
Better relationships with stakeholders who are now part of the process
Quality
They want to deliver value faster and more often
We should be agile!
Bring in the consultant(s)
Go to training/earn certifications
Preach and evangelize
Develop the agile mindset
Let’s go back to Bob’s central idea – but let’s talk about it first
How often do you release?
How often do you release to production?
Yearly
Quarterly
Monthly
Weekly
Daily
Hourly
We just released 10 features in the time it took to read this
Why don’t we release more often?
Lots of reasons
- Some legal regulatory issues
- Regression testing
- Lots of teams migrating to production
- Don’t want to break something in production?
- Don’t want to impact users
Customers can’t take frequent releases
The agile mindset is a good starting point
We need to have the ability to have fast experiments so we can learn as quickly as possible
So you shipped a few features
Are your users/customers using it?
Are they using it as much as you thought they would?
Is it delivering the expected value to your customers?
Are they using it like you thought they would?
65% of features are never used
Reasons for underuse
Is the feature marketed correctly?
Is the feature discoverable?
Is the feature usable?
Do users need training on the feature?
Did customers want/need it?
IT’s very hard to kill features – sometimes you have to kill your babies?
Feature debt - code
Automated tests that must be run/maintained
Impacts development of new features
Cost to support the code
Performance impact
Feature Debt - UX
Consumes critical screen/menu real estate
Interface clutter – makes valuable features hard to find
Agile talks about delivering value to the business but are we sure that we are delivering value?
Need to deliver smaller and smaller features and ensure that they are performing as expected
https://econsultancy.com/how-top-performing-digital-companies-use-product-thinking-to-succeed-stats/
How do we get there?
Telemetry
Add metrics/analytics to every part of your application
Track how users are moving through your application
Product owners/managers should be armed with data about how their application is being used
What are your most popular/least used features
If you can’t build telemetry into your application look for alternatives – database stats/server logs/ anything that provides information on how your users are using your applicaiton
Talk to your customers
It’s relatively cheap!
They know that they want*
They know what they don’t want
Intersection of PT and DO
Push a feature into production that only certain users can see
Test in production against production data
Can do A/B testing to see if the feature is worth it
Thank you so much for coming out to hear me talk,
If you have any questions about my presentation let’s talk about them now