Great final day at the Intel Agile and Lean Development Conference. It started with a keynote talk by Jim Tremlett of Rally, I had morning talk and an afternoon talk and filled in the rest of the time with hallway discussion. As always happens to me during an agile conference week, I’m tired and my head hurts. That was compounded by me giving 2 talks in the same day which I’ve never done before. But I made it and now it’s time to crash. But first…
Scaled Agile Leadership – Lessons From the Military
Jim Tremlett’s 9am talk Scaled Agile Leadership got the day rolling. Jim’s talk revolved around the scaled agile framework and the idea that the military, with it’s model of decentralized control, provided a good example for how different teams within an organization can be given the latitude to make their own decisions while still working toward to common good. He talked about how information needs to flow through planning layers in an organization to be effective as well as decentralizing control and knowledge in an organization and the need for supporting technologies.
Jim finished with a specific example that talked about adjustments the American military made to vehicle convoys to protect themselves during the Iraq war. The case study typified the ineffectiveness of imposed solutions while showing that practical solutions can be encouraged by leaders willing to decentralize control of the situation. That allows the people best suited to solve a problem to come together and do so.
Tip of the day from Jim’s talk: more value created with overall alignment than local excellence.
Agile Applied To Hardware Development… We’re Not That Different After All!
Round 1 of 2 for me on the day started at 11am with Agile Applied To Hardware Development. For someone that’s used describing agile hardware to empty seats about agile hardware, today was refreshing. Still lots of empty seats, but only because the auditorium was so large! We had a good crowd :).
The talk went well. I started with material I first presented at Agile2011 in Salt Lake City. I gave my take on the challenges we face in hardware development, then proposed how we apply the values of the agile manifesto to clear those challenges. That kind of stuff is pretty general but I think it’s necessary to talk about the needs of hardware developers before you get to how we apply agile. It’s not stuff you can specifically practice, but it’s necessary context to see the possibilities.
The more practical part of the talk was the last half where I talked a bit about the first time I attempted to be agile in 2009 and then shared my view of agile development as it applies to front end ASIC/FPGA development, that came from my Agile2012 talk.
I switched things up a bit this morning by adding a shot of the Commitment to Agile Hardware Development blog I wrote a couple months ago (I actually added it to both my talks today so I didn’t miss anyone). I suggested that the end of a conference was a great time for people to commit to doing something different. I’d love to see people take me up on that challenge!
An Incremental Approach to Functional Verification
Now this talk had potential but I also knew it was a bit of a risk. I wanted to bring some specific examples with details while at the same time, not get so detailed that I lose people. Turned out there was no problem at all. I thought the 2nd session actually went better than the first. Turns out hardware developers like detail. Who knew :).
This talk is quite focused on the design and verification aspects of ASIC development. I identify 4 characteristics of late delivery – delays in initial results, subsystems prioritized over products, subjective progress metrics and long debug cycles – with a look at how I’ve addressed them using agile techniques. The big takeaways I’ve emphasized in this talk were TDD of the testbench components and incremental development of the functional model. New for this time around was a look at applying SVUnit to legacy code and using TDD to add features to existing code.
Discussion from both sessions was absolutely excellent. We had questions about how my small case study example would scale to a larger team of people. We had a fellow that worked in validation asking about how he could become part of the design process. There were questions about measuring velocity and how I defined done (code written doesn’t factor into it at all). Also met a guy that maintained a framework similar to SVUnit (it was nice to have discussion about TDD and unit testing spilled into the hallway). Naturally, he won a prize at the end of the session.
It was a great week for me and I’m glad to have had the opportunity to be a part of it. I met lots of great new people, learned some new things and had a great time. It’s weeks like this that keep me motivated to go further with agile development. These guys have their stuff together. I’m expecting big things out of them in the next few years.
Thanks again to the coaches at Intel for inviting me!
-neil
PS: almost forgot the question of the day. I had a coach… who shall remain nameless… ask me how to pronounce A-S-I-C. Love it.