In the middle
I’m currently in the middle of a small (2 months) but important project. I wouldn’t say that we’re following a specific software development method but instead we try working after a few principles, which are maturing as we work.
1. Clear decision maker.
The developers know that there are so many business people involved but there is only one decision maker.
2. We talk every day.
At least once a day we talk. That does not mean a formal meeting. Sometimes it’s many small gatherings, sometimes it’s a formal meeting in a conference room, sometimes I call the developers one at the time. But we talk every day.
3. Status updates to key business people at least once a week.
This is not necessarily the managers but all who are affected by the project in their daily work. They are always informed on current status and we can repeat information on what is being delivered.
4. We don’t do stuff which takes long time.
We’re on a tight schedule so every hour count. If someone gets stuck, he need to address that at once.
5. We only do stuff which we have a good feeling about.
Since we are on a tight schedule, we must be careful not to do things in a bad manor. This does not mean that all solutions are the most refined. They are supposed to be the best ones, given the circumstances, but if someone feels uncomfortabld with a solution, we should avoid it.
6. At least one developer on business meetings.
We have many and short meetings with the business and include the developers. They are better at explaining what they are doing than anyone else and need details on requirements than anyone else.
7. Sleep on it.
If something seems unmanageable, we try not to decide directly but instead sleep on it. Many problems have just handled themselves.
8. Take the time to explain.
When someone has an issue with something, we try not address this in big meetings. Instead we take the time with more one to one meetings. Here is empathic listening crucial. But also clarity about what is important from a wider perspective.
9. Build on trust.
The basic principle is that we trust each other, that we act as someone to be trusted and that we build our solutions on that. This does not mean that we don’t follow security regulations but rather that all solutions should not be based on the assumption that co workers cannot be trusted. Instead we protect what is very important and explain our solutions in order to clarify how things work. If it turns out that someone is breaking the trust, this is a bigger problem.
10. Have fun.
We try to spend as much time on things that are fun to do. Creating functionality which help our customers is fun. Creating functionality which helps our business is fun. Clearing out misunderstandings is fun. Delivering a release which we can be proud of is fun.
As I mentioned, I wouldn’t say that we use an agile method but instead we work with an agile heart.