September 20, 2011

Platform Horcruxes - Part 2

Last week I laid the foundation by talking about how the Lord Voldemort of your platform has successfully stopped you from moving forward by hiding horcruxes all over the system. Now for the epic conclusion. So, what can you do to prevent Lord Voldemort from rising to power in the first place or to stop him from gaining any more power over your product?
  1. Hire a solid IT Manager as soon as you can. It's possible to get things going with an outsourced development firm but long-term this is going to be more expensive and costly due to their lack of ownership. Here are some key traits to look for in this position:
    1. No ego (it's crucial that this person puts the long-term success of the product and company ahead of their desire to prove anything)
    2. Straight forward, honest manner (you need someone who will tell you all the facts without letting their personal biases get in the way)
    3. Realism (I've encountered too many developers who insist on building the Eiffel Tower when all we needed was a hot dog stand. This can't be their pet project or a chance for them to hone their skills in a new language they've been wanting to learn. They need to develop exactly what your business needs and nothing less/nothing more)
  2. Make better choices. Early on, you might have to purposefully choose some paths that you will know might hurt you in the long-run just for the immediate demands of the company. But as soon as you can, make every project a chance to improve the underlying infrastructure of your platform. If you have horcruxes that are making development harder today, take the extra time to seek it out and destroy it once you have some breathing room. Every hour you spend destroying horcruxes today will save you hundreds of hours in the next few years, so take the time to do things right as soon as possible.
  3. Set realistic expectations internally and externally. Start early setting longer than necessary timelines with your partners. If something is absolutely urgent, then get it done as soon as possible, but otherwise double or triple your time estimate and take the time to destroy some Horcruxes along the way. I currently work with a team of about 10 developers. Recently I sent a project to one of them who reviewed it and reported to me that he could complete this task in 30 minutes. Unless it's a simple text change or something really small, why would you ever give such a low estimate? I knew it would take him 5-10 times that long and would have preferred he would have guessed higher to begin with because it did end up taking him much longer. Of course, I quoted 5 hours to our partner and told them it would take a couple of weeks to complete, and we ended up just barely making it.

If you've been on the technical side of a web startup, you know what I'm talking about. If you've ever been on the sales/marketing side of a web starup, you're probably the cause of the horcruxes. I recently had a developer turn down a job by telling me the "code smell" of our platform was not worth the constant anxiety he knew it would be. This happens and isn't surprising. We may be losing the battle with Lord Voldemort but are still hopeful we can win the war. Can you relate?

No comments:

Post a Comment