Project Execution Approach
Each project is unique and so would the Overall project management approach. However Verve has pre-defined process and its objectives which have been mentioned below. The team at Verve would tailor the process and development approach within these guidelines to ensure it is the best fit for the project. Any offshore outsourcing project requires a long-term strategy to ensure delivering of higher RoI and success ratio. While the concern globally about effective project management, control of the offshore projects, as well as efficient communication management is quite understandable, we at Verve have ensured simple steps to ensure maximum transparency on the status of the projects for our clients. Our Offshore Engagement Models are different and tailored for different type of projects and customers. Whether it is an End Client, Independent Software Vendors (ISVs), Software Development House, Software Product Company and\ or Web Development company our process starts with defining the right balance of Project Management Practice and Communication Protocols for the Pre-Project, Project and Post-Project scenario which goes a long way to build an outsourcing partnership. Following are the steps we follow (after tailoring) at Verve once a customer has decided to execute their project(s) with Verve.
In order to ensure a smooth transition from the Business Development team to the Project Execution team we employ various processes internally and externally. Some of the steps may be deployed before the confirmation of the project.
- Service Level Agreement: This is a formal document which defines all aspects of interaction, level of services, terms of payments etc. Standard templates are used for this purpose with required changes to suit the specific needs of a project.
- Non Disclosure Agreement: Verve understands the confidential nature of each project and ensures through practices to assure their clients of non-disclosure of their sensitive information and intellectual rights. All the employees and its associates at Verve are committed to protect the information shared by our client by signing a NDA with our clients.
- Definition of points of contact: An efficient communication mechanism is key to success in an Offshore Outsourcing Project. While it is important not to overdo this and not have a lot of communication channels going-on for a project, it is all the more important to ensure a Key Point of Contact at both ends (Verve and Client) who would be responsible overall for all queries, approvals, discussion on the project. To ensure communication channels are efficient and effective we enlist the Key Process Managers responsible during the execution of the project and provide our clients with their contact details. These may include Account/Business Manager, Escalation Manager, Delivery Manager, Project Manager/ Leader etc.
- Clients Business and Processes: Verve believes in understanding the client’s process and business to provide them with a custom tailored solution to match their exact requirement.
- Project Planning: After performing comprehensive analysis of client’s requirement we provide a detailed feedback including identification of resources, project plan, execution methodology and quality control approach and so on.
After the initial planning and formation of the team it is important to execute the plan to perfection. Some of the processes that are usually implemented into Software Outsourcing project execution process and as follows
Kick-off meeting: An internal Kick-Off meeting is done for all the team members including those involved in Pre-Sales period and those who be getting involved in the Post-Delivery phases. The development of the Pre-Sales Team and Business Managers in the Kick-Off Meeting ensures that the development team understands the level of commitment to be followed during the execution. The Kick-Off Meeting also clarifies the roles and responsibilities with the team, requirement of the client and communication & reporting mechanisms. The client is also provided with the details of the key members of the team and their roles with respect to the project.
- Project requirements clarification: If the offshore development team understands the requirements correctly it goes a long way to ensure the success of the project. At Verve a lot of emphasis is done to clarify the requirements by the Project Managers by means of close interaction with Client’s Point of Contact.
- Database & Architectural design: The overall architecture design will be done and this architecture and framework would be common across the project. In most cases we also create Software Architectural Document which covers overall solution structure and the technical decisions.
- Build & Test the solution: Once the project requirements are clarified, database & architecture design put in place, Coding standard defined and project plan with work allocation for each team member is defined it is time to move to building the solution. Here the requirements are transferred into a working system ensuring the client can see the visible progress of the system being developed. It is in the best interested of the project to have regular versions of product/ project being delivered to the client, so they can see the progress, and comment accordingly to improve the product quality. Intermediate deliveries also undergoes testing and validation, so that bugs can be removed early in the Project Development Life Cycle. Build and QA (testing) go together and establish a development cycle until the final build is ready and the quality is accepted by the customer.
- Unit Testing: Once the coding for a module is complete, the developer of that module prepares and documents the Test Case Specifications which includes Inputs, process, expected and actual outputs. Developer then executes the test case to test the module developed referring to the Unit Testing Guidelines and other testing techniques. Testing of a particular module or class or form or screen in an application is done to ensure the each of them is working at a Unit level.
- Integration Testing: The next level of testing employed is the system level integration testing. This enables the team to analyze how each and every module works together in an integration aspect as per defined expectation.
- The integration testing for a application development would include but would not be limited to:
Testing calls between Presentation, Business and Data Layers of the application
Web and Data Flow
After use of comprehensive set of testing methodologies we assure to deliver final product as per the expected quality. However it is all the more important to have the client’s acceptance of delivered product. User Acceptance testing (UAT) ensures that the application developed passes the criteria as defined and agreed by the Client and Verve.
Support Phase & Bug Fixing Phase
After the completions of the project we enter into the product/ project support phase and Bug Fixing Phase. The duration is pre-defined and agreed to between the Client and Verve in the proposal/ SLA document. During this period all bugs with respect to development undertaken and as against the scope defined and agreed to will be fixed for free.
Planning & Risks Management
Planning and Risk Management & Mitigation is a continuous process at Verve. We make sure we send Project Status Reports (PSR) periodically either it may be weekly, bi-monthly, monthly depending on what has been agreed to for the project with the client. Our team of qualified experts including the Delivery, Project Manager and Independent Project Reviewers makes sure that these processes are followed during all the phases of the project so that the project health is in check, changes to the scope are tracked and re-scoped with efforts, risks are highlighted and mitigated, timelines are adhered to and team planning is monitored and projected.
Proper Communication and Reporting Protocol are followed at Verve using standard report templates and communication mechanism. At Verve it is our practice to update client about project progress, risks that arises, any dependencies with the client that may cause the delay, problems that need resolution etc. By default, the following reports are used: