9 Deadly Sins Causing Your Software Estimates to Fail

(6 minute read) – Estimating technical projects is difficult. Tech is expensive and complex. I’m guilty of so many mistakes. Learn from me.

“What’s the level of effort?”

The dreaded question.

School taught you how long you could procrastinate before starting an assignment…and then starting just a bit beyond that point. Early on, it’s an innocent enough question. Those with a few wrinkles on their head know the underlying evil associated with The LOE. My team gets a good chuckle when I skim over their technical explanations and then not-so-subtly request, “So…what’s the level of effort?” They see me as a developer no more.

Developers tend to work on projects for a fairly long time. As time passes, passionate, devoted developers become personally invested in projects. They want to see it succeed and do well. Projects are like a relationship and estimates are the first impression. Nothing saps a human being’s spirit more than a volatile project built on a poorly constructed estimate. Let’s look at several common offenses that can doom your project from the start.

1. Rushing
We live in an age where technology is being pumped out. We, the tech industry, have set the precedent of high competitiveness and capability to build quickly. So are we really surprised that our non-tech coworkers have quick turnaround expectations on estimations? Doing an estimate the proper way without commandeering others’ busy schedules takes time. And, typically, tech projects require the largest piece of the pie. So why not slow down and do it the right way?  Rushing makes you miss important details that will haunt you later on.

2. Sloppy or nonexistent requirements
Technology does not infer anything; every logical step is explicitly instructed to execute. The more ambiguous a project is defined, the greater risk the project will miss the target and/or vision.

Sometimes requirements have to be left open to allow creative flexibility during the design phase of the project. If that’s true, tech needs to be re-estimated afterwards or aimed unnecessarily high upfront to compensate for the unknown functionality that has to be implemented. Let’s not mix goals/desires with requirements.

I had a good Dilbert comic strip to share here, but I didn’t want to pay the license fees for it.  Just google “Dilbert Estimate” and get quite a few “I’m laughing because it’s true” moments.

3. Weak assumptions
One would think the contract defines what you are going to do and if not explicitly written, it’s an easy discussion. Wrong. The funny thing about words is people imply so many things from them. Having to explain your estimate didn’t account for something because it was not explicitly written and your stakeholder thought that it was covered is still an unpleasant conversation. Suddenly, your client either feels like they had been deceived or they feel ignorant for not understanding. That’s not the goal! You’re setup for success if they are setup for success. Get into their head and write down explicit assumptions that protects your scope and their integrity.

4. Forgetting Life
Bathroom breaks, vacation, administrative work, emergencies, etc.. Life happens (a common theme of this blog!) and to not figure that into your estimates and timelines puts one or all of your goals at significant risk. Tech is expensive and many forces want to cut down estimates, but neglecting to consider incorporating contingency hours is eventually going to cause the train to go right off the tracks.

5. Shotgun Estimating
Building a large project in haste without proper planning or requirements (see everything above) in the hopes of it sorting itself out during the course of the project has historically not worked well in my experience. Large buckets of money can disappear very quickly when you get deep into highly complex software projects. It’s better to break projects down into more consumable portions and put down wide ranges for the future phases noting that they’ll have to be re-estimated once you get the current phases done. If you’re dealing with a large budget, start breaking it down into milestones as quickly as you can. Continue the estimation phase even if it’s already done.

6. Percentages
Using percentages is a crime. It’s an insult to the people who have very real, day-to-day, time-consuming objectives throughout the course of the project. Every resource should have X amount of hours for each and every task they are planning to do. At the end, you want to compare how close you came in on each task. You gain nothing from a having a resource that’s 15% of some arbitrary number.

7. Going Solo
I have my weaknesses and my strengths, as does each and everyone on my team. The strongest estimate is one that is done divvying up the various tasks to best fit the team’s strengths accordingly. If you are filling in hours for another resource or team, you could be greatly missing the mark. Let them have a say and furthermore, let them take ownership of hitting/missing their hours. If they miss the random hours you put in, it’s really easy for them to put the onus on you.

