The No-Man's Land of Software Development
Many developers and software development firms will happily jump at the chance to build software, regardless of the chances of the finished product meeting the specified need. It is often assumed that the client knows what they're asking for and why they need it, and the developer gets paid whether or not the product is a success.
Sure, there may be functional and technical specifications and other documentation, but often times the project comes together in a way that does not reflect the critical business processes involved.
- Are the processes well-defined and are metrics being captured? Maybe an existing tool can be used if a process could be tweaked. Or maybe a software integration would help fill the gaps for an otherwise effective process.
- Can the problems or challenges be solved by improving the related processes? Maybe the time and expense of building custom software is unnecessary.
- Are the right people in the right positions? Maybe a shift in personnel can help smooth and improve process outcomes.
Few are willing to undertake an engagement that might possibly obviate the need for building software, making business process analysis and improvement a veritable no-man's land in the world of software development.
Bad Process Defeats Good Software
A bad system will beat a good person every time.Dr. Edwards DemingFamed Management Consultant
But what if the processes are flawed? You may have heard that a bad process defeats a good person. The same is true for software; good software built upon bad processes will fail to produce the desired outcome and is ultimately cost productive for the software owner.
Worse still, the time and opportunity cost is often realized at the moment when the software product should be producing the expected return on investment. This leads to disillusionment and discouragement for a solution that otherwise held great excitement and promise for the stakeholders involved in the project.
Efficiency and Effectiveness
There is a difference between efficiency and effectiveness. It is quite easy to efficiently produce an outcome that is ineffective. In terms of software, this is slapping together a solution that pays more heed to the technology than to the people and processes that utilize the tool.
For an efficient and effective outcome, the processes involved should be evaluated as well as the proposed problems to be solved.
A process-first approach greatly improves the chances of success. That's why we first engage in the analysis (and if necessary, improvement) of the business processes that will be supported by software selection, custom software development, or software integration.