Delivery is the most important part of the Execution phase. The project development is performed according to the plans, stages, Project charter and Business concept documents, that were prepared at the Initiation and Elaboration phases. Project workgroup provides the Client with test-ready prototypes, receives feedback on testing results and implements changes. This repeats until the end the system adaptation according the developed concept.
Business process of deliveries consists of several stages (Fig. 22).
Detailed delivery planning
The purpose of this stage is to prepare detailed plan of the development, delivery and testing of packages with new functionality. The plan is developed by the Project Manager. On this stage:
1.Prepare a draft of the detailed delivery plan, work through and specify the delivery control points:
•Present the Technical design document to the Client
•Approval of the Technical design by the Client
•Readiness of the system for the acceptance
•Completion of the testing by the Client.
2.Use the real task assessments when composing the detailed delivery plan, including:
•The ideal time of the task – the time of continuous work of the employee without distractions
•Time required for technological breaks
•Time required for team interaction
•Coefficient of the team's experience – the experience of the project work and the level of the employee teamwork.
Note
The average duration of one delivery is from 4 to 6 weeks. The delay between the delivery stages and acceptance of two consecutive deliveries is from 2 to 4 weeks.
Attention
Include a “reserve” for risky and underestimated tasks in the control point assessment, as 25% of the actual estimate of the tasks planned up to the control point. With this risk indicator, the Project Portfolio Manager will be able to assess the feasibility of meeting the deadlines.
3.Prepare and hold a planning meeting to work out a detailed delivery plan with the entire Vendor’s workgroup.
4.Formulate the results of the meeting as a detailed delivery plan.
5.Present the detailed delivery plan to the Client.
6.In case the Client requests revisions, make changes to the detailed plan and present it to the Client again. Use the two iterations principle.
7.After approval of the detailed delivery plan, publish it on a public resource and pass it to analysts and developers.
Technical design
After working out and approving a detailed delivery plan, the analysts prepare the “Technical design” document of delivery, which contains the system requirements for implementation within the delivery. Technical design includes:
•Requirements for fields and interface of the objects/sections
•Detailed requirements for scripts
•Detailed requirements for analytical reports
•Detailed requirements for integrations
•Test cases for checking the requirements.
Test cases are instructions for various operations in the system that can be used to determine whether it meets the requirements at the acceptance and delivery stage within a single delivery and test operation. Test cases are created on the basis of business cases provided by the Client. A test case contains initial data, the actions performed in the system, and the expected results of these actions. Use the following link to download test case document templates.
A ready technical design needs to be submitted for the Client’s approval. If the document is still under approval and the corresponding Analyst has already completed all the planned tasks, they can proceed to documenting the next delivery’s functional blocks (Fig. 22, the process of preparing the technical design of independent blocks from the next delivery).
The stage of technical design for the current delivery is considered completed after the Client approves the Technical design.
Note
In some cases, the adaptation and testing of the delivery can start before the signing of the Technical design by the Client. For example, if you want to customize an object model that matches the system being replaced within the project. We do not recommend developing script logic until the Technical design is approved.
Adaptation and testing
At the adaptation and testing stage, the product development is carried out in accordance with the Client requirements and the Technical design. The development department does most of the work here.
The role of analysts is to consult the developers on the created deliveries and testing of the implemented functionality. In some cases, analysts are performing configuration with available user customization tools.
Delivery acceptance
After the functionality included in the current delivery has been developed and tested, analysts or the Business Analyst Team Lead will present the delivery to the Client. It is recommended to hold the presentation in the form of a personal meeting to better involve the Client.
Delivery acceptance is performed via test cases and only by the “happy path” scenario. The Client tests the rest of the cases and passes the first feedback to the development team. Provide the Client with the procedure for receiving feedback:
•Focus on the difference between bugs and improvement requests
•Discuss and agree on the task priorities
•Define the timings for bug fixing and implementing improvements in accordance with the priority
•Define the stages of approval and the scope of implementation of the improvements.
Delivery testing by the Client
At the final stage of the current delivery, the Client's workgroup tests the developed functionality using the test cases and passes the feedback to the analysts or the Business Analyst Team Lead. Divide the feedback into two types:
•Bug – a function included in the Technical design is missing or works incorrectly.
•Improvement request – any expectations and additions to the developed functionality, which are not covered by the Technical design.
Bugs are corrected within the current delivery, while the improvements are included in the next delivery (if agreed upon).
The procedure for working with bugs and improvement requests
The Analyst or the Business Analyst Team Lead receives feedback from the Client’s workgroup, processes it and identifies the bugs that need to be corrected, and improvement requests from the Client.
Bugs are forwarded to the developers. Improvements are forwarded to the Project Manager or Project Portfolio Manager. If improvements require additional funding, the Account Manager responsible for the project agrees on the plan and additional funding for the improvements with the Client.
See also
See also