8.Estimating in Silos
Estimating processes often turn up like Jr. High dances: no one goes across the room to talk to the other side. Stop that. Gathering details of what creative, UX, strategy, marketing, copywriting, etc. are envisioning can only help your team bolster hours to ensure they can meet the expectations. Also, providing feedback to those other disciplines can shed light and make them compromise accordingly to ensure a sound scope.

9.Taking it Personal
Estimates are always negotiations. It amazes me how many people get personally offended when their hours are questioned. There needs to be push and pull for the betterment of you, your team AND your stakeholders. Don’t let this drag you down or threaten your numbers. A reduction of your hours should always come along with stronger, more limiting assumptions and requirements. You need to take this hardline stance to ensure your project’s success.

Summary
I was taken aback a few months ago when I was complimented on how well I do estimates. Quite honestly, it’s hard to feel like this is a skill given how non-scientific it is often approached. Nonetheless, I’ve refined my approach through countless experiences and missteps. I’m guilty of all the “sins” above. I’ve tracked all of this closely and made sure to learn and grow each time. The one thing I know is estimates are often a very, VERY small portion of the overall project and doing them wrong can make long, drawn out projects incredibly taxing. It behooves me to fight the good fight up front no matter how unpleasant any conversation may be. Because a good estimate often leads to a happy team, satisfied stakeholders, a quality project and a reasonable budget that can be done within a reasonable time.  You’ve heard this before.

Advertisement

Priority is Everything

Prioritizing wisely is extremely important for maintaining your sanity.

When the pressure is on, turn to The Mighty List. I did a post a while back about how to maximize balancing an overwhelming amount of things. Prioritizing wisely is extremely important for maintaining your sanity. Some things can just wait…even if they disagree.

And on that note, my originally planned post for August will do just that. After taking PTO like a boss back in June, we decided to look into options for a new house. I had no intentions of moving quickly on this (pun intended), but sometimes moving carefully and methodically lets an opportunity slip by. In the span of a month, we sold our old house and moved into a new one.

I’ve been enjoying reading, researching and writing this blog, more so than I thought I would. I revisit some of the articles and challenge myself: do I really do this or do I simply say I do? Writing it all down forces me to dissect how I approach things and discover ways to improve. I want to take the time to shape and craft the next post such that it truly captures what I want to say. With the move this past month, some time is needed for the next article.

In the meantime, please enjoy this article from Billionaire Richard Branson. He is an avid promoter of the importance of To Do Lists and keeping priorities straight. Passion, Fun, Priorities: How I have Avoided Work-Life Balance Burnout

How to Take PTO Like a Boss

I spent some time thinking how I can improve my approach to PTO to avoid vacation guilt. So I jotted down some thoughts and tried to consciously apply them during my recent vacay at the beach. Let’s take a look at how it went…

It’s July. Summer is in full effect. Tomorrow is Freedom Day. Yay for summer living!

I have a much different perspective on time off now, both as a manager and a father of two boys. As a developer, my job was to take documented inputs and create desired outputs. As a manager, my goal is to take lots of chaos and hopefully generate…less chaos. Rarely is there no chaos. This makes me a bit apprehensive about leaving for extended times.

The goal, of course, is to grow in my career and take on more responsibility. But balance is important and I don’t want to sacrifice time off that I earned like so many Americans do. I spent some time thinking how I can improve my approach to PTO to avoid vacation guilt. So I jotted down some thoughts and tried to consciously apply them during my recent vacay at the beach. Let’s take a look at how it went…

Before I Left

  • Treat preparation like a deliverable

    As PTO nears, it’s easy to get lost trying to just simply accomplish the day-to-day tasks. They tend to pile up and I start to feel uncomfortable leaving things in unfinished states. But neglecting to clearly layout the plan would likely haunt me on my return.  I delegated where I could and made sure I checked off my full PTO Coverage checklist.

  • Create a PTO Coverage Document

    Building a document helps me think through the expectations for my team. This also helps me ride out into the sunset knowing that I have at least put it down in a format that my team can reference if they start to forget what I’ve said. My document covered escalation paths, milestones and who’s doing what as well as potential risks that may arise during my absence. I made sure to meet with the whole team to walk through this document to reinforce it further. And, to give credit where credit is due, I totally stole this idea from my counterpart on most of my projects.  🙂

  • Don’t forget to configure tools accordingly

    Anything that pulls you back into reality is disruptive during vacation. I canceled/declined all calendar meetings/events, turned off email and set clear direction/explanation in my Out of Office auto-message. Never hop on a meeting when you are out. Ever.  Trust me, people want you to be fully undisturbed during your break because they want you to recharge and they don’t want the same expectation to apply to them when they’re out.

