- August 25, 2008
- Posted by: admin
- Category: Blog
The key for every successful business today is not just the project/deal/contract amount but the actual worth that this contract brought to the company. A contract that does not add any future prospects to the company or is least expected to generate any referrals is merely seen as an expensive investment loss.
Therefore, today the percentage of ROI earned as a result of any transaction is actually the measure of how successful or useful certain process/channel/deal is to the company.
The question is how can the development or the technical team assist in boosting this ROI for their company? Well the answer lies in a “practical” combination of the choices that we make. A blend of just right “project management” and “natural process model” can assist any software development company to improve the worth of what they are doing.
A question here arises why to choose only project management and process model when there are so many parameters attached to a software development process. Well, I believe and have experienced that the combination of these can take care of every other parameter in the process. The discussion blow can overview that:
The biggest limitation against ROI generation is that even if the project cost is good enough and profit margin was good but a heavy investment/development cost will take away all the bounties. A good process model should assist the management in keeping the costs as low as possible.
The underlying requirement of every software development model and project management methodology is a successful execution of a project that can in turn generate revenue and ROI for the company and the clients alike. I believe that unless any process you follow, no matter how attractive and modern or short it is, does not generate any profits to your company it is useless.
Your combination of management and methodology should focus on the basic strategy of “lower the cost of project and add value to the product”. Let’s see what steps can assist this goal:
Lay out a simple process flow that is practical and flexible. Though very difficult and exacting process definitions are very attractive but what purpose do they service if they can’t be followed by anyone else other than a robot. Nobody expects a project manager to be a psychic; you cannot predict everything thus your strategy should be modified as the scenario requires it to be.
Time Saved=Cost Reduced:
Simplify the efforts required by the technical team to execute the project. Your strategy should simplify the way a team member accomplishes his role. Let’s say for a developer; short, workable and test-driven iterations are more manageable than coding a large module at once. When QA activities are performed on shorter iterations, the results are more thorough and dependable.
Change Is Inevitable
Human nature is prone to mistakes thus changes have to come in; a realistic approach should give space for humanly mistakes and easy change management.
Haven’t we all read so much about the importance of communication in a successful project? But you know as the saying goes “Asking the right questions takes as much skill as giving the right answers.” So design your communication pattern in a way that it is more productive than exhaustive. Avoid discussions and meetings where the team and clients mindlessly fight over petty issues such as the position of a button or banner etc.
Who Am I Doing It For?
Project: Build Titanic
Project Cost: $XXXXXXX
Client Thinks: “Its going to be way better than Titanic..I’m paying so much for it they’ll make it work”.
Project Manager Thinks: “WHAT!!???||| Just build it, the business people have to deal with the client”
Developer Thinks???:”Who rides Titanic these days!!I don’t care what this module will do…I just have to code and get paid”…..”
This example shows why many projects/products fail even though all the right flavors were added to it.
You put in all your efforts in developing a titanic that has apparently no tangible benefit but you keep on developing until the titanic strikes the ice berg!! This happens because you have forgotten to add “value” to your project.
A ”No-Value” product is not only a loss to the client but it’s a loss for you too because you are not going to have any forward agreements of maintenance or patch release. Thus all your research and analysis went in vain.
When analyzing the project share what are the client’s vision, target audience’s expectation and market trends rather than only studying the technical and functional aspects. Keep your strategy customer centric as this approach always focuses on adding and improving the value of the intended system. Your team’s culture should be that meeting the business objectives is more important than meeting the deadlines.
Any project where everyone attached to the product/solution are involved while building it, is always better in functional and non-functional requirements. As Confucius said “Tell me and I’ll forget. Show me and I’ll remember. Involve me and I’ll understand.”
Involve your customer in the process, that helps the team to see the big picture of what they are building, your customers will see the proof of concept of what they’ll sell and you would save time of catching bugs and fixing at the acceptance testing level rather you’ll be able to make the fixes very early in the process. Save Time, save efforts and most of all have a happy customer for your company.
Last but not the least, I believe that its not an individual’s efforts that can produce a successful project or boost a company’s earnings but rather it’s a culture that nurtures team to be productive thus less expensive to the company. As a project manager or consultant it should be your goal to design a strategy that creates a culture of self-management and where every team member understands how much worth rather than cost he can be to a certain project.