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?”

Continue reading

Share/Bookmark
Posted in Agile | 6 Comments

Tudor Timisescu, Welcome to SVUnit

Slacking off? Me?? I guess maybe I have been because someone finally got sick of waiting for me to get to a new SVUnit feature and added it themselves…

…and that made me happy.

As of 2 about weeks ago, Tudor Timisescu is the latest addition to the list of active SVUnit developers-at-large. That brings us to a grand total of 1… which is 1 more than the 0 we had before! Continue reading

Posted in Functional Verification | Tagged | Leave a comment

Agile @ DAC – The Aftermath

Pleasantly surprised that I’m able to call DAC a big success for agile hardware.

Agile Evolution in the Verification Academy Booth

IMG_3237It started monday evening with the Agile Evolution panel in the Mentor Verification Academy booth. We were shooting for a half-hour open discussion where we went through some of the concerns people have with agile development (thanks to my work colleagues for helping come up with a list to get us started). Now that it’s over – and worked great – I can admit that I was a little nervous about the format. I knew the key would be people jumping in with their opinions because without that it would have been a boring half hour of one way conversation. Fair to say we did it though thanks to a great job from Dennis Brophy as moderator, Harry Foster as expert and me playing the role of ‘that other guy’.

To give you a feel for the topics we discussed, here’s a snapshot of the first couple slides…Screen Shot 2015-06-09 at 2.44.38 PM

Altogether, we talked about feature definition, the split between design and verification, pair programming, scaling agile to huge SoC teams, starting agile with pilot projects, how agile offers greater product visibility and applicability beyond design and verification. Notable highlights were me discovering a team that’s using SVUnit for unit testing and the many conversations we had in the follow-up. Always hard to tell if people left convinced, but there’s no doubt the vibe was positive.

Agile IC Methodology Forum

Tuesday morning was the agile IC methodology panel organized by Randy Smith of Sonics. But first was an office tour hosted by Davis Frank of Pivotal. Davis was the software expert on the panel and graciously offered to show us around to see a real agile team at work.

A few pictures from the tour…

IMG_0459 IMG_0452 IMG_0453

This is the first time I’ve seen an agile workspace first hand. There was real energy. People were talking and working together. Information was visible (including build information on dedicated monitors). It just looked like a really inviting atmosphere.

From there, it was back to the moscone center for the panel discussion. Randy opened with a good summary view of agile development, the benefits we can be looking for in hardware and touched on the work EDA companies can do to help support a new development approach. Next up was Davis to give a view of what it’s like to work day-to-day with an extreme programming team. The message from Davis was tight feedback loops and I think it came across well. I continued down the XP path by sharing my experience in getting started with agile and the practices I’ve used to solidify my belief that agile hardware is the way to go: weekly cycles, incremental development and test-driven development. Andrew Putnam brought us home with a good rundown of how he and his team at Microsoft are using FPGA accelerators with their Bing search engine. Andrew was particularly practical in how he framed agile as a necessity for FPGA teams working with fast moving software teams, but also mentioning concerns.

Just like the verification academy panel, we had lots of questions to close and discussions to follow.

Meeting New Friends

IMG_0464IMG_0463The final cool part of the 2 days we spent at DAC was meeting new agile hardware friends. A few were people that I’ve been back and forth with several times but never met in person, like Chris Higgs of Potential Ventures (with Chris doing live demos in the Aldec booth, I finally had the chance to see his python based Cocotb in action). Others were friends I hadn’t met yet, like Bodo Hoppe from IBM in Germany who had an agile hardware poster session. And most of the people I talked to mentioned how they were happy to see they weren’t the only ones experimenting with agile development. People are seeing their interest grow into a community. That’s pretty awesome.

Looking forward to taking the next step in Austin next year!

-neil

Posted in Agile | 1 Comment

An Agile Evolution in SoC Verification @ DAC

Here’s some information about a second agile hardware session at DAC in San Francisco. On June 8th at 5pm, you’ll find me and Harry Foster of Mentor Graphics in the Verification Academy booth talking about An Agile Evolution in SoC Verification. Here’s the session description from the Verification Academy events page

Screen Shot 2015-04-28 at 11.06.18 AM

Harry and I with Dennis Brophy as moderator will work together to give an intro to the session, talk about what to expect and show people how to participate. From there, we’ll work through a list of topics that relate to agile hardware development and verification. Harry and/or I will give our opinion(s) on each topic while people in the audience can chime in with follow-up questions or opinions of their own on the same topic.

