Logo

dev-resources.site

for different kinds of informations.

The Mortal Enemy of Done is Perfect

Published at
1/9/2025
Categories
architecture
agile
perfectionism
design
Author
linkbenjamin
Author
12 person written this
linkbenjamin
open
The Mortal Enemy of Done is Perfect

Hey pals, welcome back to the Adventures of Blink!

For today's adventure, I want to explore the concept of Agility.

Wait, Blink, you covered Agile already

Frodo Baggins saying we've been here before, we're going in circles

Yeah, I know. We've talked about the value of agile thinking before. So why revisit?

I ran across a really interesting post over at Pulumi... a story about "Your Perfect Infrastructure". As I read the story, it occurred to me that this is a very common pitfall for us as technologists... particularly those of the Architect persuasion, who spend their days in design and don't crack open the code very often anymore.

Simen's story is super short, but immensely powerful... he designed "the perfect infrastructure". He future-proofed everything. But then as he worked to get it implemented, he found that his design had actually become his biggest constraint! How does that happen?

It's about Commitment

In case of fire, git commit git push git out

Not like relationship commitment... like database commitment. A 'commit' step is when you finalize your request and confirm that you want the database to actually do the command.

Designing a system is a lot like that - at some point in the design process, you'll realize that you have to put in more work to undo something than you would to complete the build... and if you find a major design flaw after this point, it's super painful and expensive to alter the plan.

Applying a little logic

Cumberbatch as Sherlock

It stands to reason that if it's going to be expensive and painful to alter your design after committing to it... you should delay that commitment as long as possible. (Ok, on second thought, maybe it is like relationship commitment after all! 🙃)

The Siren's Call: Why we're so eager to commit

We have a lot of pressure cues that encourage us to commit faster:

  • The Biz wants you to commit. How much is this project going to cost us? When can we get started? How long will it take? Every question they have for us is answered with a commitment of some type or another.

  • It was built into the Waterfall. Think about it - we have a Scope phase. Then we have a Design phase. Then we start to build. See what we did there? We completed the Design and committed to it before we started Building.

  • Humans like commitment. It feels good to be able to check something off your to-do list. We love that dopamine hit we get from marking a task complete and moving on to the next thing. So if we're responsible for designing something... well, there you go. We want to commit!

But Blink, if I don't commit nothing gets done

It's a problem - we need a design to follow, but we can't commit to anything until the last possible second? How are we supposed to get anything done?

The secret is that we aren't avoiding commitment. We're just doing it on a smaller scale. After all, agility is about breaking tasks into smaller bites, and then doing those one at a time. So that's what we're going to do with our design decisions... break them into smaller and smaller decisions, and waiting to decide each of them until they can't wait any longer.

And we have to resist the urge to build our perfect infrastructure... lest our endless pursuit of the perfect design get in the way of actually getting it done.

agile Article's
30 articles in total
Favicon
Agile Scrum Master Certification: Unlocking the Path to Effective Agile Leadership
Favicon
I am making an online kanban board
Favicon
Are Agile Misapplications Damaging Your Project Management?
Favicon
The Agile Trap: Why Sprinting Alone Won’t Get You to the Finish Line
Favicon
Docker in development: Episode 4
Favicon
The Lean Development Method: How Agile Practices Can Supercharge Your Startup's Growth
Favicon
The Mortal Enemy of Done is Perfect
Favicon
Anonymous Feedback in Retros: When, Why, and How
Favicon
A Quick Overview of Delivery Manager Role in the Modern Enterprise SDLC Process (Software Development Life Cycle)
Favicon
Plantilla d'iniciatives pel desenvolupament de software
Favicon
Top 5 Free Retrospective Tools for 2025
Favicon
Don't Waste Another Year: Get Agile Scrum Master Certification with H2K Infosys USA
Favicon
Top 7 Agile Project Management Certifications in 2025
Favicon
_Principais ações que você pode tomar para ter sucesso em uma nova área!
Favicon
💰CSM Certification Cost: Course, Exam, and Renewal Fees! Your Gateway to IT Growth
Favicon
How Often Are Sprint Reviews Conducted or Held?
Favicon
🚀 Unlocking Sprint Success with Jira Versions: A Strategic Guide
Favicon
Definition of Done, Definition of Ready and Acceptance Criteria are not the same darn thing
Favicon
Adapting to SAFe 6.0 in 2025: Overcoming Challenges and Advancing Your Career in the Tech World
Favicon
Launching AI Prototyping Projects
Favicon
The Great Debate: Agile vs. Waterfall Methodologies in Software Development🤔⚖️
Favicon
From Concept to Launch: 9 Product Management Frameworks for Creating Winning Products
Favicon
Agile Scrum Master Certification: Interview Questions for Beginners to Advanced Level
Favicon
Behavior Driven Development (BDD)
Favicon
The Complete Beginner Guide in IT Management Career Tracks : Scrum Masters & Project Managers
Favicon
How Scrum Empowers Teams to Take Ownership and Make Decisive Decisions
Favicon
Agile vs Waterfall Project Management: Choosing the right approach for your project
Favicon
Exclusive vSeeBox V3 Pro Sale – Transform Your Entertainment!
Favicon
Best Practices for Agile Development in Distributed Teams
Favicon
Why I Built scrum.host: A Free Tool for Planning Poker and Retrospectives

Featured ones: