Get Started with Altium Upverter, Sign Up Now.
Need to speed up NPI? Try agile development with online circuit builder tools
If you’ve ever paid attention to software developers, then you’ve probably seen the word “agile” thrown around a time or two. Anyone that confines themselves to hardware or software design likely views someone in the other camp as rather odd. Each group uses different tools, design methodologies, and workflows. With agile methodologies having proven themselves in software development, should they also be applied to hardware development?
Even though hardware designers are supremely innovative and constantly push the limits of technology, there seems to be little to no debate around improving design methodologies. Hardware designers tend to thrive on process-based methodologies, and the hardware development process can be viewed as rather linear. However, rethinking hardware design as a collaborative and creative process has the potential to improve outcomes and productivity.
What is Agile Development Anyways?
Agile development actually encompasses a number of different variations. Within the software industry, these include scrum, lean, Kanban, and feature-driven development. Any of these ideas could be easily adapted to hardware development by simply replacing the word “software” with “hardware” in literature and blogs on agile development.
While hardware development and PCB design are often viewed as a purely linear processes that progress from schematic design to PCB layout, verification, and production planning, changes are often required at different points in the design process. No product development process is purely linear as issues surrounding signal integrity, sourcing components, manufacturability, and changes in customer requirements may require changes to earlier portions of the design. Agile development stresses adaptation and responsivity to changes in order to deliver the best possible product to the customer.
Agile processes break a larger project into smaller pieces that can be developed in successive iterations. Each iteration lasts a specific amount of time and is developed through collaboration among members of a project team, and even with the customer. The goal is to prioritize what needs to be addressed during the current iteration and get it working properly. By reducing the size of each portion of a project and stitching it together as the design phase progresses, each portion of the final product can be brought to production level in succession. These iterations are repeated until a working design or product is finished and ready for manufacturing.
You can take your Kanban tasks off a whiteboard with online circuit builder tools
Agile Methods in PCB Design
Agile methods can be easily adapted to PCB design by breaking up each design phase into its respective components and addressing them in successive iterations. While there is no universal way to break up every project, an agile approach to PCB design might break up a project as follows:
- Schematic design: This lays the foundation for your PCB. If you are working on a complicated design that includes multiple functional blocks, each block could be considered its own sub-project and placed in its own hierarchical schematic. These schematics can be linked together into a top-level schematic.
- PCB layout: This phase is usually separated from the schematic design phase, but working with design software that synchronizes changes in each document is ideal for agile design. This allows you to quickly implement product changes in each iteration of the agile process as necessary.
- Verification: Once each sub-project is completed, it should be checked against your design rules and constraints to ensure it will meet your customer or industry requirements. Simulations also come in handy when verifying the functionality of your new product.
- Production planning: With PCB design, this is obviously the final step in the product development process. However, as you start to work on sourcing components for your board, you may find that some components are obsolete or unsourceable, and you will need to choose replacements. This then forms another iteration of the project, where the layout and schematic are updated with the appropriate replacement components. Note that you can avoid changes by checking sourcing information during schematic design iterations.
Throughout the process, you’ll want to take advantage of the verification features in your PCB design software to ensure that each portion of your design obeys your design rules and constraints. Whenever an individual sub-project does not pass muster, it should be included in the next iteration. Sometimes, portions of a design may need to be triaged based on changes in customer requirements, depending on the dependencies between each aspect of a design.
Agile Hardware Development with Online Circuit Builder Tools
Online collaboration tools have been a boon to software developers. They provide real-time collaboration, revision control, access control, automated backup, and sharing features that improve efficiency and productivity. In contrast, hardware developers have lacked the same tools, and these features have normally been integrated into desktop-based software. Data management and sharing features often require a central server and plenty of oversight from an IT team in order to provide network uptime, data integrity, and access control.
When one looks at the benefits seen by software developers, particularly in agile development, hardware designers can see a big productivity boost when it comes to implementing a design workflow that requires collaboration on a complex design. Placing these tools online provides additional benefits, including storage on the cloud, sharing and release management, and access control.
After a quick scan of search engine results, one quickly finds that the online PCB design landscape is fragmented, and most online software only contains subsets of the features required under agile hardware development. Teams are forced to use multiple online and desktop tools, rather than working on an entire product in a single platform. Instead, the right online circuit builder platform will help you take a design to completion and onwards to manufacturing.
The online circuit builder software from Upverter® provides distributed teams all the tools they need to design new electronics for any application. The design features in Upverter are flexible enough that they can be adapted to any development methodology, including agile hardware development. Your design teams can have access to design features that allow collaboration, provide revision control, and allow forking and sharing directly from your browser. Upverter continuously updates the platform with new features and capabilities that are demanded by the community.