Whether you’re a seasoned Software Engineer, bright-eyed Product Manager, or have never even heard of the term Agile Software Development, you too can live a more productive and happy life by leveraging some of the same Agile principles that are used to build most of the software products we use today (think Twitter, Facebook, Snapchat, Uber).
By just quickly looking at a few of the basic tenants that Agile software development promotes, it is easy to see that it resembles much of what the self-improvement gurus of today preach:
Simplicity, adaptive planning, reflection, continuous improvement, regular adaptation to changing circumstance, face-to-face conversation
I spend my day building tangible products for a wide range of users, but it’s the time I spend away from my work where I continue to build the most important product of all — my personal life. Without actively meaning to over the past few years, I’ve managed to adopt many of the same Agile principles I use to build software products to now live a better life. I hope you benefit from at least one (if not all) of these simple to adopt concepts…
In Software Development: The product backlog is considered the “playbook”, or master to-do list, of all the features for the product you plan to build. Without the product backlog, you have just an idea for a product, but no actionable list of what needs to be delivered by the development team (I wrote more on this concept here).
Since the product backlog is used by developers to turn the idea into actual code, and ultimately a tangible product, specificity is key. You can’t just say “Press a button and users can order food”…this would leave thousands of open questions from the developers.
Generally, the most important features appear at the top of the product backlog so the team knows what to deliver first, though items are often refined and re-prioritized over time — this is referred to as “backlog grooming”.
In Life: We all have a running to-do list of what we’d like to accomplish in the next hour, day, month, year, etc. (from “sending rent” this afternoon to “get a new job” sometime in the future…), but often lacking detail and prioritization of what needs to be done.
How many times have you said you want to get a new job? Or start working out at the gym? These are two common examples of vague and weak tasks/goals. Just as software developers can’t execute poorly described features, you too can’t action on these vague requirements.
Put your to-do list in an actionable state and the results will come.
In Software Development: Here is where the prioritization of the backlog comes into play. Since your development team is limited by both time and # of developers (we call this capacity), it is important to deliver the most desired, and value added features first.
In software development we refer to these as “sprints” — normally two to four week periods of time where a development team tackles a series of features from the product backlog.
In Life: This is simply taking items from the highest priority on your ever-growing to-do list and actually completing them. Our “sprints” in life often come in the form of weekends because there tends to be little time during the week to tackle to-do list items.
There will always be some low hanging fruit (i.e. take out trash, wash clothes, etc.), but be sure to mix in some of the more larger and difficult items (i.e. refine my resume, look for a new apt) during your sprint.
In Software Development: Stand-up meetings are daily, time-boxed (normally 15 minutes), meetings that take place during a sprint. The concise nature of this meeting ensures fast, but relevant discussion between team members. During the daily stand-up, each team member answers the following three questions:
In Life: Ask yourself these very same questions every morning to keep you honest. You’re probably familiar with this Steve Jobs quote:
“I have looked in the mirror every morning and asked myself: If today were the last day of my life, would I want to do what I am about to do today?” And whenever the answer has been “No” for too many days in a row, I know I need to change something.”
These simple questions will help you verbalize (or in your head; on paper/in phone) your daily activities and help you draw in on how you are actually spending these finite days on Earth.
In Software Development: Retrospectives are meetings that take place at the end of a sprint (defined period of work) where the team all sits together to talk about what’s working, what isn’t, what opportunities people are seeing, and which challenges they are facing.
It’s about constantly checking in and questioning whether the team’s approach is still making sense given everything new it learned.
On my products, we use the terms ‘Highlights’ and ‘Lowlights’ to list out what we thought to be the good and bad of the last iteration.
In Life: Unlike the daily check ins (stand-ups), the retrospective can be more thought of as a longer term review (think weeks or months) of what is working and what isn’t in your life. If you have a significant other it’s great to include them in your “retro” — these conversations can range from your job to living situation to travel to really anything.
A simple way to approach this is take each major category of your life — 1. Career 2. Dating (or Marriage) 3. Health, etc. then talk or list out your ‘Highlights’ and ‘Lowlights’ of each.
Utilize tools where needed
In Software: It’s virtually impossible to build complex software without leveraging tools such as Jira, Rally, Trello, etc. These tools allow you to collaborate, organize and effectively track progressive during the development process.
In Life: Life is complex…even more complex than code. So why are you keeping everything you need to do, want to do, have done, in your head (or even a running list in Apple Notes)?
I use the free application Trello (both the web and iOS app versions), which is also often used in software development. I’ve been using Trello as my personal to-do list for a while now, and most recently my fiancee and I have started using it to plan our wedding.
Trello makes it easy to create actionable to-do list items and move them to the ‘done’ folder once completed. Not only does this help you track your progress, but also gives you a nice jolt of joy when you drag and drop from ‘To-Do’ into ‘Done’.
These are just a few examples of how you can leverage Agile, a technique widely used in the software development community which took an extremely complex subject (software) and simplified/improved upon it, to improve various aspects of your life.