my tweets
- Buzz'd 3 hours ago
- @clickflickca tease! 4 hours ago
- that's me playing bejeweled blitz for the next half and hour 4 hours ago
- just unfollowed anyone that hasn't tweeted in the month of march, laterz... 4 hours ago
- @xALLIEbabax yum!!!!!! 4 hours ago
-
RSS Links
Archives
Blogroll
Infecting a team with agile “Part 2″ – Education
In part one of the series I covered some of the preparation I had to go through to start on the journey of getting my new team infected with agile. Things have been going ok, there are some improvements to some of the tools I would like to see, but hey that’s the point right? If it doesn’t work ditch it for something that does!
In part two, we are going to talk about some preparation that I am doing with my dev team.
To give some background, I work at a marketing company in toronto. Previous to my arrival the majority of the web development that was happening was doing one off service based work for clients, nothing wrong with that but the boys wanted to take things to the next level, be more efficient, start working on bigger more exciting projects, and that’s where I came in.
Getting back on track, the team I was brought into, while passionate and hard working had never really had any exposure to (for lack of better wording) real programming. The kind of programming that happens in agile environments , things like TDD, object oriented programming, pair programming, code reviews, source control, build servers, automation… you know the stuff that makes working fun!
Learning all this stuff is a daunting task on a good day! Having been through this process myself before I felt I could help the guys on my team take on this challenge.
Lunch and Learns
Lunch is often seen as a bit of wasted time during the day, why not take that time and learn something! I’ve scheduled a lunch and learn with my team once a week every friday. To start we are reading the foundations of programming pdf book (which is fantastic btw). Were covering a chapter a week, and we review and discuss the chapter for about 30 mins. The discussions that come up are surprising, interesting and challenging.
Code Reviews
Code reviews are an integral part of maintaining high quality work, but at the same time they are a great opportunity to teach. Having developer who’s in the process of learning new concepts act as the reviewer during a code review is a golden opportunity to go over the architecture and design decisions you made while developing the feature in question, it gives the reviewer not only the opportunity to look at the code, but to understand the thought process behind it.
Pair Programming
One of the simplest ways to teach another developer a new concept is to have them sit with you in a pair programming session. Start coding as you normally would, but pass the keyboard off after a bit and start talking your partner through the rest of the steps, help them write some unit tests, etc. It’s an excellent way to quickly introduce new stuff.
These are just a few options for learning that I think work well, and have worked well for me in the past. I would love to hear how other people are tackling this problem, comments and emails!