Incremental Software Development Key To Success

One of the challenges as the CTO of Micro Energy Credits is building from the ground up with minimal resources. This is a challenge nearly all start ups face, but is perhaps even more pronounced in this phase of development.

Each decision to invest in a software development effort starts with the question, can we find something off the shelf? and what is the level of effort that makes sense given the expected benefit within the next 9-12 months? By bounding the effort in terms of effort and cost, we ensure that requirements for that particular technology system stays within reason. This inevitably creates a conversation with the rest of the management about the trade-offs and thus leads to a process for setting priorities. This is not unique, really, I credit the folks of 37signals in their publication “Getting Real” with a good articulation of how to ensure strong alignment of information technology systems with the current phase of development. Its really a variation of “doing what matters”.

And, we try to learn by our mistakes. In the early stages of the project we went a little “over the top” with the requirement for scalability. We decided to engineer our solution to be highly scalable by using the emerging technology of cloud computing (Amazon’s EC2), which also allowed us to be charged on a “pay as you go” model. This made a lot of sense at the time, but we failed to realize the complexity involved in doing this, which led to some unanticipated costs. So, after paying for this for several months, we realized this was overkill for our current level of development and while keeping the configuration on ice, we effectively killed that account. I’m confident this wasn’t wasted effort, as it illustrated how to make better near term decisions, and gives us a foot in the cloud computing door, should we need that.

Doing more with less is actually a terrific discipline, at least in retrospect. ;)