Agile Design and Embedded

November 12th, 2009

One important realization on the journey from a BDUF approach to an iterative and agile approach is that design is never done. Designs evolve. The waterfall emphasis has been to unnaturally try to control software physics by imposing requirements freezes and burdensome change control. The process of developing software is part science and part creative. You are applying science toward the invention of something. Design is capturing knowledge both about what the end user need is, and one solution to that need.
Read the rest of this entry »

Embedded Memory Constraints and TDD

November 10th, 2009

Constrained Memory is the reality for many embedded developers. Running tests in the development system won’t suffer the same memory constraints found in the target. Here are a few things to help TDD in constrained memory situations.
Read the rest of this entry »

Why Test Driven Development for Embedded?

October 7th, 2009

Embedded software has all the challenges of “regular” software, like poor quality and unreliable schedules. It is just software with some additional challenges. The additional challenges do not disqualify TDD for embedded. TDD even helps with some of those uniquely embedded challenges.
Read the rest of this entry »

What Should you Expect from a Unit Test Harness

October 6th, 2009

A unit test harness’ job is to provide:

  • A concise common language to express test cases
  • A concise common language to express expected results
  • A place to collect all the unit test cases for the project, system, or subsystem
  • The facilities to run the test cases, either in full or partial batches
  • A concise report of the test suite success or failure
  • A detailed report of any test failures

Accurate Bar Chart

August 15th, 2009

Inspired by the Accurate Pie Chart I thought it was time to see if an accurate bar chart is also possible.
Read the rest of this entry »

Story Weight Reduction Toolkit

August 1st, 2009

Stories often start out too big. Big stories are a challenge, and it is not always obvious how to deal with them. Its important that stories be small enough to estimate, to fit easily into an iteration and to have a decent definition of done. This article explores why some stories don’t fit this mold and what you can do about it.

Read the rest of this entry »

Agile 2009 Visitors, the Grenning’s Chicago Recomendations

July 31st, 2009

Any of you people coming to Chicago for the Agile conference, here are a few of my wife’s and my recommendations for things to do in the the city. Most of these activities are within walking distance of the conference hotel.
Read the rest of this entry »

Extra! Extra! TDD Doubles LOC and No One Cares!

July 14th, 2009

Test Driven Development more than doubles the lines of code you have to write. With all that extra code to write, where will we ever find the time?! We have deadlines!
Read the rest of this entry »

Deep Agile Panel Questions – Documentation

May 13th, 2009

This is the third in my Deep Agile Embedded Panel Questions series. The question is:

We had a team doing agile. To them that included not doing any documentation. We need documentation once we go into maintenance. Is doing documentation allowed in Agile?

The short answer is yes. Agile does allow documentation. Do you think agile is a totalitarian dictator? :-)
Read the rest of this entry »

Deep Agile Panel Questions – Change

May 6th, 2009

Prior to the Deep Agile conference, I received a number of questions about getting people to change, to try new things. Change is hard. People need to be motivated to change. “If it ain’t broke, don’t fix it” they say. But there is always some things that are broken.

First there needs to be awareness/acceptance that there are problems to solve. Do a retrospective of the last release. Find the problems that people are passionate about. Try not have blame session. Build a logic chain from the problem to some solution you think will help. Get people to sign up to try the new approach for a month or two, not the rest of their lives. Iterations give a great opportunity for this kind of experimentation.

You have to try things, rather than just talk about them. I am not sure where this quote is from, but it is profound:

“It’s easier to act your way into thinking differently than to think your way into acting differently”

Read on for some specific questions, and my answers.
Read the rest of this entry »