DimeSoft Business Solutions has over 15 years of experience designing, building, implementing, and supporting custom software development projects.
We have found the best recipe for software development projects involves the following steps:
Needs Analysis (Discovery)
Needs analysis is simply the process of us, the programmers, learning what you, the client, need. For small projects, this can be as simple as asking a few questions. For large projects such as integrated accounting or operations systems, this can require several days of interviews. This step is very important. The better we understand what you want and need, the better the final software will fit your requirements.
Software Design
Once the needs analysis is complete, we can begin designing the software solution. We will provide you with a written overview of your project, as well as whatever level of detail is required to insure the programming will fulfill your requirements. This design document can be as simple as a few paragraphs about how the program will work. On more complex projects, it can be very detailed and include screen and report mock-ups. We will meet with you and review the software design. The software design will be changed as needed until we both understand exactly how the finished product will perform.
Programming
This is the step where the actual program code, input forms, menus, reports, etc., are built. Our skilled programmers will build the program based on the design documents for the project. Our programmers follow a rigid standard that we have developed and published within our company. This standard documents the way we name variables, properties, and methods, the way we indent code, and even the way our internal documentation works. This enforces consistency and allows our programmers to work together efficiently and complete projects faster. We have learned that an "Iterative Development" scenario works best. As we finish logical portions of the project, we have you look it over to make sure it is what you expect. This keeps you in the loop during the development process and allows us to be more flexible concerning changes. It also eliminates the possibility of completing a project only to find out we misunderstood some basic principle in the design. This will be caught early and the problem will be solved efficiently.
Quality Control (Testing)
Our internal quality control is excellent. Every programmer is responsible for testing every line of code they write. But this is only the first level of our quality control. Our quality control team tests every program that we develop. This team will actually enter data in the program and validate any calculations, transactions, and reports for accuracy. Any issues found are then reported to the programmers for correction and retested. We are very proud of our quality and performance. If you check our references, you will find that our clients will report that our programs perform as expected and errors are very rare.
On-Line Help Screens
On-Line help can be developed for any project. Our documentation team builds the on-line help content and our programmers will tie it into the project. It is important to realize that our documentation team are not programmers. The help screens you receive will not be full of programming and technical jargon. They are written with an end-user in mind. The information will be complete and easy to understand.
System Documentation
System documentation is very similar to the help screens. Our documentation team builds our documentation with the end-user in mind. The information will be complete and easy to understand. When applicable, we try and document 'walk-throughs' of common procedures in your project. This is something we find lacking in many manuals. It is important to know 'how' to do something, not just what 'features' are in the program.
System Installation
The method of installation will vary depending on the complexity of your project. It can be as simple as emailing you an executable file or a CD containing the installation. On larger projects such as accounting or operations systems, it may be best to work at your location and assist you in installing and configuring your new software.
Training
If your project requires training, we can provide on-site training at your location, in-house training at our facilities, or even training over the web. It is important to realize that in complex projects, training is a very important step. We are very flexible and will work with you to provide this service.
Data Conversion
Data conversion involves exporting the data from your existing system and importing it into your new system. If your project requires data conversion, we have many years of experience in accessing data in a wide variety of systems. We have found that many times our clients want to clean up the data before importing it into a new system. We can help you do this. In past projects, we have exported their data into a tool such as Excel, where they could delete records, correct addresses, etc., and then import the clean data into the new system. This saved them weeks of data entry time.
Support
We provide complete support services for our clients all over the world. We use a variety of methods to accomplish "long distance" support. Remote control software such as Terminal Server, Citrix Winframe, and PcAnywhere allow us to remotely access your machine and actually see what you are seeing on the screen. You can walk us through a problem and we can show you how to solve it. We use the same communication software to provide updates and changes that would otherwise require travel on-site. After hours, we have support personnel that are designated as on-call. If you call our regular support phone number after hours, you will have the option to leave an emergency support message that is immediately relayed to the support staff on call for prompt handling.



