If you have experience working on PCB design teams, either in a single location or remotely, you've probably seen your share of successful and failed projects. Any project can fail or be severely delayed for a variety of reasons, and sometimes, the stars must align to ensure everything is delivered on time and under budget. Even after making many mistakes that caused project delays and fragmented team members, I'm still learning what it takes to make sure every project is successful.
After learning from my blunders as a project manager, there are a few things I try to do before I start sharing client data with my design team. For newer recent projects, and even in the middle of ongoing projects, I'll try to go through these tasks to make sure we avoid a redesign before delivering final design data. Make sure to check these points (and I'm sure many others) before you send project requirements, tasks, and design data out to team members.
Getting complete functional and DFM requirements before starting a layout is an important task, but there is more that needs to be done before sharing design data. The goal of these tasks is to prevent unnecessary design changes once the layout nears completion. Here are some points that have popped up repeatedly in my projects:
I've had this experience multiple times when taking on a new project: the customer sends 6-month-old schematics, libraries, and a BOM. Once the new project is created to get the layout started, you suddenly find half the components have gone EOL, LTB, NRND, obsolete, or out of stock. Sharing a project for PCB layout that can't even be started in a reasonable time frame is a bit pointless as it only creates more work for everyone involved, and the task likely needs to be completed by a different person on the design team (e.g., schematic designer).
Nowadays, I make sure to sanitize the BOM on the front end by just placing the schematic and libraries into a new project, then I create a new BOM and count up the number of components with problems. I always want to make sure my clients know what other tasks are involved in getting their design ready for layout and manufacturing, and sanitizing a BOM is one of those important tasks.
For Altium Designer users, a fast way to do this is to use ActiveBOM. As long as component Supplier Links are embedded in your library components, or if the components were pulled from the Manufacturer Part Search panel, ActiveBOM will show which parts are still in volume production and which have had a lifecycle status change.
In my opinion, this is one of the basic tasks to complete before quoting a project, as sanitizing the BOM requires working hours from a PCB designer. This task of cleaning up a BOM can take days for larger problem-ridden projects, but it always prevents wasted time later. If you do this before starting the layout, you won't have to risk more extensive redesigns once you're ready to start fabrication and assembly. It helps when you have access to supply chain data inside your bill of materials, as this cuts down on time spent scanning distributor websites.
A new feature in Altium 365 that allows any electronics design team to spot these problem components and optimize their souring approach is the BOM Portal. The BOM Portal is designed to search the electronics supply chain for all part numbers in a BOM and display inventory, pricing, and lifecycle status in a table format. Users can upload an Excel file of their BOM and quickly identify required part swaps before sharing the design with the PCB layout engineer.
This feature is ideal for design teams as it is CAD agnostic: it relies on an upload of a BOM from an Excel file, rather than only working for Altium Designer projects. Any BOM export from any PCB CAD system can be analyzed using the BOM Portal in Altium 365.
This one should be obvious, but I can't tell you how many times I've been handed a project only to be told that a project library does not exist, I can't be granted access, or the parts are scattered across a group of file-based libraries.
In order for a PCB designer to do their job, they will need access to libraries, either by having access to the library files directly or by gaining access to a company's library via the cloud. Of course, if you do not have access to libraries during the design, there are always workarounds that can be implemented in order to complete the project.
The big pain comes at the end of the project when it's time to compile all the design data into a single up-to-date project library that functions as the ultimate reference for the product. This is extremely important for librarian tasks, which need to be performed once a project has received signoff and can move into production. Having a central repository for library data makes root cause analysis, investigation of QC problems, and design updates much easier.
In my view, the best approach is to compile all the available library resources for a project before handoff to a designer. Component management in the cloud with access shared with a designer is the fastest way to ensure instant synchronization between PCB design data and the central library. All CAD data for components will be universally accessible in the cloud, and the supply chain data for any project is then immediately available when it's time to purchase parts for a production run.
Library management in Altium 365 gives any PCB designer on a team access to a single set of library information for use in any new project.
Product requirements for a PCB project are often initially compiled into large documents, which may reference CAD data, manufacturing requirements, technical standards, and much more. At the start of a project, the designer may be asked to read through the document in order to better understand the technical needs of the product, and to make a plan for achieving these through appropriate design of the PCB layout.
Before sharing access to a new project, the core requirements should be translated into a checklist that can be quickly reviewed as a design progresses. The requirements document needs to be translated into (for example):
An electronics-specific AI-based tool can help significantly, such as the Requirements and Systems Portal in Altium 365. The tool help engineering management quickly define specific requirements from a large document, and these can be attached to the PCB project files. Designers can then immediately see the project requirements in their cloud instance, including requirements tagged to specific objects in a design (schematic symbols, PCB footprints, etc.).
Have you ever had a client come to you with updated mechanical or component changes right as you're about to finish their PCB layout? I've had this happen before, and it can be infuriating. In some cases, it's just a matter of resizing mounting holes or shifting a couple of components. Other times, it can force extensive redesigns, and you start to wish someone would have mentioned it before you started the layout. And what's worse, clients never want to pay for the changes, or engineering management never wants to change the schedule.
In a recent project, a simple request to move 6 SMA connectors down by ~0.5 cm forced us to move all other connectors on the bottom half of the board due to the precise high-frequency routing required in the design. If we had gotten word of these changes earlier, we could have saved our time and the client's money. Getting these changes ahead of time allows the layout team to plan for them by saving component placement and routing in these areas until last.
My designers and I all swear by dev boards for speeding up embedded development. This is one of those tasks that can be performed in parallel if you have the staff to support it. You also don't need to have a layout or schematics finished before you start putting code together; you only need to have a high-level block diagram and some functional requirements.
We do this whenever we have an embedded project with an MCU/FPGA that needs to interface with other ICs. Any problems that require debugging during development are already narrowed down to the code level and should have nothing to do with the dev board layout. It never hurts to do a Google search for dev boards and get a list over to your firmware engineer; you might be surprised at the range of available dev boards.
This is one aspect of project management that is obvious in hindsight, but it is something I was still learning to anticipate in some of my first projects. If you obtain thorough requirements and plan design changes before you share project data and assign tasks, you can spot which tasks might best be run in parallel during the design phase. Multi-board layouts, coding for any embedded firmware, and any software apps that need to interface with the system are all candidate tasks that could run in parallel.
This is another point that seems simple, but it makes all the difference in getting tough questions answered early as your team works through a design. Regular check-in times (be they daily or weekly) give everyone an opportunity to share progress, resolve outstanding questions, and set action items.
Whether everyone is collaborating remotely or is clustered in an office, get these up-front tasks done before you start working on the design. When you're ready to share your design data and begin a project, the management and sharing features on Altium 365 will help keep everyone on the same page. These features are accessible within Altium Designer, giving everyone on your team a complete tool for collaborative PCB design.
When you use Altium Designer combined with the Altium 365 platform, you can create a productive and collaborative PCB design workflow for your team. Altium 365 lets you bring designers, end users, and manufacturers into the development process, which can help you get through a design review faster and avoid time-consuming redesigns. Everyone on your team will have access to supply chain data, commenting features, and data-sharing tools to help streamline PCB design collaboration.