IT complex projects require a professional management methodology in order to respect rigorously the product expected QCD (Quality, Cost and Delivery Delay). Nowadays, most of those projects worldwide are using a software development oriented methodology called V-model. I’d recently worked on a big CRM (Customer Relationship Management) implementation project in the banking industry which aims to provide the tool to about 6000 users, and I think that following V-model used to be helpful and allowed us to define and allocate tasks easily.
Let’s start by giving an overview of what V-model seems to be. In fact, V-model is a process or we can say an organization into the main steps which have to lead to the implementation of your final product in total respect of customer requirements. The ultimate goal is to keep project deviation risks under control and guarantee the quality which is ensured by the regular process of verification/validation by both testing teams and end-users.
First of all and before even starting to think about code, customer or end-user has a need that the project must fulfill. As we can see it in the right side of the V-model in the figure above, all begins by the analysis of user requirements. This is highly important because the more user needs are understood, the less development lifecycle will be disrupted later. Afterwards, a product design (mockup), which tries to show/demonstrate how the user interface will be like, is suggested. The next step is writing functional specifications (specs) in a detailed way that provides enough description about all the system required functionalities. To summarize the right side of V-model, it is the project definition phase and there is absolutely no line of code and each step must be validated by the customer/end-user.
The left side is more about project integration. The end of implementation (coding) is followed by integration, tests and verification by specialist teams who usually use advanced testing tools and methods in order to detect/correct bugs. The user acceptance testing aims to give the hand to the right user to verify whether it fits with the initial requirements or not. Once validated, the product is delivered to the customer but maintenance is ensured in case a system upgrade is needed.
Above all, there is a high important phase in such a project lifecycle which is not mentioned in the V-model method. Its change management, which means helping, assisting and accompanying the end-users to handle the new software by organizing especially training sessions and explaining through a written user guide how it works.