What the Process of Software Development Has to Teach About Answering Big Life Questions

I’ve spent the better part of my life trying to answer the question, “What do I want to do with my life?” Surprisingly, the process of software development offers a helpful framing for finding the answer to that question. Are you a soon-to-be graduate weighing the options of what lies ahead? Or are you someone considering switching career paths or changing fields entirely? Or are you someone navigating difficult personal relationships? For anyone struggling to plan what comes next, I hope these frameworks can help you find clarity.

What is Scrum? What is Agile?

If you work in the tech sector, you are likely at least aware, if not very familiar with, Agile and Scrum as approaches to software development. For those who are not familiar with these terms or who need a refresher, we can define these in broad strokes.

Agile

Agile is a process of software development that emphasizes transparency, inspection, and adaptation. It encourages a high volume of feedback, flexibility, and collaboration. Here, I will focus on the utility of intentional inspection and adaptation as it applies to making life decisions. The Manifesto for Agile Software Development offers more for those looking for the specific framing of Agile.

Scrum

Scrum is a framework meant to support the goals of Agile through an outlined set of values, roles, events, and artifacts. Events in Scrum are a set of rituals. They provide designated spaces for planning work, offering feedback, and showcasing completed work. Artifacts often emerge as a result of these events.

Bringing Together Agile and Scrum

If Agile is the “what,” Scrum is the “how.” Agile focuses on functional, usable outcomes (most often that means working software). Key features to focus on here are inspection and adaption. Scrum promotes inspection and responding through adaptation. A key factor here is the regularity of these two values. Two additional features to note are timeboxing these activities and creating artifacts to keep work transparent.

 

Applying Agile to Life

Now let’s apply this to our personal lives. I wish I’d had these frameworks when trying to determine what to do after I graduated from college.

Humans and industries are dynamic, so adapt.

It is impossible to account for all the unknown unknowns that you will encounter. This is true both in the process of software development as well as in life. Adapting to changing needs and environments is an incredibly useful skill. Your values and interests may change as you learn and gain experience. Be adaptable. And, if you aren’t, adapt by learning to adapt.

Give your thoughts a home (a.k.a Create a backlog).

In software development, we start by creating a list of things we’d like to build or improve. Often, we refer to this as a backlog or parking lot. Then, we prioritize these things based on how important they are.

When trying to answer an important question like “What type of job should I take once I graduate?”, start by writing down everything you value. What do you value now, and what do you think you will value in the near future? Defining the “near future” will likely be different for everyone. I recommend thinking of what you value for yourself in the next one to three years. Remember, you are a dynamic creature. Putting these values down doesn’t mean that they can’t change in the future.

Create a list or, for example, a Trello board (Organize Your Life with Trello – Shawn Anderson). This artifact helps you to get your thoughts out of your head, visualize them, and move them around. Once you’ve listed out what you value now and for the near future, prioritize them. What do you value above all else? What comes second and third?

When I graduated college, I didn’t know what I wanted to do with my life. My top three priorities became: get real work experience, learn more about what I do and don’t like, and pay off my student loans.

Timebox commitments.

As hinted at above, timeboxing how you think about things can help unblock moving forward with a decision. In Scrum, we timebox how long we spend planning, estimating work, and inspecting. Don’t give yourself unlimited time to write out every single value you have. Instead, give yourself an allotted amount of time (maybe over a few days). At the end of that time, move on with what you have.

If someone asks you what you want to do with the rest of your life, that is likely a much harder question than what you want to do in the next year or three years. A previous co-worker of mine encouraged me to think about life in terms of seasons. In some seasons of life, you might be driving toward career growth. In other seasons you might focus on personal growth. Considering what you value in the next one to three years may help you orient towards what opportunities align with these values. Personally, I have found that thinking of life this way lessens the pressure of commitment.

Hold designated reflection times.

Scrum suggests holding regular retrospectives to inspect work flows and team dynamics. It also provide a space for feedback, recognition, and suggestions for improvements. This tool can be highly effective for encouraging change where necessary as well as recognizing what is going well.

Once you have committed to applying for a specific job title or taking a new job, be intentional about reflection. It doesn’t mean you have to take action every time after you reflect. Designating a time to critically reflect on how things are going and document your thoughts has two impacts.

First, it asks you to keep critical thinking as part of your routine behavior. Second, it allows you to identify patterns and themes over the long run, and this can help you assess what next steps are the highest priority.

Putting It All Together

If you are uncertain about how to make an impactful decision, consider using the following framework. First and foremost, humans are subject to change. Timebox the period of time you are thinking about from your entire life to the now and near future. List out your values and prioritize what you value now and for yourself in the next one to three years. Make commitments and follow through, but also learn how to be adaptable. Be intentional about inspecting and adapting regular intervals through the experience.


To see additional examples of Agile applied to life, check out Sarah Brockett’s series Agile Practices for Normal Life and Justin Fitins’ Adventures in Minimum Viable Product: A Backpack.