In Lean Software Development: An Agile Toolkit for Software Development Managers, Mary & Tom Poppendieck mention “Make decisions at the last responsible moment” as one of the 7 rules. I’m happy to report applying it in my current project.
Two examples:
- as we are rewriting a legacy application in Java, we were supposed to recreate a link to an external website that helps sending automatic text messages to mobile phones. In the past 6 months, my manager kept asking me to get details on how it had been implemented in the legacy application. To which I usually replied: “are we going to implement this in the next iteration? no? well, let’s wait then.”
- another feature was to open the local email client. A guy from systems mentioned that someone (?) had said that it would be necessary to be able to configure the type of email client in some properties files, for the cases were the customer would be using a different email client from the one configured by default. I thought “what the…??” and mentioned that I would wait for him to get more details, but in the meantime would implement the simple opening of the default email client (using mailto:)
Well, we learned in the past week that the external website had closed down. We are expected to integrate with another one, but not for a couple of months. Good thing that we didn’t spend time investigating that, right?
As for specifying the email client, the guy never came back to us. After 6 months, we can safely assume that it was not that important after all.