Post-prod: Smoothly Handing off a Completed Product

In the software development lifecycle, one of the most commonly overlooked areas of importance is the handing off of the software from developers to clients. As any experienced developer knows, software is only as "good" as the extent of its usability by the user. Part of ensuring that software doesn’t fall short of its potential is to ensure a smooth handoff to the client, so that the product can withhold a high level of sustainability. The significance of this handoff is highlighted by Allen B. Tucker in his book Client Centered Software Development, in which he  focuses on the passing off of a FOSS project to a professional developer who will provide continued support for the project in its post-production stage. The creators of software should also take steps to install the software on the clients server and ensure that it operates as intended. The preconditions for a smooth transition from developer to client are outlined as such:


1. The client and the hosting service both support this transition.

2. The hosting service already supports the client’s Web site.

3. The new software is technically compatible with the client’s server (Web site).

4. The professional developer can provide ongoing bug fixes at a reasonable cost to the client.

(p. 287)


Aside from ensuring that the project can be installed on the client end, software engineers should spend the time to fully evaluate the project- meaning who will use it, how many people will use it, which Open Source license to use if applicable, how to properly assess the maturity of the project down the road, etc. Developers should also decide if they want to use a web hosting service for managing releases. These examples are some of the decision making and a insight into whats necessary in ensuring software sustainability.


If the project is open source, software engineers should also focus on the project's tolerance for crowdsourced development. This includes the use of an issue tracker, which provides a way to individualize work from a larger crowd by assigning tickets. Additionally, a forum will allow contributors to discuss topics in an organized manner and raise any specific questions that they have. This was my teams saving grace when working in the OpenMRS environment, as much a developers avoid resorting to asking for help, we found it was the only was to clarify some of the issues we were facing. A forum and issue tracker are both methods of ensuring that developers provide continuous support for the product, therefore they act as pillars for software sustainability in the open source world.

Previous
Previous

AWS Lambda and SQS: A Complicated Relationship

Next
Next

Domain Class Development Introduction