Back in late January, I wrote this post, explaining that the secret to great writing is rewriting - as I learned in college.
It's become obvious over the past 3 weeks that I need to completely rewrite the permissions and approvals engine for 247Toolset.
When you first approach a problem to solve, you come at it with your best information and your best solution. As you think it through, you learn more, and you make your first implementation. But the strength of any system is its flexibility to adapt to new needs. As new information comes to light, and as the initial unknowns are flushed out, the model implemented will either allow for enhancement or limit the business.
At the point of limitation comes a decision: does the cost of limitation outweigh the cost of rewriting?
If the answer is no, then you handicap your business through the known limitation and create workarounds, where necessary.
If the answer is yes, then you embark on a rewrite and re-approach the problem with the new information you have.
I first wrote the permissions and approvals engine four years ago. Now that I have a few dozen clients using 247, and now that I'm smarter for having listened to and watched the way in which they use it, it's time to rewrite.
I've been involved in many organizations that encountered the rewrite vs. workarounds fork in the road. What I found is that companies almost never trust their own people to start from scratch and build it from the ground up.
That's just dumb.
I mean, it's one thing if you simply don't have the talent in shop to do it, as most small businesses do not. But for larger companies, they likely do have that talent in house. For whatever reason, they just don't trust that talent. So they end up buying into a system that meets most of what they need, and expend no small amount of effort squeezing that foot into the limitations of that new shoe.
The problem with that approach is that it is still a system that limits the organization. Every time. They convert the fork in the road to become workarounds in current limiting system vs. workarounds in new limiting system. Writing and owning the entire system is not an option, and limitation becomes a way of life.
Peter Drucker said: "Management is doing things right; leadership is doing the right things." Ever since I heard that, I knew that the optimum is:
Do the right things right.Why choose between doing things right and doing the right things?
In my experience, it is always better and more sustainable to solve the right problem in the right way at the earliest opportunity. In my experience, the only time that something is too costly to implement is when it is impossible, otherwise it's doable and the only challenge is choosing when and how.
The only way you know the right problems to solve is by being as close as possible to the market.
The only way to solve those problems in the right way is to implement as close as possible to the market.
See the pattern?
The problem with most of today's management is that they don't make a concerted effort to put themselves and their people close to the market.
Therefore, ineffectiveness and inefficiency ensue, which paves the way for disruptive innovators and fearless competitors - which always costs the existing players far more for the avoidance and can threaten their very existence.
That too is dumb.