Here's a very broad outline of the custom software development process that I use. The actual development process is not nearly as linear - if it were graphed, it would look more like a spiral, where Analysis and Production Stage tasks are combined on as needed bases. However, this simplified version can give a general idea of the stages and processes involved.
Initial Consultation > Analysis Stage > Production Stage > Delivery Stage
Initial Consultation. First we need to get a general idea about the application development-related needs and wants and technical requirements. Thereafter I will put together a short written proposal for the application's development. I will not charge for these initial steps.
From here, we can proceed in different ways. We can start the development process after just one or a few initial meetings. However, for bigger projects, it is recommended that before the application development, we will do sufficiently thorough business analysis and will put together an application description that meets the users needs and wants. Most of this website content emphasizes the latter approach.
Analysis Stage. I start charging once we have agreed on the development approach. If we proceed in an agile manner, so that we start on the application development right after the first meetings, the Analysis Stage and the relevant processes blend in with the Production Stage work.
As was pointed out above, for bigger projects I would prefer putting together the application's description (that I call Users Requirements Statement). In this document I describe the application in detail, its completion deadlines and cost structure. Unless agreed on otherwise, Users Requirements Statement will among other things also contain application development fixed price and development deadlines that I will honor.
In some cases fixed price and deadlines are not in the customer's best interest. We will go over all the relevant details during the initial consultation and the Analysis Stage.
Putting together this important project planning document and roadmap requires quite a bit of work: communication with the application's future users and relevant analysis. However, as a result I will be able to verify with the users that the application that will be built is indeed what they need and want. This roadmap also saves a lot of time during the next development stage.
Production Stage. The rest of the development will concentrate on meeting each necessary step's objectives and deadlines by using and mixing, as needed, efficiency and creativity-oriented project development styles and approaches.
The project development and management approach that I use places a heavy emphasis on understanding and implementing the users needs and wants. Working remotely means that some of the communication processes take place differently and some of the development steps are handled differently. However, it does not mean that there is less communication with the application's future users.
Delivery Stage. After all the needed testing, bug fixing and functionality verification the application is installed. I may do user training either myself, or together with selected user group representatives.
Depending on the circumstances, most of the development can be done off-site, but installation and training usually take place again on site.
Significantly more detailed information on the application development process can be found from the Application Development section and from the IT Project Management section.