The mistake most software developers and software development organizations make is the one about what they are in business for: Most will think they are in the business of building software. That’s the wrong focus, they are in the business of delivering software.
What you do is not your purpose, it is a means to an outcome. The difference is subtle but important. Focusing on what you do as the purpose of what you do will result in a process mindset rather than outcome mindset. What and how you do something is unimportant as long as you deliver what and how you promised (there just happens to be means that are more and less effective..).
It might seem like I’m nitpicking, but the subtle difference and shift in mindset can make a great difference: if you focus on what you do, you will be inclined to just do it without questioning WHY you are doing it. If you have an outcome focus, you will start questioning the why and the intended outcome. Shifting this way will allow you to recognize unessential distractions, tasks and targets, and get rid of them. Getting rid of what is essentially a waste and a waste of your time will free up your time to do more important things: in the context of software development this means delivering better software faster.
November 10, 2009 at 2:41 am
Great point Willie. This is why Agile requirements are written as user stories – so that you never forget who will be using your software and why. As you say, this shifts the mindset to focus more on creating the most usable and best feature for a customer. While it is a subtle difference, the impact to the work as the approach is huge.