 |
| Our Software Development Process |
 |
 |
|
We develop many different kinds of software, including Internet/Web based software, desktop applications and background server based software.
No matter what kind of project it is, our process is more or less the same.
|
 |
|
Before we can develop a software application that will work for you, we must determine what you need. The first thing we do
is to sit down with you and discuss verbally what you want developed and what (for practical purposes) you intend to use it for.
We'll listen closely and ask questions, prompting you to discuss your needs, hopes and fears concerning the project.
|
 |
|
If no specification or protype of the software has already been created, we'll start by writing a detailed conceptual specification for the software.
This will be a joint effort initiated by us but completed as a collaborative work done by our project team, including your company's appropriate personnel.
This specification does not attempt to address how the application will perform. It will address exclusively what the application is to do, in explicit detail.
Once this specification is completed the entire team (our staff and yours) will have a clear picture of exactly what the application is to do.
|
 |
|
At some point before development begins we'll determine what technologies are to be used. For example, will we use
Windows® servers? Will we develop the software using Java® or Microsoft DOT.NET® technology? What databases
will we use? We'll determine from the technologies decided on what hardware will be required and what pre-written software will be required.
|
 |
|
Once the conceptual specification is complete, we will either begin designing any user interfaces for smaller projects, or for larger projects, we'll create interface mock ups
and write a design specification. Generally, we'll begin development of different phases simultaneously. For example, we'll design the database and the back end functionality
at the same time that we are developing user (and external software) interfaces.
|
 |
Once we've gotten to a certain point (very early) in development, we begin the process of testing and debugging the application.
We strongly recommend that your staff get involved and help us with the testing process. This accomplishes two things:
1. it involves your staff in the development process, allowing them to spot any problems, deviations or miscommunications among our team early in development and
2. it lowers the cost of development because we will not need to hire software testing personnel for testing that your staff performs.
|
 |
|
As the software is being designed and developed our graphic design team will be working on making the application look good and
insuring that the interfaces are intuitive and easy to use. For some projects we skip this in order to keep development costs down.
|
 |
|
Once the initial software development is completed, we begin with final testing and debugging. Again we will strongly encourage
you to get involved and make sure everything is working to your specifications and that you are pleased with the final product.
If you have requested it, at this point our technical documentation staff will begin writing a Help system for the application.
|
 |
| Once the entire team (our staff and yours) agrees that the application is complete we will begin the process
of deployment. For Web applications, that generally simply means making the test Website available to its intended user base. For other applications
it means installing copies of the software components on the proper computer(s).
|
 |
|
Once deployment is complete, we go through some final 'live' testing and debugging to insure that the entire application is working corretly
in the environment in which it is to be used.
|
 |
|
Once the appplication is in production, our staff will continually work with yours to maintain it and make
any changes and/or upgrades that may be neccessary over the life of the software.
|
 |
 |