At NeuronicWorks, we believe project management is central to delivering great results to satisfied clients. Our processes are streamlined and well-defined while also ensuring scope for creativity and innovation. If you have a product idea that you would like designed and developed within the framework of a well-structured project plan, reach out to us today to see how we can help.
Project Management 101: Product Design and Development
“Plans are nothing, Planning is everything” – Dwight D Eisenhower
Project Management is central to all that we do here at NeuronicWorks. Our design process is overseen by project management as it streamlines creativity and output within realistic expectations and deadlines. With an ISO 9001:2015 certified process, we believe in staying organized and facilitating collaboration.
Let’s look at the basics of Project Management as it relates to product design and development.
Project management refers to the process of leading a team through a sequence of tasks to achieve the goals of a project. The goals of a project are ultimately reflected by the defined deliverables of the project. The deliverable may be a final product with custom hardware, firmware, and software solutions, or even something as small as developing a new feature for an already existing product such as over-the-air firmware update capabilities. Regardless of what the deliverables are, the team that is working on a project must come up with the tasks that are required to achieve the project goals. This can only be done properly if there are a set of clear constraints and criteria, more commonly known as requirements in project management. Properly established requirements lead to the development of a clear set of instructions for the development team which ultimately leads to accurate and expected deliverables.
Sometimes the definition of a project and requirements are unclear, and the frontrunner of the project, the project manager, is responsible for communication with the individuals involved in the project to set concrete requirements before proceeding with the design and development portion of the project. This is a process we find a lot of our clients initially struggle with as though, they know their end requirement and goal, they are not aware of the more detailed, yet critical requirements of the project (could be related to design, testing, regulatory standards, manufacturability, etc.). At NeuronicWorks we work closely with our client to define the requirements document through a series of questionnaires and in-person or virtual meetings. Our team maps out the regulatory strategy for the project as early as in this stage to include as part of the comprehensive requirements document. Project requirements are by far the most fundamental piece of a successful project. By clearly defining the requirements the team and the project is set up for success.
Some of the other terms that are commonly used in project management include, project schedule or timelines, project plan, budget allocation and resource allocation.
A project schedule or timeline sets the expectations of when deliverables are to be completed. This helps keep the whole design and development team on track and helps the project manager know when to assign specific tasks to each team member. It also helps the client to be closely aligned with the project and manage expectations. One of the most important tasks of project management is resources allocation, to ensure that the project does not get unnecessarily delayed. The timeline can be broken down into smaller intervals that correspond to a specific task. The amalgamation of tasks and timeline are what make up a project plan.
The project plan is a constantly updated tool that project managers use to keep track of the progress on tasks, what is left to be done, who is working on what, if the timeline for each task is going to be met, and generally how to plan out the next few weeks or months of work.
Project Management Methodologies
There are two popular methods for organizing projects: Agile and Waterfall methodologies. While the waterfall method is a more traditional approach to project management, the agile methodology embraces an iterative process.
In our experience, hardware projects are best managed with waterfall methodology as they have concrete timelines and well-defined deliverables that are dependent on each other.
Software and Firmware projects are usually better managed under the agile methodology enabling planning of the project in stages or ‘sprints’ to evolve as work progresses. This methodology is especially helpful when products are planned to be deployed much earlier with limited functionality and if the product development (function or feature updates) can be a long-term process.
The Project Management Process
Now that I’ve introduced some terms and methodologies in project management, let’s see how and where they apply to the different phases of a project. As introduced earlier, a project must start with the definition of the project requirements which is the ‘Initiation stage’.
Once the requirements are clearly defined and aligned with the client’s vision, we enter the ‘Planning Stage’ where the project is broken down into different tasks, timelines for each task is determined and the project team will be selected based on their skillset and experience. The project scope, project plan, who is involved, the risks, dependencies, etc. are all outlined in this phase as well.
The project then moves to the ‘Execution stage’ where the plan is initiated and introduced to the project team in the kickoff meeting. It is important that the entire team understands the project scope and requirements before the tasks are executed so that they can have a chance to ask questions and raise any concerns they see before going into development. After the kick-off meeting with the client, the project plan is put into action and the team is in full-development mode.
Between and through the planning and execution stage, the project manager will need to constantly keep up to date on the status of the project through various mechanisms: (1) project plan, (2) meetings with the project team, and (3) meetings with the client. Any issues or delays that arise during this phase, is properly identified, analyzed and resolved by the project and engineering team, while keeping the client in the loop. It is also at this stage that there can be costly project iterations when requirements change based on user feedback or technological complexity.
The execution stage can involve the entire end-to-end design process: Starting from design to QA and testing (both in-house and with accredited testing laboratories), to full certification, prototyping and even low volume manufacturing.
Once all the tasks have been executed, the project enters the ‘Closure stage’ where the project will eventually end. It is important that the project is formally closed by delivering all the deliverables to the appropriate party, signing off on the proper paperwork by following the project delivery checklist or other documentation the company has in place, and formally letting the client know that work has been completed. This way, resources may be allocated to other projects and any loose ends on the financial aspects of the project can be tied up.
An important point to note here is that some clients prefer to break up the project into different phases based on milestones, while some may even prefer to separate each milestone into a different project based on timeline and budgets.
Project Management Tools
The complexity of projects varies, but no matter the size of the project or the number of individuals involved, it is helpful to have the appropriate tools that can allow the whole project team to visually, see each task that is involved in getting the project over the finish line.
Projects consist of several tasks that may be independent (can run in parallel) or may have dependencies on other tasks (i.e., predecessors), meaning that one task cannot start until the other is completed. By creating a project plan which outlines all the tasks in a project, you can start to map each task to one another and know ahead of time when you will need a particular resource and for how long. Unless you’re very experienced at visualizing things and have a sharp memory, you will need some sort of tool to keep track of everything, and not just for your own benefit, but for the benefit of the project team and client as well.
Project plans and Gantt charts are a great way to communicate with the project team and the client on where the project stands in terms of timeline and deliverables. The better tools you have at hand, the more easily the project can be managed. There are a wide variety of project management software that can help the project team with every aspect of a project. A few examples are SmartSheet, Project Manager, Microsoft Project, and Monday.
Figure 1: Example of a dashboard used to track a project. (source)
Gantt Charts & Project Plans
As mentioned previously, Gantt charts are an important tool for PMs. They are great for allowing one to visualize the big picture and see what tasks are dependent on another. Project managers in general will use a Gantt chart to determine when a project is on the critical path (the longest sequence of tasks from project start to finish) in which case it is important that the resources are properly allocated during this time to avoid missing the expected deadline.
The project’s Gantt chart is the display that everyone involved in the project should have access to; consult and modify to better reflect the current state of the project. Any modifications that are made to the project timeline, especially if they are going to impact the delivery date should be shared with the client.
Since the Gantt chart is a graphical representation of the project plan, it is good practice to bring up either the Gantt chart or project plan during your weekly, or semi-weekly, or even daily meetings with your project team to keep it up to date and to ensure that your team sees this thing at least once a week. The frequency at which you choose to have project update meetings is entirely dependent on the project itself, but it should happen at least once a week.
Figure 2: Example of a Gantt chart and corresponding project plan. (source)
Timesheets are great for two main reasons:
- Reviewing how many hours the team spent on the project; and
- Keeping track of the project budget.
In conjunction with the project plan, the project timesheet can allow project managers to see and estimate whether a project is expected to go over the budget based on the percentage of completed tasks and the total hours that have been spent on a project to date.
This is important for project managers to see as they need to be aware of the state of a project to keep the client informed about potential budgeting issues. Additionally, timesheets are beneficial for looking back and seeing if the amount of time estimated for a certain task was accurate or not. It can be used as a tool to help make better estimates for future projects with similar tasks.
Resource Management Tools
Resource management can help you effectively find and allocate both the people and the equipment for your team in all phases of the project. Before project inception, you need a way to look at your resources to see when the best time to kick-off a project would be. One thing that you do not want to do is have a kick-off meeting with your client and not be able to start work for another month. Although availability of resources may not be ideal at a specific time, by looking ahead and seeing the allocation of your teams’ time, you can predict a good starting date for a project. Amid a project, if everyone is using their project plan and keeping it updated regularly, you can plan for allocating resources for future tasks. There are plenty of resource management tools and trackers like Project Manager and SmartSheet.
An action log or activity log helps track daily activities of a project that will help see the status of tasks, responsibilities, next steps, priority status among other details. It consolidates action items from meeting minutes, phone calls, conversations, and emails. The action log is different from a project schedule as it typically captures details of smaller tasks and To-do lists that come up on a day-to-day basis. Here at NeuronicWorks, we like to use Jira to keep track of our tasks. This software allows you to assign tasks to individuals in the project, track the flow of tasks, communicate with the team on each task, attached documents and images to tasks, create sub-tasks for a bigger task, and so many other great tools that can be exploited to really ensure that the whole project team has one place where they can go to find everything they need.
Figure 3: Example of a Kanban board in Jira. (source)
Benjamin Franklin once famously stated, “If You Fail to Plan, You Are Planning to Fail”. Project management is a challenging and very involved role when it comes to product development. While it is mainly a management role, one must be heavily involved and understand all aspects of the project to ensure that the project team stays on track, potential problems are addressed on the spot before they turn into bigger issues, the project stays within the budget, and most importantly, the client stays happy.