It seems there is a lot of talk. The internet is full of it. In the development community a lot of this talk is about easy, better, more fun, more innovative, more efficient, more impressive ways to develop. The things is there is so much of this stuff that it is difficult to know what to, what to aim for.
So I’m going to attempt to work out what would currently be development nirvana for me and the team I work with. Then ladies and gentlemen, I’m going to work out how to make it happen, rather than just talk about it.
Okay here are my constants :
Team of about 6 developers
.NET Based, developing in Visual Studio 2005
Sharepoint as major platform for deployment
These are things that we can assume won’t change, at least they won’t change for a good few months.
When looking at what we have in place now here are the things that need changing:
Currently using Visual Sourcesafe for some projects, but not all
No Coding standards (although we have talked about them)
No Consistent deployment method (although we have talked about it)
About to start implementing more agile processes (worklogs, sprints etc.) (after talking about it for a long time)
So there we have the boundaries in which we have to work. Now, like a good programmer might, I need to optimise the environment in order to make it efficient at doing its job. For me development nirvana can be summed up in one sentence; Nothing getting in the way. That is the aim. What principles can we apply to make this happen.
I’m going to take a tip out of Paul (our project managers) book and do some user stories of what I would like to happen in certain scenarios. This is my starting list, I shall have to write the story of what I want to happen for each :
1. Working for the first time on an existing project
2. New project starts up
3. Project finishes
4. Team working on same application
5. Error occurs in code during development
6. New application needs to be deployed
7. New Webpart needs to be deployed
8. An Error occurs in code after launch
9. Working from home
10. You pick up work for a different project
I will keep referring back to and updating this list, for the time being though these are the things that I would like to be as painless as possible. I’ll attempt to tackle each one in turn, however I suspect that solutions for one thing may well provide solutions for another, or in some cases create new pain and new problems.
The act of simply listing the things I would like to be able to do smoothly has stimulated thought and created boundaries within which to make my own working day a lot easier and more fruitful. Maybe you can give it a shot too, write ten things that you do regularly, then for each one see if there is a more efficient or better way of doing it.