Thinking

Specifications: step-by-step guide to implementation

Thinking
|
10.11.23

Discover the crucial importance of specifications to the success of a project. Learn how to clearly define objectives, budget and functionalities, while benefiting from essential tips for successfully drawing up your specifications.

thinking

Specifications: step-by-step guide to implementation

A specifications document, also known as a specification document or simply CDC, is an important document in project management, particularly for technical projects. It serves as a basis for defining the needs, objectives, constraints and requirements of a project, whether it’s a website, an online store or a web or mobile application.

 

What are specifications?

Specifications are generally created at the start of all projects, whether new or redesigned, to ensure that all stakeholders are on the same wavelength and understand what needs to be achieved. It defines the functional scope.

 

The specification provides all stakeholders with a clear, 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 elements:

  1. Project objectives, ideally quantifiable and measurable
  2. Project scope: expected functionalities, services and deliverables.
  3. Functional requirements: the functionalities and specific characteristics that the product or system must have.
  4. Non-functional requirements such as performance, safety, reliability, etc.
  5. Constraints such as budget, schedule, resources, legal regulations, etc.
  6. Risks and assumptions
  7. Stakeholder responsibilities: in-house teams, service providers, etc.

 

Why is it important to draw up specifications?

 

While it’s essential to draw up specifications to align technical, sales and marketing teams, management and any potential service providers… at the start of a project, it’s also important and essential not to try to make them a rigid, exhaustive framework.

 

Indeed, the scope and context of each project change and evolve very rapidly. The risk of drawing up a “long-winded” specification would be to end up with a project that is already obsolete or unsuitable several months after its launch.

 

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

 

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

 

The customer should never assume that “everything has been said” just because a specification has been delivered to the technical teams.
 
 

 

Step 1: Define project objectives

 

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

 

Without calling into question the expertise and vision of these teams, it’s important, in this phase of the project, to be able to distance oneself from one’s beliefs.
 
 

Identify customer needs

 

To do this, you need to listen to the customer and not try to impose a preconceived vision on what he or she has to say. We told you it wasn’t easy! Here are 5 techniques, or tips, for identifying customer needs:

 

  1. Organize individual 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, and you need to know in advance the issues that require clarification or confirmation.
  2. Set up 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 submit them to user testing to gather feedback on their operation and usefulness.

 

Define specific project objectives

 

Once you have identified the customer’s needs, you can define the project’s specific 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-bound (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 corporate 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 features and functionalities

 

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

 

List the main features

 

Functionalities 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.

 

 

Define project features

 

Here are the points to be defined:

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

 

 
 

Step 3: Draw up the project budget and schedule

 

Here’s another tricky part: it’s all about budgeting the project correctly, in other words, 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.
 
 

Define project costs

 

Several methods and approaches can be used to define project costs. Here are some of the most common methods:

 

Bottom-up estimating: 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 cost of the project is estimated on the basis of similar projects or past experience. Costs are then allocated to individual activities and tasks. This method is generally faster, but can be less accurate than bottom-up estimation.

 

Parametric estimation: 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.

 

 

Draw up a realistic schedule

 

This is essential to the success of any project. Here are a few steps:

 

  1. Estimate the duration of each task, taking into account the scope of the work to be accomplished, the skills required and the resources available. Factor in uncertainties and allow for safety margins to deal with unforeseen circumstances.
  2. Identify the relationships between different project tasks and activities, 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 this, 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 key project 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 comments 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 and feedback. Flexibility is essential to adapt to unforeseen circumstances and challenges that may arise during the course of the project.
  8. Put in place monitoring and control mechanisms to track progress against what was originally planned and identify deviations.

 
 
 

Step 4: Drawing up specifications

 

Drawing up effective specifications is crucial. Here are a few key points to bear in mind when drafting them:

  1. Use clear, precise language to describe project requirements, functionalities and constraints. The content should be clear, avoiding ambiguities or overly technical terms that could be misunderstood by some stakeholders.
  2. Organize the specification logically and coherently, using headings, subheadings and lists to facilitate reading and understanding. Ensure that 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: Validation of specifications

 

Well done, you’ve made it through the tricky stages. Now it’s time to present the result to your customer. This may 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.
 
 
 

Customer validation

A major success factor is not to get “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 implementation. You have to be able to accept feedback… in spite of the work involved.

 

Plan a presentation stage during which you’ll receive the customer’s feedback, and another in which… you’ll actually integrate it. Plan regular communication points to reassure the customer. Finally, it may seem obvious, but ask for final validation of all your specifications.

 

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