Helping Hardware Be Agile, Part 3 - No Fluff Just Stuff

Helping Hardware Be Agile, Part 3

Posted by: Johanna Rothman on December 15, 2015

The big problem with hardware going agile is that the risks in hardware are not homogeneous. Hardware and mechanical engineering are on different cycles from each other, and they are each different from software. Even with each discipline, the risks are different when the teams collaborate together on one deliverable and when the entire program has to collaborate to create a product.

The engineering teams simulate to see problems in their own work and solve those problems. Each team is ready for integration at a different time. They can’t integrate until they go to fabrication. That changes the feedback cycle(s) for the entire program.

Questions you can ask are:

  • Is there an interim physical form that would provide us value?
  • How much does that form cost us to create?
  • How long is it that prototype good for?
  • If there is not an interim physical form that would provide us value, how can we obtain value and reduce risks with what kind of form or demonstration?

Here are some sample problems you could test for and avoid with early prototypes:

  • The footprint is too large/too small.
  • The design by contract work you thought was good turns out to be wrong.
  • You have a design that works but doesn’t produce the product you want.

You may have other problems.

Because the hardware parts run on different cycles than the software parts, we have at least two ways to manage these risks: set-based design and landing zones.

In set-based design, the designers iterate on the design, they rule in or out designs that do not intersect with the rest of the design components. In landing zones, the designers discuss the parameters of what makes a successful design and then converge on that success.

Either of these looks much more like “implement several features and see what architecture emerges, rather than design up front.” It’s also about using the intelligence of an entire team.

There’s a third option: is there a cost-effective way to make a prototype that can provide you feedback without having all the properties? For example, can you use a 3D printer to check the physical footprint, even if you can’t check heat dissipation? I don’t know if that would work for your program or would be a waste of time. I do know that 3D printing is much faster than going to fab for many parts of your product.

I used a fourth option some years ago. We wanted to simulate the traffic on an internal network to see if the design we had would work. I asked about 20 people to meet the architect and me (I was the program manager) in a large conference room. We organized the people according to the types of traffic. We had a metronome to help people walk on time. We simulated the network traffic—what was going where and when—with people. It wasn’t a perfect test, and it told the architect a ton of information about how the software would work with the current hardware. I’m not sure we would do that now—we did not have adequate simulators back then. At the time, it was a cheap and useful approach to help the architect realize that the hardware would not integrate with the software as he desired.

These methods are not infallible. However, they both provide feedback faster and better than waiting until the end of the project/program, when you have spent all the money and time—and you still don’t have hardware that works.

Hardware can be agile. In Helping Hardware Be More Agile, Part 1, the product owner defines when she wants to see what with a roadmap. That helps the team determine their interdependencies and make the interdependencies visible. In Helping Hardware Be More Agile, Part 2,  I showed potential kanbans and how the teams might use them. In this post, I suggested you might gain value from early integration and ways you might do that.

Agile and Lean Program Management: Scaling Collaboration Across the OrganizationI have more discussion in Agile and Lean Program Management. I started the hardware chapter in the beta that is available now, and expect to complete it “shortly.”

Johanna Rothman

About Johanna Rothman

Johanna Rothman, known as the “Pragmatic Manager,” offers frank advice for your tough problems. She helps leaders and teams learn to see simple and reasonable things that might work. Equipped with that knowledge, they can decide how to adapt their product development.

With her trademark practicality and humor, Johanna is the author of 18 books about many aspects of product development. She’s written these books:

  • Project Lifecycles: How to Reduce Risks, Release Successful Products, and Increase Agility
  • Become a Successful Independent Consultant
  • Free Your Inner Nonfiction Writer
  • Modern Management Made Easy series: Practical Ways to Manage Yourself; Practical Ways to Lead and Serve (Manage) Others; Practical Ways to Lead an Innovative Organization
  • Write a Conference Proposal the Conference Wants and Accepts
  • From Chaos to Successful Distributed Agile Teams (with Mark Kilby)
  • Create Your Successful Agile Project: Collaborate, Measure, Estimate, Deliver
  • Agile and Lean Program Management: Scaling Collaboration Across the Organization
  • Manage Your Project Portfolio: Increase Your Capacity and Finish More Projects, 2nd edition
  • Project Portfolio Tips: Twelve Ideas for Focusing on the Work You Need to Start & Finish
  • Diving for Hidden Treasures: Finding the Value in Your Project Portfolio (with Jutta Eckstein)
  • Predicting the Unpredictable: Pragmatic Approaches to Estimating Project Schedule or Cost
  • Manage Your Job Search
  • Hiring Geeks That Fit
  • The 2008 Jolt Productivity award-winning Manage It! Your Guide to Modern, Pragmatic Project Management
  • Behind Closed Doors: Secrets of Great Management (with Esther Derby)

In addition to articles and columns on various sites, Johanna writes the Managing Product Development blog on her website, jrothman.com, as well as a personal blog on createadaptablelife.com.

Why Attend the NFJS Tour?

  • » Cutting-Edge Technologies
  • » Agile Practices
  • » Peer Exchange

Current Topics:

  • Languages on the JVM: Scala, Groovy, Clojure
  • Enterprise Java
  • Core Java, Java 8
  • Agility
  • Testing: Geb, Spock, Easyb
  • REST
  • NoSQL: MongoDB, Cassandra
  • Hadoop
  • Spring 4
  • Cloud
  • Automation Tools: Gradle, Git, Jenkins, Sonar
  • HTML5, CSS3, AngularJS, jQuery, Usability
  • Mobile Apps - iPhone and Android
  • More...
Learn More »