Friday 17 April 2009

Want things to scale? Get the basics right.

The point here is that doing things on a big scale often requires doing things well on a small one.

Example: I built a software framework in a previous role. As it matured finished I could create brand new solutions six times faster than before with the same quality and care. In fact they were better in all areas.

Reason: Lots of the trivial day to day things had been taken care of.
Result: I had more time to focus on the wider picture of how it all came together leading to a better coordinated product.

Detailed example: Handling data.
I made it easy to handle different common data formats in the same way. So I could use database, xml, and csv info in exactly the same way. I could read an excel document into the database and then share this with another application via xml with ease. As this process matured I also dealt with the many performance, security and compatibility issues common to this approach.

Main benefit:
The main benefit was that all this work was available to subsequent applications built with this framework. I also found it relatively simple to transfer this work to other frameworks and even languages.

Lesson learned:
The point being I just made the simple mundane common tasks easy to do. That left me to focus on all the complex less common tasks and ensure they're done as well.

No comments: