Let’s take a look at education and agile, two awesome topics that fit together beautifully, and how they come together to help people become professional web developers in a very short period in Montana.
A great deal of my blog has been devoted to my experience of the Agile Software Development movement and trying to apply this beyond just code. When I sought links from my blog to reference, so much of the last 10 years of my blog is about agility in one way or another. So I won’t bother adding links. Just scroll down, read, and click on the “older entries” link and you’ll find more, and yet more. All of my career has been focused on agile in one way or another.
As for education, it’s been an area of interest since just after high school when I encountered a radical book Deschooling Society by Ivan Illich which exposed me to the idea there might be much better ways of educating. On thumbing through the aging paperback I bought probably in the summer of 1980 during frequent bicycle trips from Queens to Manhattan, I was surprised to see a reference to the work of Paolo Friere who “discovered that any adult can begin to read in a matter of forty hours if the first words he deciphers are charged with political meaning”, and that Friere “moved from exile to exile mainly because he refuses to conduct his sessions around words which are preselected by approved educators, rather than those which his discussants bring to the class.” Returning back to Agile, Paolo Friere and Augusto Boal were topics in an Agile 2010 conference from a speaker from South America who more lastingly introduced me to the work of these amazing gentlemen from Brazil. Both Friere and Boal know the deeper level of engagement that is possible in students when they are treated as subjects who steer their own learning, rather than objects into which learning is deposited or pushed.
Montana Code School is a community based initiative to train and educate professional web developers. Montana businesses needs them. May 2015 it became the only topic at a Lean Coffee conversation that was convened by Missoula’s 1 Million Cups community, which sparked Paul Gladen director of University of Montana’s Blackstone Launchpad (a resource for entrepreneurs on campus) to found the code school after that conversation. And I’ve been honored to be part of the founding team. We’ve been successful at training absolute novices with no coding skills to get full time development as junior web developers. Our first and second cohorts have attained at least 95% placement with an annualized wage increase that amounts to over $30K more income. The reason for siting our success isn’t to sell our school. We have professional marketing people from the community (often probono) already doing that better than I could. The reason to site our success is to hopefully help motivate you to look into the agile philosophy and practices that have supported and been foundational in our success at helping students learn rapidly.
How have agile philosophy and practices been incorporated into the school? We start our 12 week class the first day by briefly explaining the Agile Manifesto which we leave on the walls of the school. We explain Scrum, and we employ it with a week long “Sprint” that includes a flexible plan for the week on Monday that includes some of expected subject matter (though each week’s plan is always adjusted based on students needs, visiting mentors and employers who might share what their company does), and a demo and retrospective on Friday. The plan is on a kanban board, also on the wall. We start each day with a short standup meeting that incorporates the Core Protocols check-in and a short improv game to help the team develop their social and emotional intelligence. And during the teaching process we lean heavily on mob programming so the students can learn and teach each other as well as become powerful at collaboration. So most of the work students do are in small groups of three to five.
For people visiting our class, the level of trust and cooperation are very high. The informal atmosphere encourages vigorous engagement, and often requires breaks. Sometimes they’ll enjoy a humorous video together or a video game. There is frequent laughter, as well as staring at the screen working on a problem together. Student teams often take control of the set up of their desks during projects for their own needs. There are post-its and diagrams on all the walls. Although we have a course plan that works, most of the learning and the assessments are self-directed and managed. But we keep learning and adjusting, so what happens each week is a new adventure.
Although Montana Code School has definitely been powerfully influenced by agile philosophy and practices from the community of practitioners, and it is a cornerstone of our success, I’d really balk at the question “Is Montana Code School Agile?” After a week at the amazing Agile 2016 conference in Atlanta (the biggest conference ever for agile practitioners, which sold out at 2,500 attendees from all over the world), if you think you know what Agile is, or that you can tick a box and say “we’re Agile”, you’ve missed the point. Agility is a direction and a journey that never ends. Joshua Kerievsky‘s opening keynote moved many of us to update our understanding of the Agile Manifesto to a more modern approach that goes beyond a software focus to something more comprehensive: making people awesome, ensuring safety, continuous delivery of value, and rapid learning. Montana Code School continues to work on learning how to get better at each of these. Agile is a journey.