Building an Agile Hardware Community

A couple comments I’ve heard several times the last few months have lead me to believe that the agile hardware community has reached a critical point:

“I was excited to see I’m not the only one experimenting with agile hardware”

“Is there a framework/success story we can reference to get started?”

The first comment is promising in that we have several early adopters that are actively experimenting with agile development practices on their own. While there’s been activity related to verification for a few years now, there are new stories emerging from physical design (an incremental development approach that incorporates front and back end) and scripting infrastructure (unit testing and/or TDD to ensure high quality infrastructure). I’ve also heard, for the first time, teams re-organizing into an open/shared workspace. Lastly, I’ve been pleasantly surprised to hear about 2 teams attempting feature based development in a way that is radically different than our status quo task driven development. All said, we have a number of early adopters paving the way toward a more productive approach to hardware development.

The second comment is promising because it comes from experienced technical leaders that are starting to see agile as a competitive advantage. I think these leaders realize productivity has stalled and they’re willing to invest in it provided they can build reasonable justification. To them it feels like the right thing to do, but they need some small bit of evidence for a decisive nudge forward.

Given that, let me share what I see for agile hardware near term…

“DiffusionOfInnovation”. Licensed under CC BY 2.5 via Wikipedia – https://en.wikipedia.org/wiki/File:DiffusionOfInnovation.png#/media/File:DiffusionOfInnovation.png

When it comes to innovation, I like to suggest that the agile software pioneers have done the hard work for us; much of that hard work is portable to hardware. We also have the early adopters experimenting and paving the way for our industry. The technical leaders, though, are the key to building serious momentum. They are the people with the power to encourage early adopters within their organization and the influence to help cross the chasm toward the early majority (i.e. medium/large sized agile teams and product level success stories from the mainstream).

That said, holding us back is the fact that we’re all still individuals. We know there are others out there, but we don’t know who they are and have trouble reaching out. So it seems to me, the next step in the journey is pulling individuals into a community where we can share the stories and work together. Which brings me to a bit of a problem: I have no experience in community building.

I know one way to build a community is to have some kind of committee or standards body; this is the common path in hardware development (see: accellera). I can’t speak for other early adopters, but the idea of formalizing ourselves into something like accellera turns my stomach. Literally, the idea of an agile hardware committee anointing ideas and/or any kind of standardization talk makes me physically ill. Maybe someday that’ll turn into a good idea, but someday is not today. That’s my opinion.

So given I (a) have no experience in community building; and (b) know what kind of community I’d rather not be a part of, this is the point I turn it over to the audience for suggestions! I have a couple ideas myself to get things started. But I’m anxious to hear ideas from others so please share either by email (neil.johnson@agilesoc.com) or by commenting.

To get you started…

Agile Hardware Dating. Individuals can be paired to discuss shared concerns, problems or solutions. A couple examples would be early adopters discussing technical problems/solutions or technical leaders discussing team/organizational ideas/concerns with their peers.

Online lightning talks. Lightning talks are short 3-5min presentations where you have the chance to get to the point about your experience. I like this idea because it’s low commitment (relatively speaking), it’s public, it’s encouragement for others and it provides an opportunity for people to find each other. We schedule an hour, cram in as many as we can, people can tune into watch and we record them for others to watch later.

That’s all I got. I hope that gets you going. Like I said, please share your community building ideas in the comments or send them to me directly at neil.johnson@agilesoc.com. Likewise, if you’re looking for some particular outcome or you feel like you have something to offer (anything to offer), please fill me in.

This is the point where we’ll need to work together.

-neil

6 thoughts on “Building an Agile Hardware Community

  1. I have been testing last year Agile in our project we were trying to bridge design and verification gap using Agile by creating story and define task which have lock and key mechanism and having stakeholders.I am happy to discuss about this more

    1. shubham, thanks a lot for the offer! Let’s wait and see what others we can get and then I’ll come back to you.

      -neil

  2. One way to create a community is to create a Forum.
    Something like the Verification Guild Forum.

    It is open, and a great way to access past and present discussions.

    Ken

  3. I’d love people telling stories about their experience. A forum would be great, but three to five minute presentations to kick off a discussion would be great. I would love to discuss subjects like continous build (Testbench & RTL), Agile in distributed teams are among them.

    Count me in.

    Bodo

  4. Looking over this site, the Forum already exists.
    You may have to link it in all your correspondence. Persistence will pay off.

    Also, if I search on the web, do searches have access to forum content?
    The more you have published on the Forum, if searchable, the more hits and visits
    you will get.

    Ken

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.