Agile SW/HW Co-development at Agile2014

So 2014 is only a few months old and already it’s been pretty interesting for me. Since January, I’ve had 3 major agile hardware opportunities fall into my lap. Those 3 opportunities have somehow turned into another opportunity that I’m quite excited about. More about that in a minute. First, a quick recap…

My 2014 started with a brand new Agile Alliance Agile Engineering initiative lead by Nancy Van Schooenderwoert. Nancy asked me to help her out; she of course had me at ‘agile engineering’ and so we got started. It’s a little early to get into the details but Nancy and I are both pretty excited about how this Agile Engineering initiative will consolidate the agile hardware community and help it grow. More to come on that in the next few weeks.

Next big thing for me is that I’m getting involved with some research here at University of Calgary. Mike Smith is a professor in the engineering dept. who’s been researching the application of agile techniques in development of embedded systems for several years now. By complete coincidence, Mike has a new grad student named Soheil Salehian that I met through a lunch-n-learn I did last June. One thing has lead to another and suddenly I find myself consulting on Soheil’s agile hardware related master’s project.


Last big thing is that I had a talk accepted to the Agile2014 conference in Orlando. For me, this is a very big deal. The Agile2011 and Agile2012 conferences were absolutely excellent so to have the opportunity to hang with these people again is something I’m very thankful for.

So that’s 2014 so far. Should be pretty happy with it… I mean I am pretty happy with it… and yet I’ve found myself wondering how we could make the absolute most out of all the stuff happening at the same time.

I think I figured it out…

Considering I’m already up until 1am on wednesday nights writing technical papers, working on various open-source projects and blogging, and considering Soheil is a poor university grad student with nothing better to do, he and I figured we could work together to build an agile software/hardware co-development platform. Our hope is that people will use it to experience the benefits of using TDD for both embedded software and RTL development. The cool part is that the platform will be an actual hardware platform. We’ll have a board with an FPGA and various peripherals. The FPGA has an ARM dual-core Cortex A9 and a bunch of programmable logic so we can build a finished application consisting of software and gates developed using TDD. This is way out of our comfort zone for both Soheil and myself but so far it’s looking reasonable… at least we think it’s looking reasonable :).

Importantly, the goal is to take this with me to Agile2014. We want to give people a chance to play around with it and experience agile embedded systems development for themselves. We figured taking it to the conference would be a good way to do that.

If this is something you think can help the agile hardware community – and especially if you’re going to Agile2014 – we’d appreciate you spreading the word. We’ll of course roll out more details as things come together. We’ll be blogging as we go. You’ll also be able to see everything we do on github. As usual, I have a commitment to agile hardware sketched out. Soheil and I both signed it so there’s no turning back. Wish us luck!



3 thoughts on “Agile SW/HW Co-development at Agile2014

  1. Hi Neil, I’m Diego, from Argentina. I’m working in the National Institute of Industrial Technology, in a Micro and Nano Electronic Center. We are starting in the world of Hardware Verification, but I was working on Software Factory for 3 years and a half, with agiles methodologies, like Scrum. Now, I want to use agile methodology in this área….Do you give me some guidelines or tip to start with this chalenge? Maybe, a book, specific blog entries, tutorial or video that you consider as useful. Thank you in advance and your blog is so good and useful to me!

Leave a Reply

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