The modern world is rapidly becoming one where outsourcing is a necessity. Almost everyone is outsourcing software projects to companies that are specialists in software development. That approach brings risks because of the potential for miscommunication. Generally speaking, programmers and business people do not speak the same language. Their respective education is in only one of two different arenas—technology or finance.
An Analyst, or Project Manager (PM) is assigned as the interface between the business/client’s needs and the team of programmers who are physically writing the software. When a misunderstanding takes place, it becomes the responsibility of the Analyst/PM to solve the problem. The problem generally results from one of three possible types of communications failures:
- The team doesn’t understand the business goal because the Analyst/PM did not understand the needs of the business/client originally.
- The Analyst/PM is not effectively communicating the needs of the client to the programming team.
- The team suffers from a communication bottleneck. That is, the Analyst/PM is constantly relying on guidance that is not forthcoming from the business/client in a timely manner.
We have resolved these difficulties in two steps.
The first step is to bring the PM closer to the customer. The common approach to business software development is based on the principle that the Analyst/PM must be absolutely current in both computer technology as well as the fields of investment and business planning. Because of this experience, the Analyst/PM speaks the same language as the business/client, rather than following blind directions for mysterious chunks of code that are personally meaningless.
The second step is to make the team closer to the customer.
The expert’s approach to business software development states that the entire IT team understands the business, the scope of the project, the environment that the project will operate in, and exactly how it will be implemented. Their education is kept current by attending conferences where the state-of-the-art in software is explored, as well as frequent seminars on business and investment strategies in today’s challenging global economy. Without a team that understands these goals and the logic behind the software that they are developing, the result ends up being a multifunctional building, and although it may be functional and solid, it lacks the interface needed by the customer. Instead, by having a team that understands the industry and the full scope of the project, a cohesive and efficient software application can be reliably built.