Part 1/2: What is a software development plan?

(Guest) Heiko Schmidt

19/01/2018

Are you still planning or are you already developing?

There's a lot of discussion about why a software development plan is even necessary. Almost no one would think of starting a major project without a plan. Who builds a house without a plan? Who goes on vacation without one? There are plenty of examples where each of us creates a plan to achieve a certain goal, either written down or just in our heads!

The software development plan is one of the central documents in software development. As the name suggests, it is a plan.
A plan / planning is according to Wikipedia (https://de.wikipedia.org/wiki/Plan) "the representation of a future sequence of actions." This also clarifies when a plan is created.
At the beginning of a project and not at the end, in order to meet the normative requirements!

A plan describes how, i.e. with which activities and with which means, a specific goal is to be achieved.

What do you do if you notice that the circumstances or destination of your trip have changed? That's right, you update your plan and adapt it to the new circumstances.

It's no different with a software development plan. Create the first version at the beginning of a project and don't be afraid to adapt the plan if necessary.

This is also required by 62304 in Chapter 5.1.2 “Updating the Software Development Plan”.

I've often experienced a plan being created once and never updated. When you reach the end of the project and want to check whether everything was done according to plan, you realize that things that were planned haven't been implemented.

When asked, you'll be given many reasons why a different approach was taken during the project. These reasons often make perfect sense, but unfortunately, no one thought to update the plan.

So remember: A plan isn't set in stone; it's a living document. If an update is necessary, then do it!

The software development plan is intended to facilitate professional, planned, and structured software development, as well as to manage and review it. It's about considering how the software should be developed early on, managing it accordingly, and ensuring that everything has been completed by the end of a project.

The software development plan describes the concrete approach for a project.

At the beginning of the voyage (the project), the course to be taken is determined. During the voyage, the course is continuously monitored. Either the ship's course is corrected if it deviates from the planned route, or the planned route (the plan) is adjusted if conditions change, e.g., a storm is approaching.

In Chapter B.5.1, the 62304 also clearly expresses what it sees as the purpose of planning:

“Planning software development tasks to minimize the risks caused by software.”

The plan should also serve as a means of communication for the members of the development team and thus help to achieve appropriate software quality.

The 62304 also gives the manufacturer a lot of freedom, whether there's a single software development plan for all projects or a separate plan for each project. It's up to you to decide!

The level of detail depends on the risk. This means that if you're developing high-risk software, the planning should be very detailed and precise to minimize risk.

You can compare it again to planning a sea voyage. If you're planning to sail across the North Atlantic, passing close to icebergs, you'll need to plan in much greater detail and precision than if you're sailing from Italy to Greece.

The software development plan has another nice effect.

Don't you often get asked by management where we are in the project, are we on the right track?

Bad, if you don't have a concrete plan, how are you supposed to know where you stand and communicate that?

With a software development plan, you can shine. You show the planned activities, you signal that you have your project under control and you can also clearly show what was planned and where you currently stand!

Your management will be thrilled with so much structure and overview!

 

Now that it is hopefully clear what a software development plan is and why it is needed (not only for normative requirements), I will describe in the second part of this article what a software development plan can look like in concrete terms.


Heiko Schmidt worked as Team Manager Software/Verification at Maquet Cardiopulmonary GmbH. There, he led the development of software for medical devices such as heart-lung machines and hypothermia/hyperthermia devices, among many others. Today, Heiko Schmidt works as Quality Manager Software/IT at Robert Bosch GmbH in Reutlingen.


More articles

  • 09/09/2025
  • General, Software

In previous blog posts, I have introduced two essential components of a simple and universally applicable software architecture: events with dispatchers, listeners, and data pools. These already allow for many simple use cases ...

Read more
  • 12/11/2024
  • General, Software, Testing, Tools

In safety-critical software projects, software quality is paramount. Especially for Class C software, which must be certified according to strict standards such as IEC 62304 (medical technology), it is essential that ...

Read more
  • 08/08/2024
  • General, Electrical Stimulation, Software, Testing

Nowadays, apps in the healthcare sector are very important. Apps that can read and process data from medical sensors are particularly useful. Flutter is an open-source framework from Google that is excellent for ...

Read more
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.

Strictly Necessary Cookies

Strictly Necessary Cookie should be enabled at all times so that we can save your preferences for cookie settings.