Agile methods have proven effective for software development and have grown in popularity across a number of software disciplines. Agile methods build capabilities using an iterative approach, as opposed to traditional approaches where requirements are defined early and designs are completed in full before a single line of code is written. Agile incrementally defines requirements with priorities, partial component designs and working systems that evolve through iterations called sprints.
The question remains, however: Do the 12 agile principles apply to more than just software? For example, can those principles be applied to other products, such as physical components that contain both electronics and software engineering aspects, and possibly a mechanical engineering aspect as well?
Agile principles are in line with lean managementís approach, which includes building a factory floor feedback loop, breaking down manufacturing into smaller components, continually adjusting for bottlenecks, and changing processes based on customer feedback and inventory levels. Given that, it seems as though agile principles should directly apply beyond software development. However, the answer is not straightforward, because differences between software and physical components affect how agile is applied. Letís explore how agile can be applied in light of these differences.