While I Was Out

  • Make memories

    Family vacations can be…chaotic. I’m still a parent, apparently, so I have to parent when all I want to say is “I can’t parent anymore.” But…this time is equally precious. Work can dominate our lives and sap our energy when we do have that bit of family time. I knew the time would fly by, so I took as many mental snapshots as I could, remembering the way the sand felt beneath my toes and what made my kids laugh. The more I was actively in the moment, the slower time felt.

  • Meditate and disconnect

    I wanted to make sure I found some time for me and only me. I made sure to give my wife some time as well.  She’s amazing, by the way. Anyway, during this time, I tried to not think and rest my weary soul. I was lucky enough to have a little private back porch connected to our room, perfect for sipping on iced tea whilst successfully accomplishing nothing at all.

  • Dream about your future

    As I enjoyed time with the family and time for myself, I found myself capable of imagining the future. I try to walk each day to think ahead, but oftentimes there’s just too many other things bouncing around in my head that prevent me from really dreaming of the future. I remember my trip to Hawaii a few years ago. I left there feeling very confident about growing my family and nearly a year later, we introduced our second boy to the world.

    And I still have my childhood dreams.  I continue to pursue them and trips like these help reinvigorate those passions.

  • Capture in a journal

    As slow as I try to make it go, vacation is but a blip on the radar of time. It’s very easy to look at it as not enough time. So I wrote everything I could remember, both small observations and memorable events, in a journal (aka, Google Drive document). Re-reading it, I felt pretty accomplished in all we got to do. And this journal can spark those memories again later on when I need to think back, reliving some moments that pictures can’t quite do as well.

  • Prepare for your return

    The worst thing that can happen is feeling burnt out quickly after having a chance to recharge. Whenever I go to vacation, I try to tack on a mini-staycation at the end. I want to mentally shift gears from vacation-mode back to the day-to-day mode. This also allows me to knock off a few side projects that I’ve been stalling on as well. The day before I went back to work, I took an hour to scan through emails to get a feel for what could potentially be the hot item on my return.

On My Return

  • Be glad to be back

    You just got to have a vacation, ideally you should be appreciative and recharged. When you’re gone for a while, people notice and will likely ask, “how was your trip?” I didn’t want to say “not long enough” or “back to the grind”, I made a conscious effort to say a quick summary and cap it with “I’m glad to be back!” The truth is, I do love my job and I’m glad to do it, but just to make sure to squash any subconsciously lingering feelings of not readiness, stating this simple phrase helped me feel excited to take on the challenges already heading my way.

  • Catch up with coworkers

    While I knew there was undoubtedly chaos that I needed to assess, I wanted to make sure I spent time just talking with my coworkers about non-work related stuff. I often get stuck in professional mode that I forget to touch on the human side of my coworkers. I was pleasantly surprised at how much I enjoyed just chatting about trivial subjects with people I hadn’t seen in a couple weeks.

  • Work a normal day

    The worst thing you can do is take on too much upon your return. You want the “stress-free you” to remain as long as possible. There’s going to be a bit of a backlog to go through. It’s okay if it takes a few days to truly get caught up. I got in at a normal time and I left at a normal time and as I wrote this post, I still feel like my soul is in a good place and ready to handle the next few projects coming down the pipe.

Summary

