I just read a nice article about game development and phare ”it’s a black triangle” that meant to them the moment when they had a significant parts of the infrastructure ready and where able to finally see first simple things on the screen drawn and shown through that complex infrastructure.
That reminded me of another expression that we use with a friend of mine – building xml databases – that reminds us from an event in the past where a certain team of very intelligent programmers where building a CMS-type of product and invested a lot of money and effort to effectively build their own XML-database. Naturally there must have been some good ideas and reason why they did that or thought that it was a good idea at the time, but as the company and the product tanked – only thing that was left alive was the expression building xml databases to describe situations where something interesting and elegant is being built just for the sake of it with a promise of potential business benefit later on.. maybe.
Lately I’ve been remembering a lot about that story and thought to myself whether I have committed similar crime in our current project, though the ’xml database’ in our case is actually a pretty solid and good piece of infrasructure software on top of which we can build on. On the good side we have made an investment early on to build a solid foundation and on the downside we have made an investment possibly too early on, when we do not yet need it. If everything goes well, the investment pays itself back as we can increase our development speed and build on top of well designed and thought foundation – and if everything goes to muck, we still need to do redesigns and refactorings. But we shall see.