(/images/uploads/2010/01/SailingFromFlickr-300x185.jpg "Agile Software Development is like sailing")](/images/uploads/2010/01/SailingFromFlickr.jpg)
Software development is a lot like sailing: unless you are sailing
downwind you can't get there directly and you have to tack; so you pick
a tack and set off. You hold the tack for a 'sprint' and then you go 'go
about' and head in a slightly different direction for another 'sprint'
until you reach your destination. Just like sailing if you change
direction too often you go nowhere (this is why agile insists no changes
in direction during a sprint). Just like sailing, currents and wind can
change during your trip causing you to adjust your tacking (sprints) to
get there. Just like sailing, you can't say exactly when you will arrive
unless you know every single current and wind change that will happen
during the trip.
Why automated learning is hard for a smart home. The perils of over-fitting, under-fitting and how the general unpredictable nature of life makes it hard to build a system that learns your behavior.
In a home automation system we often want to convert a measurement into a probability. The ATAN curve is one of my favorite curves for this as it's easy to map overything onto a 0.0-1.0 range.
Several years ago we did a major remodel. I did all of the finish electrical myself and supervised all of the rough-in electrical. I also put in all of the electrical system and water in our barn. I have opinions ...