Wednesday, January 13, 2010

It’s Not About You. Keep a Sense of Urgency.



When you're working on a project, you can decide to do things the smart, elegant, research-based way, or you can do them in whichever way is necessary to get the job done. To me, a project is and should be a "forward pass" sprint through the requirements. A project isn't the process. A project isn't fair. It is a single iteration. There will always? be time for more improvement and change later. Maybe you won't get to change what you want to on this project, or learn what you want to, but you can do this next time you have the opportunity. In a project you solve the problem as fast you can and backlog the opportunities for future consideration. You deliver. Maybe the things you didn't do won't be considered, maybe they'll never be done. But you will still always have the idea to apply that thing some other time. Nothing is lost.

I recently ran into a scenario like this at work while trying to "lookup" something against a file. The way the existing code was written, it only worked on one file, but I had two files. And I needed a solution. We determined that since I had just two (and not 300, for example) files, that we could copy the code and make it work. This was the fastest way of doing it and we know we'll try to do something better in the future.

Engineers have to make things work. There is urgency, there are customers, the project is held down every minute you're not solving the key requirements. The world is not about you and your learning, nor is it about an elegant system. Those things are for you, your values, and in your long term, maybe you can achieve them. But for now, it is about getting the job done. The system will take care of innovation, not you now.

No comments: