[tweetmeme source=”snarayan” only_single=false]
This is about programming. Well, about programming as I’ve seen it..
I’ve always believed in being motivated by the problem that I’m trying to solve. You have to relate to the problem to solve it in the best possible way. Without that, the solution is not convincing enough.
The problem as I mention is the GOAL. The final objective. The ultimate destination. Goal. What are we trying to achieve?
Sadly, in our software industry(especially outsourcing..), it seems to be lacking that.
There are so many layers in organizations and clients that the developers don’t seem to have even a sniff of the ultimate goal they are working for. They’re well trained to work on the least amount of information that is provided to them, which may or may not have any relevance to the final objective. Well, but our developer don’t know that. They’re completely ignorant of how his current work is aligned with the objectives of the project/product.
The issues that arise from this are lack of motivation, poor quality, bureaucracy, lack of innovation and continuous degradation of working culture.
In one of my previous posts, I mentioned about a developer‘s responsibilities and how he’s not doing a good job if he doesn’t know the overall business objective. Well, sadly about 90% of our industry would fall into that category. And, wait a minute before pointing your fingers at the management. Wait a minute. How many developers have shown that interest to understand and explore the business objectives?
I truly believe once you’re far from the reality, by reality I mean the real objectives of the project/product, you’re working on, you’re not providing the best solution for the situation.
Some of the ways you solve it are:
1. Enable better client-developer communication. Mandatory. (i.e.) direct access to the problem given to the solution provider.
2. Determine goal of the project and align all activities towards it. So each task would be related to the goal and would provide the necessary motivation.
3. Discuss and focus on objectives/goal whenever you face a roadblock.
Once you manage to achieve that state where every person on project relates to the ultimate goal, you’d get the desired synergy and quality required.
This is one of the reasons why Outsourcing is still considered only a cost-benefit and not actually a value-addition in true senses. Most of the projects we get are not first-class projects.
By first-class I mean, real innovative ones. New range products, High end systems, etc.
This may be ok for the outsourcing business, but it taking us nowhere close to the potential that our generation is capable of. It instills a sub-standard notion into the society and would harm us in the times to come.
What we need to do:
1. Get closer to the problems. Go to the source. Start your solutions from there.
2. Do not execute tasks that you’re not aligned with. Just don’t.
3. Once you’re closer to the problem, find your own unique ways to solve it. Thats the way we grow.
That is the approach we need to adopt and we need to adopt it sooner than later. This would be in benefit of our industry, generation and the whole nation.