Build software like a Human
Nishanth KD
November 24, 2017

About a year back from today, we began building a product for a new client, Mark Huston. Mark had tonnes of beautiful ideas and ColoredCow saw this product as the beginning of a partnership with him. What we thought would be a great journey turned out to be a bitter one. What went wrong? Setting the right expectations.

Being Superman

Mark had a one month window to pitch the beta version of the product to investors. The idea was simplistic and it looked doable so we began.

During development, we would release a new version every day and Mark would use it to give feedback. In this process, there was a lot of scope creep and new changes he kept requesting. Although we all felt that this was too much change given the timeframe, nobody pointed it out. We thought we could do it, like Superman.

The team began working overtime with a stressful deadline and instead of making progress more bugs started showing up. The release got delayed by one month, and everyone was worn out and demotivated. Setting high expectations and under-delivering gave Mark a sense of being cheated on. Even though we put more effort than promised, Mark always felt that he got less than what he was promised.

Being Human 

A year passed by and I got into a similar situation again. This time I had to build a feature for an existing enterprise-grade product. There were new users being on-boarded and our client, founders of the product, decided to add a new set of features before the users came onboard.

After sharing a ballpark cost and timeframe with our client the development began. Within the first few days, I realised there is a lot of scope-creep happening. Instead of trying to act like Superman again, I chose to be human and talk to my clients about the situation.

My proposition to them

  • This feature will take more time and cost more. Does it seem worth it?
  • There is a chance that we miss our deadlines. Can we afford that?
  • Working under pressure of tight deadlines impacts quality. Can we deal with a buggy feature?
  • Based on the above pointers, let’s either extend the deadline or let’s reduce the scope or both.

Our client was comfortable with reducing the scope. The feature is complete and due to be released over the weekend. Our clients respect us more for foreseeing the upcoming problems and correcting the course.