In CS-348, I covered many developmental practices and strategies, from the use of development environments to software design practices. In exploring increment.com I came across an article about the repetitive nature of agile development and how it can lead to burnout and fatigue. The article resonated with me because I will soon be entering the workforce and experiencing agile for the first time. The article’s focus on pausing drew me in to read on. The article’s title is Planning For Pause by Romello Goodman.
The article begins by defining how the agile approach emphasizes speed, flexibility, and continuous iteration by building software incrementally with each sprint. This approach works well for early-stage products but the author points out that the method doesn’t always account for late-stage software. The author identifies that teams can fall into the trap of endlessly adding small, insignificant features rather than working on more meaningful or impactful projects. This leads to a sense of busywork, where the development process feels like it’s stuck in an endless loop of minor updates, creating burnout and dissatisfaction. The author then introduces the concept of milestones, which is defined as an idea borrowed from the waterfall method. These milestones bring structure and pauses into the development process. Unlike agile’s continuous sprint cycle, milestones give teams a moment to stop and reflect on their progress. These breaks allow for a more complete and comprehensive review of the work completed and help realign goals for the next phase of development. The author compares milestones with retrospectives, which can be often overlooked or rescheduled in agile processes. One practical example the author shares is from their team at The New York Times, where they use a two-week cooldown period every six weeks to step back, address technical debt (identified in another blog of mine), and plan future work. By incorporating these breaks into the agile cycle, the author advocates for teams to prevent burnout, improve long-term productivity, and build better software with a pause style.
I found this article very interesting and pertinent to a big change coming in my life. As I prepare to leave university, I will be experiencing an entirely new mode of software development and teamwork in general. By preparing for the positives and negatives I will have a more complete understanding of how agile works and its potential alternatives. I will continue to read more into the actual development practices I will be actively experiencing.
https://increment.com/planning/milestones-and-agile-development/
From the blog CS@Worcester – WSU CS Blog: Ben Gelineau by Ben Gelineau and used with permission of the author. All other rights reserved by the author.