The first company I worked as an interaction designer, Remend has officially closed it doors. Here are some lessons learned for dot-coms building a product:
- A dollar spent in architecture is 10 dollars saved in maintenance. Never hard code anything if you can help it. The lesson is that things change. Details change. You have to roll with the punches. It is alot easier to change something flexible than something rigid. Architecture is the key. You don’t get alot of chances to start over. This is exactly the opposite of what Extreme Programming states with YAGNI (You Aint Gonna Need It). YAGNI works on a project, but not on a product. A product is something that has to scale and flex and grow. You will absolutely need it. In a project with a start and end and defined scope, YAGNI works fine.
- 2 Great engineers are better than than 5 mediocre ones. Great engineers have a can-do attitude. They understand the spirit of what the business needs and can expand their minds to see the technical requirements of tomorrow’s needs, not just todays. A mediocre developer will just see the exact specification. This will come back to haunt you.
- Never let the short term business needs dictate the long term technical architecture. This is so hard to do, but it is critical. If a large customer wants you to build something custom, you have to figure out how to implement it in a generic way so that it can be productized. You should never forget that you are building a product, not a project. Building a product is a marathon, not a sprint. I understand how hard this is to follow, but it turns out badly when ignored.
- Do not play revolving doors with your Architects. When you let your technical architect or your user experience architect position become a revolving door, then you run the risk of the entire application falling apart. A dot com has one, maybe two, chances to make it. You have to get good people and keep them. Leadership can not be a hot potato. If you lose your main architects, you have to seriously consider your entire game plan.
I don’t want to bash any company. Additionally, I think these lessons are very difficult to follow. All I am saying is, I have seen these problems come up several times, and each time it has been a critical blow to the company.