Building software frameworks is a great thing; frameworks encapsulate and hide the complexity required to solve problems while exposing only the bare minimum functionality in an easy to use manner.

So far so good, yet there is a core issue which I faced several times during my career: The ones who design and develop these frameworks rarely use them. In other words, they do not eat their own dog food. With the exception of a couple of minimalistic sample apps and unit tests(*), framework creators almost never use in real applications the stuff they’ve built.

(*)Even worse, those samples and unit tests are written by another team.

I do believe this should change.

Every architect and developer should create a functional app using the frameworks they designed and implemented.

Not only does this provide a different perspective, by getting a chance to look at your frameworks from the user’s point of view. There are other benefits, too:

  1. Feel the pain of your users
  2. You’ll most probably notice if your APIs are unnecessarily complicated, over-engineered, or poorly documented
  3. Are important features missing? You’ll realize soon.
  4. You may even catch some bugs! (in spite of the great unit test coverage ;))

Yet, the biggest benefit is this:
You won’t make the same design and implementation mistakes next time.

(Unless you are utterly stubborn, and unable to learn from your own mistakes – but let’s assume this is not the case. :))

Sponsored Links
Improve your English Fluency