WDS has been adopting agile (and in particular eXtreme Programming) practices for a decade, which is relatively rare. We therefore have a mature following with our way of working evolving over time to best suit the needs of our business.
Along with a responsibility to contribute to any community we are a part of (both internally and externally), we often feel like we benefit from sharing our practices with other development teams. This discussion often initiates internal analysis and also probing queries lead to us questioning what we are doing and why. We had another opportunity to do this recently with a team from Buck Consulting coming down to WDS House. They have also been embarking on an agile journey but are a little newer to it, and so there was benefit to both parties in having these discussions
One theme that was in my thoughts during almost all topics which came up was one raised by our Global Engineering Lead (Mark Piper) recently during a lightening talk about agile practices. In it he covered the idea that most development teams attempt to adopt the agile principles due to the usual failings of following a waterfall approach. There are however many waterfall processes from project initiation to implementation which have various benefits. Therefore when analysing our more agile approach we have to ensure that those benefits continues to be realised, ideally in a more efficient manner.
For example, the agile manifesto alludes to ‘working software over comprehensive documentation’. One aspect of that comprehensive documentation utilised by many using a waterfall approach involves drawing class diagrams. We feel that these quickly become obsolete and out of date. We sketch them when required during paired programming sessions but also prefer methods like Test Driven Development to aid the creation of self-documenting code. The waterfall process had a practice which made code quickly and easily readable which we have replaced with another that achieves the same goal, but better fits our way of working.
We didn’t throw the baby out with the bath water.
One area that I think I think is really challenging and an opportunity to improve here but also in the industry as a whole is medium term planning. I wanted to share more on this area with Buck and anyone interested, and so to read more about how we solved that aspect, feel free to read this Epic Mapping blog.
I hope this helps. Feel free to comment, share and discuss