RAD's "How I did Agile" Day
As this is my first post on the RAD Blog I should introduce myself. My name is Glen Ford, and I am the Lead Engineer/Technical Architect of the RAD Team.
RAD is a relatively new team in a challenging environment and it has always been Agile in the sense that constant change is a part of life in our environment and we all embrace that. However we have been searching to find the right framework in which to track and report without incurring too many overheads in time for team members.
RAD has to contend with the following:
- Fluctuating workforce
- Skill set specialisations
- Team members not always on-site
- Multiple projects with a mix of complexities and uncertainties
- As with all teams, we're resource constrained - this means we need to multiskill and work flexibly
In order to address this we've undertaken some research into various Agile methods and frameworks. In the spirit of being Agile (uncovering better ways of developing software by doing it and helping others do it) we decided that it was a good idea to try and share that knowledge, and so the "How I did Agile" Day was born.
We managed to find speakers from both inside and outside the BBC who would be willing to talk on a variety of Agile topics. In total 32 people from a variety of departments and roles across the BBC attended a day of talks at Broadcasting House in London.
"Being Agile vs Doing Agile" - Rob Chatley
Rob is a Principal Engineer at Metabroadcast and one of the organisers of the eXtreme Tuesday Club. He also chaired XPDay, the UK's premier agile development conference, in 2007 and 2008.
Rob spoke about the core principles of Agile, and why we need to think about what we are doing. He warned of the dangers of good Agile techniques becoming lost in a sea of buzzwords. In a relaxed and well thought out presentation he covered the cost of development and how Agile can reduce those costs by delivery value early in the process.
In an interesting offshoot Rob also covered stress on the development team and how that changes between traditional and agile projects. Stress can be evened out through the approach of "failing fast", the idea that you tackle early in the process those tasks you know are potentially going to fail, so you have more time and a better chance of rectifying them.
"Kanban in Software Engineering" - David Joyce
David is an agile development manager with 20 years software development experience. Most recently David has been working for BBC Worldwide coaching teams on agile frameworks and practices including Scrum, Lean and Kanban.
David gave a very interesting presentation about applying Kanban to Software Engineering, from the origin of the term Kanban (Signal Card) to the principles behind it. David covered amongst other things the idea of pulling work through the pipeline, rather than trying to push it, combined with a way of managing capacity.
There was a lot of information in this presentation, and David has been kind enough to make it publicly available here.
"Agile in Distributed Teams" - Mark Coster
Mark Coster is a Delivery Manager with ThoughtWorks. He has worked with successful Agile teams on small single location projects to large 100+ teams distributed over multiple cities and continents.
Mark spoke of the challenges of running Agile in a distributed environment. He stressed the importance of interactions between team members and the customer. Mark also elaborated on the pitfalls that you need to be aware of, and some of the techniques you can use to mitigate them.
Techniques included avoiding silo creation by distributing roles across locations, the efficient division of labour and the creation of redundant roles to ensure better communication across sites.
"Behaviour Driven Development" - Adrian Lewis
Adrian is an Agile automated acceptance and performance tester with over 10 years experience with a penchant for dynamic languages and open-source tools, using Ruby/JRuby, Watir, Celerity, Rspec/Cucumber and JMeter.
Adrian gave a good talk on a challenging topic, introducing himself as an Extreme-Tester he described the change in approach to work from the outside in, by testing behaviour of an application. He also covered the challenges of defining requirements with a fluid imperfect language and how requirements are always a near miss, and the use of metaphors and stories to compensate. He touched on executable specifications using RSpec and conversations using Cucumber.
The talk sparked some good discussions on this approach and ways to engage it. And how this approach reduces the barriers to generating meaningful tests.
"Blue Skies" - Duncan Pierce
Duncan Pierce of Amarinda Consulting has been providing agile training, mentoring and leadership for development and management teams in the UK and further afield since 2001. Duncan is one of the founders of the XPDay conferences and regularly speaks at conferences and seminars in the UK and Europe.
Duncan spoke of the three types of projects - Blue Sky (experimental), Green Fields (engineering) and Brown Fields (legacy) - and how they each require a different approach. Duncan covered how the application of various techniques may vary in each case.
It was interesting to consider the project type and reflect on things such as: Risk, Success, Quality, Estimation, Testing and Pace. He also encouraged discussion amongst those present on what happens at the boundaries of these classifications and what you need to be aware of when working on "the edge".
The feedback on the day was very positive, and we were pleased that we were able to host such an event in the BBC and look forward to doing so again.
More photos can be found on the BBC RAD Labs Flickr Photostream
Many thanks to Chris Godbert and Katherine Kirk for their help in organising the day, and also to Sandi Ford for taking photos on the day.