A New Approach Towards Software Development
1. Introduction
I wish to suggest a new approach towards software development to overcome the challenges faced by many software development shops and their clients.
The current approach usually leads to the following problems:
* project over-run
* dispute with the clients
2. Root Cause
The root cause of these problems are:
* contracting system
* level of decision making
3. Contracting System
Under the contracting system, the software development shop undertakes to identify the requirements and to develop a system to meet the requirements of the client at a fixed price.
This approach face the following problems:
* the requirements are not clear
* the environment is changing
* the best solution cannot be determined early
In the midst of this uncertainly, both parties try to specify the fix the unknown and to agree on the specifications and a fixed price.
It is a bad idea to fix something that is not ready yet. The party are locked into a unsatisfctory outcome.
4. Level of Decision Making
A new computer system requires significant change.
The top management knows the value of making the change, and aims to achieve significant improvements in results and cost savings.
However, the top management is usually not involved in working out the details and implementing the changes. It is left to the middle management involved in the operations and technology.
The middle managers are less driven by the need to improve profits and results. They are more worried about the ability to implement the change successfully, the impact on their work life and the security of their jobs.
They tend to resist making the changes.
5. The solution?
The solution for the client:
* avoid the contract system
* approach the task in phases
* have regular review and learning
* work in partnership with the development shop
* pay adequately for the contribution of the development shop
I hope that more software development will be carried out under my proposed new approach, and that it will lead to better outcome for the client and the development shop. |