We’re working on the prep now, which is where I’m looking for you to jump in. I see this verification academy panel as a chance to reach out to people that are either skeptical of agile development or afraid of it. I need your help with a list of questions or claims about the applicability of agile in hardware development to use as discussion fodder.

And hopefully I don’t regret this, but while you’re brainstorming, try to think like a hardline skeptic or someone scared they have something to lose by using agile development. Be tough; nothing easy. I want people in the audience to feel comfortable critiquing agile hardware without holding back and I think opening with tough questions will do that. Not that I think I’m good enough to answer them all and beat down any arguments against agile hardware, but that’s not the point anyway. I’m going in with the idea that in giving people a chance to talk through their concerns, we can smooth over at least some of the misconceptions and do just a little to ease people’s fears. Who knows exactly what’ll happen, but that’s the idea. Hopefully it isn’t me that gets the beatdown!

So if you’re up to doing a little brainstorming and helping us out with some material (it’d really help us out), please either add a few topics in the comments or send them to me in an email at neil.johnson@agilesoc.com. I’ll take whatever I can get, make slides out of them and use them to guide this session at DAC.

If you need it, here’s some examples to get you started:

“Even if I did think agile hardware would work, my boss would never buy into it. How would I even get started?”

“We need to know our requirements before we get started so I don’t see how agile could work for us.”

“Our documentation standards are much more stringent than what you’d find in software development. I’ve heard that agile software teams don’t document anything.”

“Why would we plan around continuous customer deliveries when we’re building an ASIC?”

“Our team is 80 people. How does agile scale up to a team that size?”

“It doesn’t make sense for us to deliver a device that’s partially done so I don’t get how agile development helps us.”

Thanks for your help. Like I said, you can either add discussion topics in the comments or send them to me at neil.johnson@agilesoc.com. And if you’re attending DAC, be sure to come hang out at the Verification Academy booth at 5pm on Monday June 8th!

-neil

 

Posted in Uncategorized | Leave a comment

Agile Hardware @ DAC – Part 1

Good news and better news…

The good news is that I’ll be part of an agile hardware panel discussion at DAC this year in San Francisco. The discussion happens at 10:30am on June 9th at the Moscone Center and it’s happening thanks to Randy Smith and folks at Sonics. For more info, check out the conference website.

The better news is that this is the first of two (repeat: two) exciting chances at DAC to build the agile hardware community (I’ll point you to the other in part two as the details are finalized). Needless to say, two chances to reach out at a conference like DAC is a great opportunity so if you’re a fan of agile hardware, a practitioner, someone who wants to know more or somebody who wants to get out and publicly disagree with the whole idea, I hope to see you there!

-neil

Posted in Uncategorized | Leave a comment

Goodbye AgileSoC.com… For A While

On Friday I decided I could use a break from the blog so I’m going to step away for a bit. Not exactly sure for how long, but it might be a while. Or maybe not. We’ll see. Meanwhile, you’ll still be able to find me at neil.johnson@agilesoc.com for questions, comment and discussion re: agile hardware. Later.

-neil

Posted in Uncategorized | 1 Comment

The Key To Test-driven Development of RTL

For me, this is a very exciting post because I think I’ve made some pretty important headway regarding TDD for hardware designers.

My big side project as of late has been a real pilot dedicated to using TDD to write RTL. I’ve blogged about some of the things I’ve learned already but the big eye-opener that I haven’t talked about yet is how TDD helps us with design partitioning and testability. Continue reading

Posted in TDD | Tagged | 5 Comments

The Starting Point for Agile Hardware (That No One Thinks About)

It should be obvious by now that I don’t mind paddling against the current. And I don’t mind suggesting a rethink of “best practices” we use in hardware development. But then there’s the practices that even for me are touchy subjects, where I know I’d be uncomfortable. Continue reading

Posted in Agile | 6 Comments

The Goal Of An Agile Hardware Team

Considering there’s been lots of new visitors to AgileSoC.com the last few months, I figured now would be a good time to (re)welcome everyone with a reminder of why we’re all here! Continue reading

Posted in Agile | 8 Comments

Agile Is More Than Just Concurrent Development

Considering SoC development requires several disciplines and considering our history of specializing and siloing these disciplines, it’s easy to see why people fall into the trap of equating agile development with concurrent development. But they aren’t the same. Continue reading

Posted in Agile | 1 Comment