Why We Use On-Call Shadowing On-call shadowing is an essential practice at PagerDuty. For a new engineer, a shadowing period serves as a kinder, smoother...by Max Timchenko
March 26, 2019
It’s already a couple of months into the new year, but a lot of us are still likely thinking about what we can improve on. You can call it resolutions, goals, or something else, but many of us will be fine-tuning our mindsets and attitudes so we can be more productive and successful in 2019. In this blog, I’ll detail why I developed an Agile approach to goals for the year—and how adopting an Agile mindset can help you achieve yours.
Figuring out my academic life as a chemical engineering student is a dynamic, ambiguous, and complex problem. Priorities change throughout the week, there’s no single “correct” way to approach academics since every student is unique, and a university student’s life is more than simply academics.
When I was an Agile Coach intern at PagerDuty, I learned that an Agile mindset strikes the balance between upfront planning and adapting to changing circumstances. Through this balance, an Agile mindset delivers optimal solutions to dynamic, ambiguous, and complex problems. Thus, adopting this mindset goes far beyond a Product-Development context at a software-as-a-service (SaaS) company and can be used to approach problems in everyday life.
Here are the actionable steps that you can take to begin adopting an Agile mindset in your daily life.
Step 1: Begin With the End in Mind
The statement, “Begin with the end in mind,” comes from Stephen Covey’s The 7 Habits of Highly Effective People, and it is as applicable to an Engineering team planning a software feature as it is to a student setting goals for the upcoming semester or any individual setting personal goals for the year ahead.
Building any kind of structure needs a blueprint, and having a mental vision of your desired end-state provides a guiding beacon that your physical actions can follow. Engineering teams at PagerDuty use Trello as a blueprint to organize their thoughts for retrospectives/Kaizens (see Step 5), weekly meetings, and team offsite planning, and I use Trello in the same manner to organize my life at a high-level.
As an example, below are my main goals for next semester, separated by categories of student life . These categories (which we call “epics” on software development teams) are flexible—for instance, you can customize different categories for different stages in your life. So if you’re working full time, you may have “Work,” “Healthy Lifestyle,” “Work-Life Balance,” “Family,” etc. as your main categories (epics), with appropriate high-level goals. For development teams, each epic is potentially a functionality that can be added to a product feature.
Step 2: Break Down the Main Steps to Your Goal(s)
I have the broad strokes of my goals in each category—you can see them broken down below.
The goals are more achievable and concrete after breaking them down into smaller, incremental tasks. Additionally, progress is quantifiable/measurable. For example, as a full-time employee, if your goal in “Work” is to increase your earning potential by a certain percentage, one step towards achieving that goal could be attending a career bootcamp to enhance your existing skill set.
In software development, these smaller chunks can be likened to “stories”—short, simple descriptions of a feature written from the perspective of the person(s) desiring the new functionality. A personal example is “Eating breakfast before class” within the epic of “Living a Healthier Lifestyle.” For development teams, a story could be as simple as “add a button to the Home screen of a website.”
Step 3: Minimizing Procrastination Through Defining “Work in Progress” (WIP) Limits
In software development, main phases such as “In Development” and “Ready for Code Review” are typically identified in a team’s workflow. The team then agrees upon a “work in progress” (WIP) limit for each phase to prevent bottlenecking. This means that for development teams, if the number of tasks in a particular phase exceed the phase’s team-defined WIP limit at any given moment, the team swarms on those tasks to clear the bottleneck.
In this scenario, rather than minimizing procrastination, I’ve put a twist on using the WIP limits to promote effective use of time. Note that I included the distinction between daily versus weekly WIPs to accommodate different timelines of various goals.
Step #4: Track Your Progress in a Lightweight Manner
Up until now, I’ve been doing strategic planning for my academic term in Trello. However, for tactical, daily tracking, I use Google Calendar for my class schedule, exercise regimen, and extracurriculars so that this information is easily accessible while I’m on-the-go.
In addition to Google Calendar, I use an agenda during the weekend to plan for the upcoming week and to keep track of daily to-do lists throughout the week. (If you prefer documenting your plans by hand, then a physical notebook works just as well.) The higher up a task is written on these to-do lists, the higher priority they are, which typically results in a to-do list containing tasks ordered from “must do” to “should do” to “nice-to-do”.
No matter which tool(s) you choose to use, the key takeaway is that it should provide you with the ability to evaluate your priorities and maintain visibility into the progress of your daily tasks.
Step 5: Self-Reflect and Iterate on These Steps
Without the practice of regular self-reflection, you’d be surprised how long it takes to realize and act on observations in your own life. Engineering teams have a “retrospective” or “Kaizen” after each iteration, where an iteration is typically two weeks long. The retrospective or Kaizen marks the end of one development cycle and gives the team an opportunity to reflect on their most recently completed cycle, identify potential areas of improvement—typically in the team’s working processes—and make decisions on how to move forward and make these incremental improvements.
From a personal perspective, I’ve wasted hours in the past getting stuck on a question and being too stubborn to step away from it until I’ve gotten much needed guidance. As a working professional, perhaps you’ve also run into an issue, but you don’t want to risk bothering your fellow colleagues with questions while they’re working. I’d strongly advise against that because your colleagues can provide a different perspective that can lead to quicker problem-solving.
Depending on the academic or professional task at hand, some problems make take longer than others to complete. I’ve now set a rule of thumb for myself to “timebox” each assignment question to between one hour to one-and-a-half hours. Essentially, I give myself a set amount of time to attempt an assignment question before asking knowledgeable friends for a nudge in the right direction.
Key takeaway: If you feel that you’ve exhausted all your brainpower in trying to address a problem and have made minimal progress on it, ask a peer or colleague for their take on it!
Here are the key questions to get you started in applying an agile mindset to your work, school, or some other area in your life, regardless of whether or not you have experience working in an agile environment