If you’re pursuing a career in software engineering, you may have seen the word “Agile” thrown around. As explained in the Agile Manifesto, Agile refers to a set of general principles that allow for the efficient production of software. And while there really is no one right way to do Agile, it always involves:
In Agile environments, developers will typically work in small increments of time to deliver working software. This practice constrains us to build working software in small chunks, and it also encourages us to release new versions of software more frequently. Typically, Agile product teams will deliver new software every two to four weeks.
When we started Launch Academy, we saw how Agile was being applied to the business environment with the popularity of the Lean Startup. The concept of applying such an impactful set of software practices in a domain different from business interested me.
So, as we were rolling out the first version of our educational experience here at Launch Academy, we considered: “How can we apply Agile principles in the delivery of education?” We found three key ways to do it.
1. Small Increments of Delivery Allows for More Rapid Change
Every new Launch Academy cohort provides an opportunity to make impactful changes to our curriculum. With the world of web development moving so quickly, it’s important we remain nimble to respond to the needs of hiring managers in software engineering. After our students graduate, we reserve three weeks (which we call the offseason) to upgrade our instructional practices, curriculum, and technology. With a new cohort on the way, the three-week constraint pushes us to make meaningful change in a short burst of time. For example, it was through this incremental model that we were able to quickly establish and refine our ReactJS additions to the curriculum.
2. Retrospectives Improves Course Quality
Each offseason also enables us to reflect on how we’re doing. We conduct a series of retrospectives where the entire team is encouraged to share their feedback and perspective on how we did. In these sessions, we can focus on what worked and what needs to improve based on how the previous cohort progressed. For example, there may be an assignment that could have had clearer directions, or we could revise and reorder a few reading assignments to help solidify understanding.
Also, our retrospectives are often the birthplace of experiments that dramatically improve our educational approach. It was during a retrospective that we refined our morning mentor group sessions, which is now my favorite aspect of the daily agenda: One of our Experience Engineers (e.g., instructors) suggested we experiment with having students facilitate the first half of the agenda, instead of the supporting instructor. With guidance and clarification from our instructors as needed, students were able to describe their understanding of the reading material in a relatable way, so overall comprehension improved. It also brought the group closer together, which is always great to see.
3. Daily Standups Allows for Responsive Change
As in all adult learning, each group of students brings different backgrounds and contexts to our education, so it’s important that we can respond to the needs of our students as they work through the material. Each day, Experience Engineers participate in a daily, 15-minute stand up to reflect on the previous day, quickly discuss the agenda for what’s ahead, and propose any changes that would best serve the students. During that time, the team can raise potential areas of confusion and adjust the plan as needed. It’s also a great way to get the team together and kick off the day with alignment, positive energy, and enthusiasm for what’s ahead.
These are just a few of my favorite ways in which we’ve brought Agile methodologies into our experience. As we grow and evolve, and since we’ve found Agile’s principles to work so well, we’ll continue to experiment with ways to incorporate learnings from the software world into the way we deliver the Launch Academy coding bootcamp experience.
Co-Founder Dan Pickett has been coding professionally since 2002. Prior to the founding of Launch Academy, he was founder and principal at LaunchWare and a co-organizer of Boston Ruby Group.