Software Development Case Study
Background
One of our clients (a global manufactured products company) has partnerships with more than 180 sales and engineering service centers worldwide. These offices are a key
part of this client's sales and distribution system. Engineers and technicians at these offices were using individually licensed copies of AutoCad for controls
engineering,
controls drawings, and controls submittals. These offices were all using their own AutoCad processes, methods, templates, etc. to communicate with their customers and our client.
Our client wanted to find an alternative to this situation that would ultimately provide more efficient and effective tools and techniques with which these offices could serve their customers and communicate with them.
Objectives
Our client's desire was to build a controls engineering, drawing, and submittal system that would improve performance, increase customer satisfaction, and save money on
software licenses at the same time. Three Rivers Technologies was brought in to help accomplish the following objectives:
- Create a custom solution using an OEM licensed software package to replace all individual AutoCad licenses that were being used in field sales offices
- Standardize controls drawings throughout the company
- Design the system to support newly redefined engineering processes
- Reduce the time required to create controls drawings
- Increase the accuracy of controls drawings, eliminating the ordering of wrong parts or wrong quantities
The specific requirements of the project were not well defined at the outset of the project. The high-level goals and objectives were understood, and that is really all that mattered in order to start this project.
Methodology
In situations like this, Three Rivers Technologies advocates the use of "Agile" software development techniques. The first principle of which is "to satisfy the customer
through early and continuous delivery of valuable software." These techniques rely on good communication among a small and highly committed development team that includes
users as well as programmers. Incremental functionality is provided to the users and requirements are defined and refined as the software is developed.
Three Rivers Technologies made a proposal to follow an Agile development path on this project, and provided the client with an overview of the methodology and what it would take to succeed using it. The client saw the merits of, and agreed to adopt, the Agile methodology for this project. The project was cost justified primarily based on savings that would result from the elimination of site licenses for the AutoCad software that the field offices had been using. There were many other benefits anticipated (and realized), but these were more difficult to quantify and the cost savings alone were sufficient to justify the project.
The project was kicked off with the establishment of a small and focused project team which included users of the software being developed (referred to as the field advisory panel). Project tasks and activities included:
- Initial requirements were established
- Developers met frequently with users and learned how to act as customer proxies in their absence (i.e. learned how to think like the users)
- An initial release of functional software came very early in the project and allowed for user feedback and iterative development and refinement based upon
users' requirements
- Frequent incremental software releases and team meetings, which included representatives from the field advisory panel, were held to review functionality and establish requirements for next phase or iteration
- The iterative development process continued and allowed for flexible and efficient development of software functionality that was timely and truly useful for the users of the software
Technical Approach
This project consisted of an Autodesk Actrix OEM Solution. Actrix software (a Visio like 2D drawing application) was extended using VB/VBA and XML to create a complete business solution to address and meet the major objectives outlined above. Tools used in the implementation included: Autodesk OEM Actrix, Microsoft Visual Basic (VB), Microsoft Visual Basic for Applications (VBA), Microsoft XML Parser (MSXML).
The key architectural theme of the project was to utilize a very thin layer of VBA code and package the bulk of the solutions user interface (UI) and business logic in external components in order to facilitate maintenance and enhancements.
Results
This project is overwhelmingly viewed as a success by our client.
- It has often been referred to by the client as the "smoothest" software development project they have ever seen.
- Incremental software releases allowed for a very early pay-back on the investment in the project. The OEM solution was deployed very early and cost savings were realized almost immediately.
- Because the software was developed hand-in-hand with the users of the software, the solution was a "custom" fit to meet their needs.
- By working closely with users and by becoming customer proxies, our developers were able to suggest powerful design validation features that the users didn't even know
were possible. These ideas have been incorporated and have improved the overall efficiency and quality of the client's work-flows and design processes.
- The client has been extremely happy with the speed of development and has been amazed at how fast requirements are turned into usable functionality in the software.
This project has been and continues to be a success. The client has been so happy with the results that the project has been extended twice, and we are now entering the third major phase of this project that will add even more functionality to this custom software solution.
The success of this project is the result of four major factors: 1) the client's ability to articulate overall project objectives, 2) the client's willingness to work
with
Three Rivers Technologies as a true partner in this project, 3) the strengths of the Agile software development methodology, and 4) the strength, creativity, and dedication
of the Three Rivers Technologies'taff working to meet the needs of the client.
|