Samedi 27 janvier 2024
Cahier des charges : comment le mettre en place étape par étape

Un cahier des charges, également connu sous le nom de document de spécifications ou plus simplement CDC, est un document important dans la gestion de projet, en particulier pour les projets techniques. Il sert de base pour définir les besoins, les objectifs, les contraintes et les exigences d'un projet qu’il s’agisse d’un site Internet, d’une boutique en ligne ou d’une application web ou mobile.

    Specification: how to set it up step by step

     

    What is a specification?

    Specifications are usually created at the start of all projects whether redesign or new, to ensure that all stakeholders are on the same page and understand what needs to be accomplished. It enables a functional scope to be defined.

    The specification provides all stakeholders with a clear and shared understanding of the project, its objectives and requirements, and is an essential tool for communication, coordination and management of the project throughout its lifecycle.

    Specifications can include the following:

    1.  
      1. Project objectives, ideally quantifiable and measurable
      2. Project scope: expected functionalities, services and deliverables.
      3. The functional requirements: the functionality and specific features that the product or system must have.
      4. Non-functional requirements: performance, safety, reliability, etc.
      5. Constraints: budget, schedule, resources, legal regulations, etc.
      6. Risks and assumptions

     

    Why is it important to set up a specification?

    While drawing up specifications is essential for aligning technical, sales and marketing teams, management and a potential service provider... at the launch of a project, it is also important and essential not to seek to make them a rigid and exhaustive framework.

    In fact, the scopes and context of each project change and evolve very rapidly. The risk of writing a "river" specification would be to release a project that is already obsolete or already unsuitable several months after its initiation.

    Today, with the Agile method, Scrum or even Lean Management, we tend to consider that specifications should be short and deliverable as quickly as possible to avoid silo effects that can create length, and therefore discourage developers, but above all produce dissatisfaction for customers with a project perpetually out of step with the market and the state of the art.

    Moreover, the specifications are a starting point for alignment and discussion, not a substitute for communication during the project.

    Thus, the customer should certainly not consider that "everything has been said" because a set of specifications has been delivered to the technical teams.

     

    Step 1: Define project objectives

    This step may seem simple, but it's undoubtedly one of the trickiest. This is because product, technical and marketing teams can tend to project what they think they know about customers onto the project.

    Without questioning the expertise and vision of these teams, it's important in this phase of the project to be able to distance yourself from your beliefs.

    Identifying the customer's needs

    To do this, it's necessary to listen to the customer and not try to impose a preconceived vision on what they're saying. We told you it wasn't easy! Here are 5 techniques, or tips, for identifying customer needs:

    1. Organize one-to-one interviews with customers to gather information about their needs, expectations and experiences. These interviews can be formal or informal. These interviews need to be prepared; you need to know in advance, the issues that require clarification or confirmation.
    2. Mount co-creation workshops upstream and during the project : involve customers so that they actively contribute to the development of products or solutions. This helps to better understand their needs and expectations.
    3. Observe customers in their "natural environment" to understand how they interact with products or services. Teams are often surprised by how their designs are actually used, and what strategies customers put in place to overcome their shortcomings.
    4. Use surveys and questionnaires to gather quantitative information on needs, preferences and expectations. Analyze the data collected to identify trends and areas for improvement.
    5. Develop prototypes or minimum viable versions (MVPs) and subject them to user testing to gather feedback on how they work and how useful they are.

     

    Defining specific project objectives

    After identifying customer needs, you can define specific project objectives by following these steps:

    1. Analyze the customer needs identified in the previous step and prioritize them according to importance, urgency and impact on value creation.
    2. Formulate specific, measurable, achievable, realistic and time-defined (SMART) objectives for your project. SMART objectives will help you clarify your intentions and measure progress throughout the project.
    3. Make sure they are aligned with your organization's overall vision and strategy. This will ensure that the project is aligned with business priorities and resources.
    4. Involve key stakeholders, including customers, team members and partners. Their input and expertise can help refine and ensure relevance.
    5. Identify project priorities and dependencies. This will help you plan and manage resources and efforts effectively, and minimize potential risks.

     

    Step 2: Define project functionality and features

    Having firmly specified requirements and aligned all stakeholders, the rest of the project and subsequent decisions should "flow" naturally and simply.

    List key features

    Features can be technical aspects, processes, services or product components. To identify the most important functionalities, distinguish between "must-haves", without which the project loses its meaning, and "nice-to-haves", which come as an "extra" and are of the order of comfort.

    Defining the project's characteristics

    Here are the points to define:

    • System architecture: the technological choices, data structures, workflows, integrations and user interfaces that shape the product or system.
    • The user interface (UI) and user experience (UX)
    • The platforms and target environments in which the product or system must run, such as operating systems, web browsers, mobile devices and hardware configurations.
    • The important integrations and APIs required to ensure communication and data exchange.
    • The standards and protocols to be respected to ensure interoperability, compatibility and compliance with regulations and best practices.

     

    Step 3: Establish the project budget and schedule

    Here's another tricky part: it's all about budgeting the project correctly, i.e. being realistic and pragmatic. A calculation that's too tight will put the team straight into difficulty. Conversely, if the milestones lack ambition, the project is likely to wither over time.

    Defining project costs

    To properly define project costs, several methods and approaches can be used. Here are some of the most common:

    Bottom-up estimation: this method involves estimating the cost of each individual task or activity, then adding these costs together to obtain the total cost of the project. This approach is often considered the most accurate, as it takes into account the details of each task.

    Top-down estimation: in this approach, the total project cost is estimated based on similar projects or past experience. The costs are then allocated to the various activities and tasks. This method is generally faster, but can be less accurate than bottom-up estimating.

    Parametric estimating: this method uses mathematical models or ratios to estimate costs as a function of certain variables, such as project size, complexity or duration. Historical data and previous projects can be used to establish these models.

    Establishing a realistic schedule

    This is an essential point for the success of a project. Here are a few steps:

     

    1. Estimate the duration of each task, taking into account the scope of the work to be done, the skills required and the resources available. Take uncertainties into account and allow for safety margins to deal with unforeseen circumstances.
    2. Identify the relationships between the various tasks and activities in the project, determining which tasks must be completed before others can begin (predecessors and successors).
    3. Allocate the human, material and financial resources required for each task, taking into account the skills, availability and constraints of each resource.
    4. Use a Gantt chart to visualize it, representing tasks, their durations, dependencies and assigned resources. The Gantt chart will help you identify bottlenecks, resource conflicts and areas of risk.
    5. Establish key milestones and deadlines for the project's main phases and deliverables. These milestones will serve as reference points for measuring progress and evaluating performance.
    6. Present the schedule to relevant stakeholders, including customers, team members and partners, for feedback and suggestions. Their validation will ensure that it is realistic and acceptable to all parties involved.
    7. Be prepared to revise and adjust according to lessons learned, feedback. Flexibility is essential to adapt to unforeseen circumstances and challenges that may arise during the course of the project.
    8. Implement tracking and control mechanisms to monitor progress against what was initially planned and identify deviations.

     

    Step 4: Write the specifications

    Making effective specifications is crucial. Here are some key points to bear in mind when writing them:

    1. Use clear, precise language to describe the project's requirements, functionalities and constraints. The content should be clear and avoid ambiguities or overly technical terms that could be misunderstood by some stakeholders.
    2. Organize the specifications logically and coherently, using headings, subheadings and lists to facilitate reading and understanding. Make sure each section addresses a specific aspect of the project.
    3. Make sure the specification is understandable to all stakeholders, including non-technical people. Explain technical terms, acronyms and abbreviations, and provide examples or illustrations to clarify complex points.

     

    Step 5: Validating the specifications

    Bravo, you've successfully navigated the tricky stages. Now it's time to present the result to your customer. This could be the end customer for an in-house project, or an intermediary if you're an agency, for example. Here again, you need to be flexible.

    Validation by the customer

    A major point of success consists in not getting "too attached to your solution" as we are wont to say in project management. The mistake would be to say that your CDC is the only way to approach realization. You have to be able to accept feedback... in spite of the work involved.

    Plan a presentation stage during whichyou'll receive customer feedback and another in which... you'll actually integrate it. Plan regular communication points to reassure him. Finally, it may seem obvious, but ask for final validation of your entire specification.

    When in doubt about a novel or particularly complex project, don't hesitate to seek expert advice. The time and budget devoted are rarely foreseen and allow you to move forward serenely.