Leanpub Header

Skip to main content
Avanscoperta

Decision-making for Software Development Teams

Learn how to make mindful decisions in complex software ecosystems

Learn how to make mindful decisions in complex software ecosystems

Minimum price

$24.99

$24.99

You pay

$24.99
$

...Or Buy With Credits!

You can get credits with a paid monthly or annual Reader Membership, or you can buy them here.
PDF
EPUB
WEB
138
Readers
About

About

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

Share this book

Author

About the Author

Francesco Strazzullo

I'm a Fullstack developer @ Flowing. I started working professionally in the J2EE ecosystem and, later in my career, I decided to specialize in front-end development. Apart from being a developer, I love to share my thoughts and experiences in blog posts and talks. I participated in conferences around Europe talking about JavaScript, Testing and Agile Methodologies.

I'm one of the founders of the Frameworkless Movement, a group of developers interested in developing applications without frameworks.

I transformed my passion for sharing in a second job, I started to give lessons and workshop. In 2017 I became one of the Avanscoperta's trainers with my workshop "Frameworkless Front-End Development". Two years later, I distilled that workshop in a book with the same title.

I spent these last years between developing software and being a consultant helping development teams in making mindful technical decisions.

I really love comics and videogames, so I spent most of my free time reading or playing games on Playstation. I also love cooking, so during the weekends I relax preparing new dishes for my wife.

Contents

Table of Contents

Preface

  1. Why a book on decision-making for developers?
  2. Who is this book for?
  3. What does this book cover?
  4. Bonus: My growth as a decision-maker
  5. The Frameworkless Movement
  6. Consultancy

Chapter 1: Decision-making anti-patterns

  1. 1.1 Hype-driven development
  2. 1.1.1 Exploiting Hype
  3. 1.2 The usual path
  4. 1.3 The expert
  5. 1.4 Rage-driven decisions
  6. 1.5 The role of company culture
  7. Summary

Chapter 2: A decision-making process

  1. 2.1 Ingredients for a better technical decision-making
  2. 2.2 My basic decision-making process
  3. 2.3 How to design your own process
  4. Summary

Chapter 3: Involve the right people

  1. 3.1 The software development team
  2. 3.1.1 Meet your neighbours
  3. 3.2 Explore power structures
  4. 3.3 Whom to involve?
  5. 3.3.1 Impact
  6. 3.3.2 Reversibility
  7. 3.3.3 Classify decisions
  8. Summary

Chapter 4: Gather data - Business needs

  1. 4.1 Know the reason why
  2. 4.2 Business Model Canvas
  3. 4.3 Value Proposition Canvas
  4. 4.4 Elevator pitch
  5. Summary

Chapter 5: Gather Data - Users

  1. 5.1 The UX data journey
  2. 5.1.1 Design thinking
  3. 5.1.1.1 Discover
  4. 5.1.1.2 Define
  5. 5.1.1.3 Ideate
  6. 5.1.1.4 Prototype
  7. 5.1.1.5 Test
  8. 5.2 In which ways can UX design contribute to the development process?
  9. 5.2.1 A rich context for decisions
  10. 5.2.2 Identify waste
  11. 5.2.3 Design System
  12. 5.3 UX designers and developers collaboration
  13. Summary

Chapter 6: Gather Data - Context

  1. 6.1 Knowing the “Age”
  2. 6.1.1 The 3X Model
  3. 6.2 Knowing the team
  4. 6.2.1 Skill Matrix
  5. 6.3 Express Constraints
  6. 6.3.1 Trade-off slider
  7. 6.3.2 SWOT analysis
  8. Summary

Chapter 7: Choose non-functional requirements

  1. 7.1 Introducing non-functional requirements
  2. 7.2 Select NFRs
  3. 7.2.1 Ubiquitous Language
  4. 7.2.2 Validity of the NFRs
  5. 7.2.3 How many NFRs?
  6. 7.3 Visualizing NFRs
  7. 7.3.1 Architecture Compasss Chart
  8. 7.4 Output Vs Outcome
  9. Summary

Chapter 8: Comparing solutions

  1. 8.1 The Last Responsible Moment
  2. 8.1.1 Case Study: The Startup
  3. 8.2 The fishbowl
  4. 8.2.1 Case Study: The New Team
  5. 8.3 Pros/Cons/Fixes
  6. 8.3.1 Case Study: The Mobile application
  7. 8.4 Visual Comparison
  8. 8.4.1 Case Study: The Big Rewrite
  9. 8.5 Weighted Ranking
  10. 8.5.1 Fitness Functions
  11. 8.5.2 Case Study: The Pivot
  12. 8.6 Mixing Tools
  13. Summary

Chapter 9: A decision-making meeting: a use case

  1. 9.1 The Setting
  2. 9.2 Preparatory calls
  3. 9.3 Check-in
  4. 9.4 Involve the right people
  5. 9.5 Gather Data
  6. 9.6 Choose non-functional requirements
  7. 9.7 My Comments
  8. 9.8 Comparing solutions
  9. Summary

Chapter 10: Deciding how to decide

  1. 10.1 Classify decisions: The Impact/Reversibility map
  2. 10.2 Choosing the right tool for the right job
  3. 10.3 Who should decide?
  4. 10.3.1 The delegation board
  5. 10.3.2 Delegation map
  6. 10.4 Transforming Decisions
  7. 10.5 Other methods to classify decisions
  8. 10.5.1 Strategic, Tactical, and Operational
  9. 10.5.2 Complex/Complicated
  10. Summary

Appendix A: Interviews

  1. Alessandro Calzavara: Decision-making in a greenfield project
  2. Antonio Dell’Ava: A UX designer’s point of view
  3. Erin Casali: Psychological Safety
  4. Marco Calzolari: Talent Canvas
  5. Lorenzo Massacci: Collaborative decision-making
  6. Francesco Tassi: Technical decision-making in a fintech company

Appendix B: Cynefin Framework

  1. Obvious
  2. Complicated
  3. Complex
  4. Chaotic
  5. Disorder

Acknowledgements

Bibliography

Contributors

About the Contributors

Gien Verschatse

Maria Strazzullo

Louisa May Adams

About the Publisher

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!

Follow us on Twitter - Linkedin - Youtube - Meetup

www.avanscoperta.it

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 earned over $14 million writing, 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

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub