Friday, December 18, 2009
Gift wrapping tip for golfers
Saturday, May 02, 2009
Agile Project Management and Golf
In an agile approach, you bite off a piece of work for a given amount of time (a sprint), design it, build it, test it, make sure the user interface is complete, and that all the code is in a production environment. In other words, you deliver something that provides immediate business value. On the software development project referenced above, the vendor would come back with most of the code working, most of the user interface done, some system testing accomplished, and the code would still be in a development environment. They would take the approach that they had some "tweaks" to wrap some things up but "we get the idea...".
I tried to relate this to playing golf. Suppose you're on a 450 yard hole. The approach above would be analogous to hitting a 250 yard drive, then maybe a 185 yard shot from the fairway to put you within striking distance of the green, and then picking up your ball and walking to the next hole saying you got close enough. Looking at it from the distance perspective, 435 yards is obviously 97 percent of the way there. But depending upon how well you execute, those last 15 yards could take a chip onto the green and into the hole (if you are really good or really lucky), or multiple chips and multiple putts. From the number of strokes perspective, being 15 yards out could mean you're two-thirds of the way there at best or maybe even only one third of the way there if it takes you two more chips and two more putts.
The point is, you've got to do the detail work to get the ball into the hole before you move to the next hole. We don't play all the big driver and fairway woods shots for the whole course and then go back and do all of our short game work. I think project management works best when you play it the same way.
Monday, February 16, 2009
Software is like Tic-Tac-Toe
The company 37signals has been an advocate of this same idea in software for some time: a given application should be about getting certain things done. The developers should find the easiest, fastest, most intuitive way to do just that and stop. Adding more lines (in this case, lines of code) to the game does not make it better. It buries the core functionality so that the software becomes too complicated, too hard to find the function you need in all the drop down menus, too much of a hassle. And we wonder why user adoption is so hard. I think the winners are those, like 37signals, who find that point of "enough" on the curve and deliberately stop while they can.
Friday, February 13, 2009
24 is Agile
Keifer Sutherland speaking in the same short film:In that 12 hours I gotta figure out how I'm gonna achieve everything I need to achieve in blocks of two hours and three hours. We do what's called a timeline, and we give ourselves a certain amount of hours to work on every scene. And we need to try to get to those hours to make our day--to stay within our 12 hours of shooting time.
Then as the day goes on you're constantly changing--things aren't working out, you look for a shorter way. A sort of more economic way to shoot a scene.
When you actually put something on its feet, logic issues will come with the physicality of the scene that might not come up when you're simply reading it. Stuff hopefully is continually changing until the very last moment until we shoot it, and I think your ability to adapt in those specific situations and certainly adapt at speed in many cases is the difference between your ability to do something well and not.