Principles of Engagement | Software Development Process

Agreement on Document of Understanding (Principles of Engagement)
for Software Development Process

Agreement With the Software Vendor/Software Services Provider/Software Developer

  • SOFTWARE DEVELOPMENT PROCESS
  • Pre-requisite to begin this process
    • Decision of “Go” from Adaptive Instruction after feasibility check and demo of a sample / pilot program with limited features by the software vendor / service provider / developer
  • The software vendor/software services provider/software developer provides a project plan with work breakdown structure (high level is enough), and estimated dates of completion for each item in the WBS.
  • The WBS must include unit test plan and the user acceptance test plan
  • The project plan must be shared. If Adaptive Instruction needs clarification on the plan, the same to be clarified over a meeting before proceeding to actual coding phase.
  • Coding phase to begin and proceed as per project plan once Adaptive Instruction is fine with the project plan
  • Depending on the schedule indicated in the project plan, if the coding phase duration is longer than one month, then Adaptive Instruction would like to have meetings to review the progress on a mutually agreed basis
  • After the coding phase and internal unit tests, when the program is ready for UAT, Adaptive Instruction would like to be shown the unit test cases and the results from it.
  • Before UAT is done
    • User acceptance tests cases to be created and made available. Some projects/programs may not need this and the same can be mutually agreed to exempt from preparing these test cases
    • One meeting to be conducted to explain to Adaptive Instruction on the things implemented in the software program and the procedure to perform the UAT
  • After UAT is done
    • Adaptive Instruction to inform via email on the UAT results on the following parameters
      • Meeting of the Success criteria set in the documented requirements
      • Speed of execution of the program
      • User-friendliness and ease in operating the program
      • Configurability in the program (No hard coding)
      • Quality (Zero errors) especially in case of technical exceptions – wherein the program should be able to handle it smartly