Doing the above helped me appreciate my time off. It helped me maximize the effects of vacation without having me stress about maximizing the effects of my vacation. Maybe that sounds silly, but sometimes when life gives us lemons we try to make a Corporate Empire selling them. “Just do it” and “you only live once” are great tag lines, but I like to treat time off like “do and don’t do, both intended for you.” I should patent that. But whatever you do, make sure to take your hard-earned time off. If that comes back on you negatively in any way, it’s probably time to consider making a life change.

Happy 4th of July, readers! Let me know if you got any tips and/or tricks you do to make the most of your vacations/staycations in the comments section below!

Welcome to Mid-Career and Another Round of Imposter Syndrome

Mid-Career is a time frame that is a bit open to interpretation. It’s not like you wake up one day and say, “today is the day I start my Mid-Career.” And that’s exactly my point. You’ve become an experienced professional. There is no welcome, or if there was, it happened a while ago. You’re here, now what’s next?

You’re sitting in your vehicle, holding a warm cup of coffee in your favorite “#1 Dad” mug, staring at the office you go into every day.  And you think to yourself, “now…how did I get here again?”

It turns out, most of us work for a long time.  A really long time.  And we thought High School would never end.  Along the way, there’s a subtle, psychological evolution happening that may take a while before you realize.  We’re so focused on goals and life events ahead of us, we’ve lost sight of the trail we’ve blazed.  Pause for a second now and recount your post-school life.

Welcome to Mid-Career
It’s not quite the same thing as Middle Earth, but if that makes your life more intriguing to think of it that way, more power to ya!  Mid-Career is a time frame that is a bit open to interpretation.  It’s not like you wake up one day and say, “today is the day I start my Mid-Career.”  And that’s exactly my point.  You’ve become an experienced professional.  There is no welcome, or if there was, it happened a while ago.  You’re here, now what’s next?

You’re going to be here a long time.  Some will say, “if you’re bored, why not change it up?”  And those who get comfortable, often have the rug pulled out from underneath them.  Brace yourself, Life is coming.

Another Round of Imposter Syndrome
There are plenty of good articles about dealing with Imposter Syndrome.  There’s not much I can add to them.  What I did notice was that most of them don’t address the fact that you can deal with it multiple times over the course of a career.  Maybe it’s something you are constantly battling?

Thus far, of all the articles I’ve written this year, I’ve struggled with this one the most.  I’ve rewritten and modified it to go many different directions.  It was like I was experiencing a mini-bout of Imposter Syndrome as I wrote, feeling like my inability to string cohesive words together to make any kind of point would in fact prove that I shouldn’t be writing in the first place.  And this is what made me decide that, more than ever, I need to get this one out of my system.

I made a pivot a few years back when I decided not to pursue coding any further, taking on the role of a Technical Program Manager instead.  I dealt with the ghosts who shamed me, saying I clearly wasn’t good enough to be a top notch developer.  Then, came the ghosts who said I had no right in this new position because I had no training in management.  And, when I earned the senior moniker, these ghosts continued, “and exactly how are you any different than before?”

I seem to be going through a tug-of-war between confidence and doubt.  Considering I’m 10+ years into my professional career, I imagine that battle is no where near complete.

The Pursuit of Happiness
What a bleak article, eh?  But there are some simplified takeaways:

  • For most of us, our work/career spans the majority of our life.
  • Along the way, risks arise and can become issues.
  • Mentally, you can easily fall into a trap.

These are things to be aware of, whether you are early in your career, struggling though challenges now or dealing with the repercussions of a series of unfortunate events.  You might be simply going through the motions, unaware of how deep you might be in a rut.  The simplest question, and one to ask yourself often (pro-tip:  setup a regularly recurring reminder):  are you happy?

For me, the answer is Yes!, but I’m not satisfied.  I enjoy my role now and have found this blog to be a welcomed creative outlet that helps me tweak and tune how I approach my career and life.  In fact, I’m more motivated than ever to keep learning new things and perfecting other things.  This hunger propels me forward.  I do make mistakes (often!) and others might be judging me, but there’s too much I want to do to let that slow me down.  Bring it on, Life.

So…are you happy?  If not, ask yourself Why?  Take time in answering that.  Then start making a game plan.  It’s never too late to start pursuing happiness.