Decision-making for Software Development Teams
Decision-making for Software Development Teams
Learn how to make mindful decisions in complex software ecosystems
About the Book
What is a decision? What makes a decision important? How much do we struggle to make a decision? What type of impact do you think that decision will have?
Whatever the case - from choosing a programming language for a shiny new greenfield project to moving to a microservices architecture and everything in between - the life of a software developer is punctuated with decisions.
A good developer needs to be a good decision-maker, and decision-making is a crucial skill for software developers. This skill can be learnt and practised.
This book aims to introduce developers to some theoretical concepts about how to make mindful technical decisions. It is a journey throughout a decision-making process, with real-life examples and case studies.
The next time you and your team face a decision to be made, the stories and the easy-to-apply exercises in this book will help you understand how to involve the right people, gather valuable data and better analyze the context to decide how to decide.
Table of Contents
Preface: Why a book on decision-making for developers?
Chapter 1: Decision-making anti-patterns
Chapter 2: A decision-making process
Chapter 3: Involve the right people
Chapter 4: Gather data - Business needs
Chapter 5: Gather Data - Users
Chapter 6: Gather Data - Context
Chapter 7: Choose non-functional requirements
Chapter 8: Comparing solutions
Chapter 9: A decision-making meeting: a use case
Chapter 10: Deciding how to decide
Appendix A: Interviews
Appendix B: Cynefin Framework
About the Contributors
Table of Contents
-
Preface
- Why a book on decision-making for developers?
- Who is this book for?
- What does this book cover?
- Bonus: My growth as a decision-maker
- The Frameworkless Movement
- Consultancy
-
Chapter 1: Decision-making anti-patterns
-
1.1 Hype-driven development
- 1.1.1 Exploiting Hype
- 1.2 The usual path
- 1.3 The expert
- 1.4 Rage-driven decisions
- 1.5 The role of company culture
- Summary
-
1.1 Hype-driven development
-
Chapter 2: A decision-making process
- 2.1 Ingredients for a better technical decision-making
- 2.2 My basic decision-making process
- 2.3 How to design your own process
- Summary
-
Chapter 3: Involve the right people
-
3.1 The software development team
- 3.1.1 Meet your neighbours
- 3.2 Explore power structures
-
3.3 Whom to involve?
- 3.3.1 Impact
- 3.3.2 Reversibility
- 3.3.3 Classify decisions
- Summary
-
3.1 The software development team
-
Chapter 4: Gather data - Business needs
- 4.1 Know the reason why
- 4.2 Business Model Canvas
- 4.3 Value Proposition Canvas
- 4.4 Elevator pitch
- Summary
-
Chapter 5: Gather Data - Users
-
5.1 The UX data journey
- 5.1.1 Design thinking
- 5.1.1.1 Discover
- 5.1.1.2 Define
- 5.1.1.3 Ideate
- 5.1.1.4 Prototype
- 5.1.1.5 Test
-
5.2 In which ways can UX design contribute to the development process?
- 5.2.1 A rich context for decisions
- 5.2.2 Identify waste
- 5.2.3 Design System
- 5.3 UX designers and developers collaboration
- Summary
-
5.1 The UX data journey
-
Chapter 6: Gather Data - Context
-
6.1 Knowing the “Age”
- 6.1.1 The 3X Model
-
6.2 Knowing the team
- 6.2.1 Skill Matrix
-
6.3 Express Constraints
- 6.3.1 Trade-off slider
- 6.3.2 SWOT analysis
- Summary
-
6.1 Knowing the “Age”
-
Chapter 7: Choose non-functional requirements
- 7.1 Introducing non-functional requirements
-
7.2 Select NFRs
- 7.2.1 Ubiquitous Language
- 7.2.2 Validity of the NFRs
- 7.2.3 How many NFRs?
-
7.3 Visualizing NFRs
- 7.3.1 Architecture Compasss Chart
- 7.4 Output Vs Outcome
- Summary
-
Chapter 8: Comparing solutions
-
8.1 The Last Responsible Moment
- 8.1.1 Case Study: The Startup
-
8.2 The fishbowl
- 8.2.1 Case Study: The New Team
-
8.3 Pros/Cons/Fixes
- 8.3.1 Case Study: The Mobile application
-
8.4 Visual Comparison
- 8.4.1 Case Study: The Big Rewrite
-
8.5 Weighted Ranking
- 8.5.1 Fitness Functions
- 8.5.2 Case Study: The Pivot
- 8.6 Mixing Tools
- Summary
-
8.1 The Last Responsible Moment
-
Chapter 9: A decision-making meeting: a use case
- 9.1 The Setting
- 9.2 Preparatory calls
- 9.3 Check-in
- 9.4 Involve the right people
- 9.5 Gather Data
- 9.6 Choose non-functional requirements
- 9.7 My Comments
- 9.8 Comparing solutions
- Summary
-
Chapter 10: Deciding how to decide
- 10.1 Classify decisions: The Impact/Reversibility map
- 10.2 Choosing the right tool for the right job
-
10.3 Who should decide?
- 10.3.1 The delegation board
- 10.3.2 Delegation map
- 10.4 Transforming Decisions
-
10.5 Other methods to classify decisions
- 10.5.1 Strategic, Tactical, and Operational
- 10.5.2 Complex/Complicated
- Summary
-
Appendix A: Interviews
- Alessandro Calzavara: Decision-making in a greenfield project
- Antonio Dell’Ava: A UX designer’s point of view
- Erin Casali: Psychological Safety
- Marco Calzolari: Talent Canvas
- Lorenzo Massacci: Collaborative decision-making
- Francesco Tassi: Technical decision-making in a fintech company
-
Appendix B: Cynefin Framework
-
- Obvious
- Complicated
- Complex
- Chaotic
- Disorder
-
- Acknowledgements
- Bibliography
- Notes
About the Publisher
This book is published on Leanpub by Avanscoperta
Avanscoperta is the go-to learning space for software developers and any professional involved in the digital ecosystem.
As a publisher, we want to help some of our most innovative trainers and collaborators to formalize their wisdom in books.
We are a growing community of professionals and we share a great passion for learning: we like exchanging experiences and ideas, and exploring uncharted territories within the software world in its broadest possible meaning.
Our goal is to spread knowledge independently from the format (courses, publications, talks...) so getting into books seemed obvious.
We strongly believe that high quality always pays off. We carefully select the most relevant topics and the best trainers and thought leaders worldwide. We prefer practical teaching approaches, even in the remote scenario, with an eye for the most engaging teaching techniques. Start from the problems, not from the solutions: that’s the guiding principle we always stick to when building our educational offer.
We want to turn the software world into a better place, and we do all we can to make it happen, one step at a time, learning something new every day. That’s why our motto is We Are Learners!
The Leanpub 60 Day 100% Happiness Guarantee
Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.
You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!
So, there's no reason not to click the Add to Cart button, is there?
See full terms...
Earn $8 on a $10 Purchase, and $16 on a $20 Purchase
We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
In fact, authors have earnedover $13 millionwriting, publishing and selling on Leanpub.
Learn more about writing on Leanpub
Free Updates. DRM Free.
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.
Learn more about Leanpub's ebook formats and where to read them