I've been developing and managing software for decades now. Starting in embedded, but doing more than embedded. Many of the mainstream software development techniques have crossover value to embedded. My mission is to spread some of those techniques to the embedded community.
My company is
Please visit my site.
High-Low Story Showdown, Deal and Slide, Developer Guts, and Customer Guts
It’s sprint zero and you have a stack of stories needing their first estimate? You need an initial release plan. What should you do? It’s kind of hard to start on day one with Planning Poker. There is a missing baseline to estimate against. Continue reading →
Imagine you are trying to cross a mountain stream. You could make a running leap and get to the other side. Sometimes that works, other times you get wet. When there are rocks sticking out of the rushing water, you can step from rock to rock and get across the stream without getting wet. Sure there are some streams you can jump across, go ahead and jump. Other streams require a more careful approach. Continue reading →
My son is studying computer science at U of I in Chicago. He is taking an operating systems class and has to do some projects in C. (Some things change, some things stay the same.) He had an internship over the last 8-9 months and was doing TDD in Java. So he might be in the early stages of a test infection.
He has not done much C so he’s got some learning to do. I thought I better show him CppUTest. He could use it for a play ground to learn some of the subtleties of C, as well as use TDD. Continue reading →
Coupling and cohesion have been discussed for a long time as the right criteria for judging a design. But there seemed to be no objective way to determine if code exhibited those qualities. Could TDD lead to higher cohesion and loose coupling? Continue reading →
LinkedIn is fun. Every now and then a person from the past pops in. A colleague from my early days at Teradyne had just heard about agile and she asked me what it was and how to learn more. Here’s what I told her. Continue reading →
Adding tests to legacy C or C++ code can be a challenge. Code not designed to be tested won’t naturally be testable. Dependencies will be unmanaged and invisible. Getting that first test written will hurt, a lot. Don’t despair! The first test is the hardest, but subsequent tests are much easier.
Knowing what to do and what to expect, when you start adding tests to your legacy code, can ease the journey. This article will give you an idea of what to expect when getting that first bit of C or C++ into the test harness. Continue reading →
In TDD next to the Big Framework we looked at a design that helps to isolate your code from the BigFramework. That article only showed half the story. Lot’s of times the big framework has the attitude “don’t call us, we’ll call you” built right in. Your code has to register somehow with the framework, then when you ask it to do things, it calls you back, asynchronously, with the result. Continue reading →
I’m just completing my fourth trip to China to coach Chinese engineers in TDD. I’ve learned a few things, I hope, about coaching people who don’t speak my language as a first language. I also had occasion to use what little I know on the subject while at the Scrum gathering in Shanghai, the first in China. Before I get into that, let me tell you about my adventure getting the the Scrum gathering. Continue reading →