Shame On Me (Why I Use Test-driven Development)

When I hear the word shame, there is only one thing that comes to mind: Slapshot. If you’re Canadian, chances are you already know what I’m talking about. To everyone else, Slapshot is a hockey movie and shame comes from an interview where Jim Carr is talking penalties with Denis Lemieux, goalie for the Charlestown Chiefs. Denis comes up with this to describe high-sticking, slashing, tripping, hooking and spearing… Continue reading

Share/Bookmark
Posted in TDD | 4 Comments

Agile2014 Conference Report

Heads-up that I just posted my end-of-conference summary of the Agile2014 conference in Orlando. In short, it was a great conference with some very promising signs for agile hardware. You can read my full report here.

-neil

Posted in Uncategorized | Leave a comment

Kanban For One… The Verification Engineer Edition

Finally solved a mystery this week after two different things happened. First… got an email from a coach telling me she was doing some kanban training with a hardware team. Second… had a chat with a couple guys about using scrum with a verification team. Put those 2 seemingly benign events together and voila… I finally find the right way to describe how I’ve approached functional verification the last couple years: it’s kanban with single item flow.

Here’s what that means… Continue reading

Posted in Kanban | Leave a comment

How To Find Our Agile2014 Demo

It’s still subject to change, but if you’re looking for our hardware/software co-dev demo at Agile2014 2 weeks from today you’re probably going to be looking for something like this…

demo setup

Provided I can find the space, we’ll have the hardware + monitor where the demo runs (you program the hardware and see it run on the monitor), there will be a laptop to tinker, a few prepared stories to get people started (1 for each of the software/driver/hardware layers) and some pictures and diagrams to explain the the thing. Then there’s me to help and you to drive!

And yes… it looks super fun because it is super fun :) .

-neil

 

Posted in Agile2014 | Leave a comment

Only 18 Days Until Agile Hardware Comes to Agile2014

2014-06-02 10.41.33It was a few months ago when Soheil and I posted our commitment to agile hardware development for our agile hardware/software co-development platform. The plan was to build a platform that would bring hardware and software developers together by showcasing TDD as a valuable technique in both domains. Neither of us really knew what we were doing at the time. But figuring the worst case scenario would be limited to complete failure and public ridicule, we went for it anyway ;). Now it’s just 18 days until our Agile hardware/software co-development demo makes an appearance at Agile2014 in Orlando. We’re cautiously optimistic we’ve avoided failure and are hoping any public ridicule will be minimal. Fingers crossed.

Continue reading

Posted in Agile2014 | Leave a comment

And The Winner Of the Limited Edition AgileSoC.com T-Shirt Is…

Mike Yang from Hillsboro is the winner of the limited edition AgileSoC.com T-Shirt. It’s great to see people taking the time to offer an opinion and spur conversation about agile hardware development so thanks to everyone who posted. Maybe we’ll do it again someday ;).

In case you missed it, here’s Mike’s winning comment… Continue reading

Posted in Agile | Leave a comment

The 90% Done Myth

Since posting The Great Agile Hardware Myth last week, I tried to think of some obvious myth that exists in the mainstream; some claim that we’ve all made that, without fail, turns out to be absolutely and entirely false. Took a while but I think I found it. We could have called it The RTL Done Myth, but I chose to call it the The 90% Done Myth.

Myth Reality
We’re 90% done. If everything goes well, all that’s left is testing and debugging this last 10%. The gant chart that says we’re 90% done is lying to us. We know it’s lying to us because it’s lied to us before, many times. We’d rather not use this gant chart but because tracking development progress is so important and we haven’t figured out a better way to do so, we feel like we have no other option than to keep trying to believe it.

Continue reading

Posted in Agile Development | 3 Comments

The Great Agile Hardware Myth

What’s completely clear is that agile was created by software developers for other software developers that write software. Agile was not created for hardware developers that build hardware so there can be no such thing as agile hardware, right?

Nope. Wrong. I’ve heard a few comments to that effect over the years from people that are just mildly familiar with agile. I’ve heard similar comments from others honestly trying to wrap their heads around it while tripping over preconceived notions and losing themselves in hearsay. Truth is, what it means to be agile is not cut-and-dried, even within software nevermind hardware. I figured it’s finally time to take a step back to clear a few things up so that people new to the discussion can form a healthy definition for “agile hardware”. Continue reading

Posted in Agile | 2 Comments

Agile2014 Demo – 1 Step Back… 1 Step Forward

With the arrival of our board last week, I figured now would be a good time for a quick update on how our Agile2014 software/hardware co-development demo is coming along…

2014-06-02 10.41.33Our starting point was a reference design that is similar to what we’re trying to do in that it sends video frames to an HDMI port. We’ve relied pretty heavily on that reference design to build our hardware abstraction layer that connects our application to the device drivers. We threw away the application from the reference design – which is basically just a loop that sends coloured bars to the HDMI.

So far, Soheil and I have focused all our time on the software side. We’ve written our software application code and we’re almost finished the hardware abstraction layer. When the software is DONE, our Conway’s Game-of-Life application will send a grid of characters to the hardware abstraction layer; the hardware abstraction layer will convert the grid into pixels; and the pixels will be sent as frames to the hardware.

Because the reference design includes everything on the hardware side necessary to fetch frames and push them out to pins on an HDMI connector, we’ve been able to ignore the hardware for now. Our board was on back-order through april and may led us to do a lot of mocking. That let us model the interaction with the hardware without the hardware.

All our software code is C++ and we unit tested it using GoogleTest and GoogleMock. As I said, some of our code comes directly from the reference design (i.e. we imported and unit tested existing features) while other parts are newly written for the demo (i.e. TDD of new features).

That takes us to about 2am last Wednesday… which is when I got home for the university. It was cold and rainy.

photo1With the postman delivering our Zedboard, we’ve changed focus to take a few unknowns off the table, the primary unknown being the quality and reliability of the reference design as a starting point. So from late last week to last night,  Soheil has been installing tools on an old laptop I borrowed from work so we can build and run the reference design; it’s not the goal but we’re calling it a proof of concept that helps us learn about the board and validates our starting point.

The good news, as of about an hour ago, is that Soheil has the reference design building and running. That’s the picture with the board and the multi-coloured bars on the monitor. It doesn’t look like much, but we’re pumped to get over this hurdle!

Now we’re off to polish and deploy the real demo!

-neil

Posted in Agile2014 | Leave a comment

SVUnit Scripting Proposal Version 2

I’ve had people asking about the SVUnit new scripting proposal I posted a few months back. I forgot about it for a while but now I’m back. I’ve taken some of the feedback I’ve received and folded it into a new version. Slightly different in that I’ve added switches for compile and runtime options.

Here’s the help. Take a look and let me know what you think…

Screen Shot 2014-06-05 at 8.54.54 PM

 

 

This is ready to go. I have a couple people trying it out. If you’d be willing to test-drive the new scripts before an official release, I’d sure appreciate it. Just let me know at neil.johnson@agilesoc.com and I’ll ship you a copy. If all goes well, I’d expect to release this within a month or so as version 3.0.

Thanks in advance for you comments!

-neil

Posted in Functional Verification | Tagged | 1 Comment