Introduction
One of the things you learn in the Navy: Slow is smooth, Smooth is fast.
It's about how going slow is ultimately the way to go fast.
In this post, I want to share how it applies to different areas of software development and life.
This quote is so powerful when intentionally applied.
Learning
When you learn something, take your time. Don't rush. You may get things to work. But that doesn't mean you understand how it works. Ask a lot of questions. Don't be afraid of taking more time to let the knowledge sink in.
When you do NOT learn thoroughly, you may find yourself coming back to the same topic or encounter problems you could've avoided in the first place by deepening your understanding.
And I won't lie, speaking from experience, it has happened to me so many times.
By learning things the thorough way, you will find yourself wasting less time having to re-learn the same things over and over.
Solving a bug
When you solve a bug, take it slow. Focus on narrowing down the problem and understanding the root cause. If you understand why it's happening, you will know the solution.
If you enounter a tricky bug, ask yourself: "How can I narrow down the problem?"
From there, you can start to take steps towards figuring out the solution.
I've found myself being very effective in debugging when I'm relaxed and simply focus on understanding WHY the problem is happening.
Leading a project
One of the mistakes I made when leading my first projects was being hasty.
This led to multiple issues:
Estimates were way off.
Project ended up being a disaster.
Stakeholders weren't fully aligned.
More unknowns than expected were introduced.
It's better to spend more time upfront planning. Get all stakeholders aligned and make sure to clear up any known unknowns. Of course, unknowns may appear in the future. But if you know CURRENT things you could get more clarity on, it's better to spend time gaining more clarity.
By getting all stakeholders aligned, I mean making sure that everyone is on the same page about what the project's definition of done means.
To achieve more clarity, you may need to do prototypes or RFCs.
By spending more time upfront planning and researching, you will also be able to give a better estimate for the project.
Yes! Estimates aren’t meant to be perfect, but they shouldn’t be way off. This is important for the business to thrive.
Like it