Estimate Doing it Right vs. Doing it Right Now!

“We need this as soon as possible, do whatever it takes!”

Unless you work in a utopian office filled with rainbows and unicorns you have experienced a conversation like this.  That moment in time when someone puts immense pressure on your agile team to cut corners to make a magic happen.  If this happens often enough chances are that the team might have started to cut corners on their without being asked to keep pace with all that is expected of them.  While it may have had the short term benefit of releasing the pressure valve, we all know how this eventually ends!

“Tech Debt and Doing it Right”

Depending on what level of maturity your organization has, you probably have some level of technical, quality and performance expectations. When push comes to shove in these situations these unfortunately and all too often are typically the 1st corners cut. While the team members may try to raise concerns, the true impacts of making these cuts are usually not fully understood by the person applying the pressure. The problem is the team usually considers that these conversations to be enough “CYA” to justify less than optimal work. Until something goes wrong after deployment and the pointing fingers make an appearance.

In reality most stakeholders do not fully understand the tradeoffs they are making. At least the way they are presented. They may nod their heads politely but in the end they hear “blah, blah, blah, blah, blah, blah, blah,.. but i think we can make it happen”.  Oh Great! my problem is solved.

“A different approach to try”

As a team you need to be aware of how these types of decisions can have extremely negative impacts on the organization you work for. As a professional you have a responsibility to help the organization make smarter decisions; regardless of who is asking. When the team alone makes the decision on what corners they cut to keep a date they are making a decision for the organization to take risks that in reality the organization may not want to take if given the choice. A healthier way is to fully breakdown the work to standards and present options for saving time with the clear risks and trade-offs associated with each.

The next time this happen to you can make the choice to approach it differently. You can help drive for a better outcome.  Try something like this.

  1. Work with your team to breakdown and estimate the work involved in doing it correctly. The right way, getting to Done, true Done.
  2. Organize the work into value/impact to market noting where it becomes usable and market viable along the way. 
  3. Key: Get the right stakeholders in the room, including the ones who care about building the right thing right!
  4. Present the estimate as transparently as possible.
    1. You may be surprised that the time to do it the right way might actually be acceptable.
  5. Be prepared to talk trade offs in terms of time saved & risks incurred.
    1. Think about “the tech to human” translation needed based on who is attending.
    2. Saving 3 weeks but risking blowing 1st impressions might not be worth it.
  6. Let the organization decide.  At the end of the day you want to present the right way to build anything. The choice to accept anything less is up to those investing $ in the project.

See when you let the organization owns the decision with transparency to the trade offs involved the outcomes are usually much different and better then allowing the team to choose what corners to cut. By putting the true cost of the decision where it belongs the trade off become far less attractive and other alternative solutions can come to light.

 

 

 

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s