Abstract: After experiencing success with Agile methods in software, companies are increasingly asking whether they can use some form of Agile collaboration for products involving both hardware and software. Three roadblocks come up immediately:
- Hardware generally has much longer cycle times
- Hardware teams have deeper specializations, limiting the amount of task sharing
- Rework (refactoring) for hardware is far more expensive than in software
Agile seeks to cross-skill everyone, but that can only go so far. An electronics designer isn’t going to just “pick up” the skills of a materials scientist. If we use separate engineering teams, we add complexity to our communications patterns. Still for this issue as well as cycle time and rework, real teams have found ways to get the benefits of Agile practices, and even some further benefits they didn’t expect!
There have been substantial surprise benefits. For example, even when hardware groups are not attempting to be agile, merely working in conjunction with agile software teams gave accelerated progress to both! How that works will be examined, and other surprise benefits too.
I'll give examples of varying degrees of collaboration between software and other disciplines (electronics, mechanical, operations, mathematicians…) drawn from my own experience as a tech lead, electronics engineer, and software developer - and also from the experience of other teams doing hardware & software development.
Learning Outcomes: - Understand how you can combine longer and shorter iterations for h/w and s/w work
- How to be a team when skills are too different to share Agile-story tasks
- Ways to leverage the differing constraints of s/w and h/w to help each other
- Every concept is based on real teams' experiences - no "theory-ware"!