The complexity of inter-company order placement has not diminished over the years in industries that buy and sell customized products. If anything the process of order placement and fulfillment for non-commodity products has become more intricate as products being sold become ever more sophisticated.
The vast majority of successful organizations have a commodity software product to fill the need of their core line of business system (usually an ERP system for large companies) to capture order details once they are placed. However, many organizations still make use of unstructured or semi-structured data stores before an order becomes official. Put simply, the proposal preparation process is still very much an art not easily streamlined into a standardized system's expectation of the world.
This was the case with a client that came to us a couple of years ago with a critical but high-touch process managed primarily through a combination of spreadsheets and email. Lack of standardization and the manual intervention necessary to overcome issues with having outgrown a spreadsheet-based system was evidencing itself in many extra hours spent by dedicated personnel, difficulty in training new personnel with tribal knowledge and an increasing internal cost to prepare each proposal.
The Sales Web Interface & Financial Tracking (SWIFT) system, as it came to be known, has standardized the proposal preparation process, reduced the time necessary for each proposal's preparation, enabled rapid integration of new team members and eliminated much of the frustration with the process by reducing the friction that was once necessary to meet expectations.
SWIFT is a good example of a process that was well-conceived by those who lived it daily but whose frayed ends in certain areas needed to be tied down in order to emerge with a solid system. In cases like SWIFT the iterative "Agile-ish" approach to development is indispensable in order to continually incorporate user refinements while ensuring a solid system once the dust has cleared.
Most of the features of this system existed in some form prior to the evolution into a web-based system so we'll be brief on the underlying details and instead focus on some of the benefits that were gleaned with the web-based platform.
The process begins with entry of a proposal request's details. The successful completion of this form was formerly a time consuming process with frequently required knowledge of which options could be associated with which others. Building more relationships in the data and using a responsive web interface were the most salient wins here.
After proposal requests are entered they go through a proprietary workflow process in order to gather additional feedback. This process was once a manual tracking of email responses and manual incorporation of comments back into the proposal. It is now a comment-enabled workflow process that not only retains the ability to prompt through email communication but also the ability to respond to email prompts using a mobile app designed for proposal contributors.
It should be noted that the entire workflow process is controlled by user-configurable administrative switches and consists of no hard-coded logic. This allows flexibility for the business to change without involving a developer.
As is often the case with complicated proposals there are several different ways to evaluate and analyze a proposal being created. Each of these analyses were ported from spreadsheets with all of their cascading calculations into proposal-context-specific views of the same truth.
This is where much of the project's duration was spent due to the significant effort in calculating and validating each of those calculations for correctness.
...of course the typical comments, attachments and search capabilities were needed as well. The only nuances here of interest were the number of comment types needed and the need for them to be more than just plain text.
Once the core of the application was up and running there was time to re-build a live, interactive reporting dashboard named the Smartboard. This view is automatically refreshed every few minutes and can optionally be filtered to a given user's personal focus.