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.
(more…)
Archive for the ‘Agile Embedded’ Category
Agile Design and Embedded
Thursday, November 12th, 2009Tags: Embedded, Embedded Agile, Embedded TDD, TDD, Test Driven Development
Posted in Agile Development, Agile Embedded, Embedded TDD, Evolutionary Design | No Comments »
Embedded Memory Constraints and TDD
Tuesday, November 10th, 2009Constrained 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.
(more…)
Posted in Agile Development, Agile Embedded, Embedded TDD, Unit Testing | 1 Comment »
Why Test Driven Development for Embedded?
Wednesday, October 7th, 2009Embedded 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.
(more…)
Posted in Agile Development, Agile Embedded, Embedded TDD, Test Driven Development, Unit Testing | 4 Comments »
What Should you Expect from a Unit Test Harness
Tuesday, October 6th, 2009A 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
Tags: TDD, Test Driven Development, test-driven-development-tdd
Posted in Agile Development, Agile Embedded, Embedded TDD, Test Driven Development, Unit Testing | No Comments »
Story Weight Reduction Toolkit
Saturday, August 1st, 2009Stories 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.
Posted in Agile Development, Agile Embedded, User Stories, User Story, estimation | 4 Comments »
Deep Agile Panel Questions – Change
Wednesday, May 6th, 2009Prior 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.
(more…)
Tags: Agile Embedded
Posted in Agile Development, Agile Embedded, Embedded TDD, Uncategorized | 1 Comment »
Deep Agile Embedded Brain Storm
Tuesday, February 24th, 2009Let’s say you were an embedded systems developer, and you were planning on attending a conference like the Deep Agile Embedded.
What questions would you hope you could get answers for at the conference?
What if you already knew it all but were sending your boss, co-worker, or CEO who needed to learn more, what would you want them to hear about?
Would you want to do some hands on Test Driven Development?
Here are some of the questions we have so far:
(more…)
Tags: Agile, Deep Agile Embedded, Embedded, TDD, Test Driven Development
Posted in Agile Development, Agile Embedded, Embedded TDD, Test Driven Development | 3 Comments »
Zune Bug: Test Driven Bug Fix
Thursday, February 19th, 2009The Microsoft Zune 30G had a well known crash to bring in the new year. Here is the snippet of code that is the alleged culprit, from one of MS’s suppliers (Freescale).
(more…)
Tags: device driver, Embedded Software, TDD, Test Driven Development, zune bug
Posted in Agile Development, Agile Embedded, Embedded TDD, Test Driven Development | 1 Comment »
TDD as a Design Rot Prevention System
Friday, January 30th, 2009Coupling 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?
(more…)
Tags: code rot, Test Driven Development
Posted in Agile Embedded, Test Driven Development | No Comments »
Embedded Systems Conference FAQ
Monday, April 21st, 2008I’ve been talking Agile at the Embedded Systems Conference. Last week was my 7th year of participation. A few common questions usually come up. I’ll paraphrase the questions and answers.
(more…)
Tags: Agile Embedded, Embedded Software
Posted in Agile Embedded | 1 Comment »