Thursday, June 24, 2010

Doing More with Less

Custom development in software industry has come a long way. Today more and more companies are looking for off-the-shelf solutions. It goes without saying that such solutions may not meet all the needs of a company. But it certainly is quick to implement, cost effective, and scalable. Even today we come across many cases, where custom solutions remain inevitable for a client. There may be couple of reasons including specific application niche, where no readymade solutions exists.

This emerging situation brings a new set of challenges for Development, Project Management etc. Let us take a case of winning a project. Earlier we devoted our time to accuracy of estimates. Various methods evolved like Function Point Analysis, Work Breakdown Structure etc. The software vendor matured their practices and came up with robust estimation and sizing model. The accurate sizing is necessary, but does not guarantee success. Such failure creates a tremendous disconnect in the organization’s functional entities like sales, solutions, operations etc.

The myth here is sizing what? Sizing is appropriate, only if solutions approach is similar and cost effective. I have seen companies losing business to competition, who are Agile, Innovative and utilize its software asset base to provide cost effective solution to the client. Therefore as a management, as a Project Manager, as an architect we have to think differently. Some of the experience I would like to share here:

1. The Brick and Mortar age is gone. Building everything from scratch will not work in an era of off-the-shelf products. Avoid Brick & Mortar based solutions as far as possible.

2. Reusability, Replication are some of the mantras for success. We have been talking this for ages. Putting this in practice requires some strategic thinking and direction. These directions will come from focus and scale. Companies touching everything are not able to compete with companies, who are specialists in a domain, have more opportunities in the same area. They leverage their asset base better and come up with a more cost effective solution despite having rate disadvantage. What I am referring here is even a local western country vendor can easily compete with an offshore vendor from a low cost location utilizing the above principles.

3. Building Tools and Templates: Tools and templates help in accelerating development. Their building efforts can be amortized over a large number of projects.

4. Technology developers have come up with language based frameworks, design patterns etc. Their efficient usage is paramount to stay competitive.

5. It is the time to look at innovative approach to solutioning. The old industrial engineering approach is very handy. Some of the principles from manufacturing like Kaizen and Lean manufacturing can be applied in software situations as well.

It is easier to talk about these principles than implementing them. This requires a strategic direction for the company to start with. Once you have strategic direction, you can start building assets and implement some of the thoughts mentioned above. This requires replicable work opportunities, economies of scale. The replicable opportunity has to be in domain and technology areas. One can not compete, if you are a generalist. Stay focused on a technology, specific domain, create scale, utilize five principles mentioned above, you will succeed.

Darwin’s principle for Evolution holds perfectly fine in this environment - “Struggle for existence and survival of the fittest”. This is a time of non-linear thinking. With smaller increase in resource base we need to deliver non-linear output. Do more with less- is the final goal. This is a paradigm shift. If you do it correctly, you could be more profitable and provide a very cost effective solution to your customer.

No comments:

Post a Comment