I typically follow general steps in process development. Depending on the size and required features, certain phases can be skipped. The typical process comprises of steps:
All the above steps are considered as a prerequisite to come up with a doable project plan. If there is a mutual agreement between the vendor (me) and a customer, we are probably on the right track to develop an application that would satisfy the customer’s needs.
This step is similar to the process described on the methodology page. This step involves several code release cycles, customer review, testing, bugs, and requirements handling.
Depending on the nature of the project and technical requirements, we can handle business in several different ways:
The abovementioned arrangements are fulfilled when the customer accepts created application, personnel is trained, and the customer can use all application features to its needs.
Once completed, the customer should carefully consider his long-term needs for possible process changes, vendor support in case of system failure, or business growth that triggers the need for a more advanced solution.
Very basic needs or provisioning for an unforeseen situation can be covered by the warranty-like period clause.
The closing phase of the project should also include discussion about licensed technologies and customers' options to do modifications on his own or ask another vendor to do so. Typically, the customer owns the data, and there is no limitation to expand the existing solution in parallel to the existing one. However, changes in the current structure can break existing functionality.