I believe in Agile software development. I'm an Agilest. However, Agile software development is not doctrine. I believe in agile because it is a framework for making software development better and not a list of rules that everyone must follow to be successful.
The flexibility of Agile development is what makes it so powerful. I recently experienced this when I moved my team from in-person daily scrums at 9:00 AM to virtual daily scrums. I decided to do this by using an online collaboration application called Slack. After testing it alone for a few days, I sent this email to the team:
As I said in this morning's scrum, I would like to beta test virtual Scrums using Slack. Our Slack organization is:
Everyone should have received an invitation to join by now. If you have not, let me know.
I like to keep things flexible but structured. So, here are the guidelines for our beta of virtual Scrums:
1. For the rest of the year, instead of meeting in-person in the Hub at 9:00 AM, we’ll use Slack. All scrum updates must be entered into the #scrum channel on Slack by 9:00 AM every work day.
2. All team members must check the #scrum channel at 9:00 AM every morning to read the latest updates. If you see anything that needs to be corrected or clarified, collaborate with the respective team members and update the #scrum channel if necessary.
3. In exchange for not having in-person meetings , we'll need a greater level of detail in the daily updates. So, instead of typing "bugs", the update should include the bug numbers that have been fixed and the ones that are planned to be fixed today. Similarly, QA should include the tests they have run and the tests they plan to run that day.
4. This is a beta while we're in bug fixing mode and not working on features. Also, as we wind down the year, we'll give you just a little time back to you each day as we get ready for time off during the holidays. However, if virtual Scrums are not robust enough to guide our team once things ramp up in 2015, we'll go back to in-person Scrums.
Slack has apps for iOS, Android, Mac, and Windows. I recommend installing at least one of them on your platform of choice.
It has only been a few days, but the results have been very positive. I've managed the team to a high level of efficiency during our morning Scrums. However, that has led to very concise updates like developers saying they're working on "bugs" and testers saying they're "running test scripts". By using our #scrum channel on Slack, the team is providing specific bug numbers, test scripts, and other information. It took a change of the medium to elicit a change in behavior.
I was able to get this positive result because of the flexibility of Scrum. We may go back to in-person daily scrums, but, for now, our virtual Scrums are delivering real results.