How Running Your Life Using Principles From Software Development Can Make You More Productive

9681097378_ca650c7247_z
David Ek had it made.

By the age of 22, he was a multi-millionaire, drove a brand new red Ferarri and lived in a huge house in downtown Stockholm. His nights were spent ordering bottle service at the most exclusive night clubs, while being surrounded by Sweden’s hottest girls at every turn. He was living every young man’s dream.

Yet he was not really happy. The inner voice kept on telling him that all this was fake. His “friends” only wanted him for his money. Would they have really hung out with him if it weren’t for his millions? He had all this flash, but was he really living the life he wanted to live?

So one day he decided to call it quits. It was time for a reset.

The mind needed a period of reflection and rest in order for the spark to be reignited. He got rid of everything and retired to a log cabin to meditate and ponder on the future. It turns out, this was all that he required to refocus himself and to rekindle his drive.

He was pumped. For the first time, he could see things clearly. This was the start of something great: a new goal, a new challenge.

Ek is not a man to sit idly and watch as life passes him by. Instead, he views life as a series of missions. In an article in The New Yorker, he described his personal philosophy this way:

I like to formulate 5-year missions for myself. That’s how I think about life. Five years is long enough for me to achieve something meaningful but short enough so I can change my mind every few years.

His outlook on life practically guaranteed that this new mission would be a success. The short interlude in the cabin let him build up the energy to launch himself into a new project, one that could potentially revolutionize the world of music as we know it today.

The trends to him were obvious. People wanted a new experience and the old record companies weren’t delivering. More and more music was being pirated through torrents (Ek even briefly served as the CEO of uTorrent) and didn’t want to pay outrageous prices for whole records, when in fact they only liked one or two songs on them.

The old greedy record companies didn’t get it. They wanted to stop all this by class action lawsuits and trampling on people’s freedoms. Ek knew that the people were quite willing to pay up if someone delivered an experience for them that was better than piracy.

That was how the streaming service, Spotify, was born. Right from the get go, the service has managed to attract millions of users and is quickly becoming the go to site for music for the younger generation.

David Ek is all about the process. In his life, he follows the same type of philosophy that is behind the agile development of products. He sets out his goals and a plan to execute them, but if on the way he finds out that things aren’t working out the way they were supposed to, he changes things up. He is continuously improving himself.

The way Spotify is developed is a reflection of the way that Ek develops his missions. The founder is agile and his baby is agile too. The developers of Spotify use an agile method of development called SCRUM.

SCRUM is the name of an agile and iterative way of developing software and other products. The philosophy behind SCRUM is also about continuous improvement, of the product, but also of the method to develop the product.

The term and the process were first described by Hirotaka Takeuchi and Ikujiro Nonaka in an article in Harvard Business Review. They compared the approach to the sport of rugby, hence the term “scrum”:

Under the rugby approach, the product development process emerges from the constant interaction of a hand-picked, multidisciplinary team whose members work together from start to finish. Rather than moving in defined, highly structured stages, the process is born out of the team members’ interplay. A group of engineers, for example, may start to design the product (phase three) before all the results of the feasibility tests (phase two) are in. Or the team may be forced to reconsider a decision as a result of later information. The team does not stop then, but engages in iterative experimentation. This goes on in even the latest phases of the development process.

Principles from SCRUM can not only be applied to software development, but can also guide you in your process of self-development. After all, what is a more important product than your own self? Why not apply methods from SCRUM to organize your greatest project ever, that of your own self-improvement?

Principles of SCRUM

Agile development is a way to develop a product through adaptive planning and continuous improvement. SCRUM is one of the frameworks to do that. It’s not only a process to follow, but a way of thinking. While SCRUM software development projects are done in self-organizing teams, the basic principles and ways of working can also be used by individuals wanting to improve themselves.

SCRUM as a process has people at its core. A person who wants to succeed in using the process should have these 5 core values:

Human values:

1) Focus – You should be focused on achieving the goal that is set in front of you. There are many distractions that can sway you away from the path, but by remaining focused on the ultimate goal, you will be able to brush away these distractions and do what needs to be done.

2) Courage – You should be able to take risks and overcome the challenges that are thrown at you. The road towards self-improvement is not easy and you need to be able to overcome any type of obstacle that gets in the way.

3) Openness – You should be open to new ideas and also open to accepting change.

4) Commitment – Above all, you need to be committed towards achieving your goals.

5) Respect – You need to respect yourself and respect others.

When you keep these values in mind, it should be easy for you to adopt the agile way of working. You will start thinking and working in a different way. This will allow you to take on board what agile development is all about. You will be able to set goals, but also to correct problems that you might encounter.

The above values are the ones that a person needs to internalize, but the process itself should be done according to a set of values as well.

Process values:

1) Simplicity – The process should not try to do too much in one go, but instead be incremental. Don’t complicate things.

2) Visibility – The best way to achieve a goal is if you make the fact that you are trying to achieve something visible. That way people are following what you are trying to do, helping you out and cheering you on. Being accountable not only to yourself, but also to others, can give you that extra boost in willpower when you are wavering and thinking of quitting. The SCRUM process involves an entire team of people, while self-development is often an individual pursuit. However in order to advance in self-improvement, one of the best ways is to interact with other people, get their help, advice and their support.

3) Feedback – Feedback is a key part of the process. You should always be reflecting on what works and what doesn’t. Improvement of the process is necessary at all times.

4) Adaptation – When something doesn’t work, then change it. You need to adapt what you are doing in order to achieve your goal in the most efficient and effective manner possible.

The process values reflect the way you should go about achieving your goal. Not only should you be continuously improving yourself, but you should also be continuously improving the process itself.

This is the key idea behind what is called the Deming Cycle.

William Edwards Deming was an American statistician, engineer and management consultant. In the 1950s, he proposed the PDCA (plan, do, check, act) cycle, which is a method that businesses should use for controlling and continuously improving their products and processes.

He stated that the process of developing a product should also be part of the feedback loop and be improved on a constant basis. In order for managers to analyze their processes and make them better, he came up with a chart that now bears his name, the Deming Cycle.

deming cycle self-improvement scrum

The Deming Cycle is a chart that lists the four parts of the process of continuous improvement.

1) Plan – Before starting anything you should always plan what you want to do.

2) Do – After that you should implement the plan and create the product.

3) Check – You should then look at the processes that you used in the previous step and check what went well and what could be improved.

4) Act – Change up your process in order to make it better and more efficient.

The chart associated with the Deming Cycle is a good way to remind you on what you should be doing. Many people often get stuck in a loop and never learn from experience. They end up repeating the same mistakes over and over again and don’t try to improve what they are doing.

Remember if it doesn’t work, then change it. Even if it works, but something could be done better, then change it. Only that way will you be able to come up with the best product possible.

The process of continuous self-improvement

SCRUM as a method tries to build upon this idea of continuous improvement. In fact, SCRUM as a method is designed in such a way as to be able to change up the process fast.

There are 5 planning levels in SCRUM:

  • vision
  • roadmap
  • release
  • sprint
  • daily

The guiding light of every project is a vision. Making the vision a reality is the end goal of the entire development process.

If you don’t have a vision, you are likely to stray and not accomplish what you want to accomplish. It is a basic prerequisite for every successful development. That’s why you need to spend some time developing it.

A vision sets the direction of development and defines the final product that you want to deliver. It summarizes the final goal of all the effort that you are about to undertake and should be compelling enough in order to motivate you.

The vision needs to be clear, focused and define the critical parts of the final product. It should be high level, but also specific enough to be able to steer all the development efforts. A vision needs to answer the four basic questions of: what, why, when, how. What is the end goal of the project and why are you undertaking the project in the first place?

You need to visualize the product. Your mind should examine all of its features. Once you have a clear idea of where you want to go and why, put all this down on paper. All this effort should result in a vision statement, a short document that outlines your vision and the basic goal that you are striving towards. This document then serves as a reference for the entire length of your project.

To help you structure the vision document, you should remember that every project consists of a series of outputs, which then result in a series of outcomes, which in turn bring certain benefits. In order to illustrate what is meant here, here are some examples:

Software development project:
Project output: new sales page on the web
Project outcomes: customers are able to order products online
Project benefits: sales are increased by 15% and the profits are higher

Self-development project:
Project output: bigger muscles
Project outcomes: you are bigger, you are stronger
Project benefits: people don’t pick on you, you are better at sports, girls like you more

What are the outcomes that you want to achieve in your project and what benefits will these bring? Being clear on this will help you set priorities and focus your efforts on the most relevant goals.

In order to come up with a vision for yourself you need visualize clearly who you want to be and what you want to be able to do. Once you have this in your mind, write down a short vision statement summarizing your final overall goal. This shouldn’t be more than a few sentences.

Once you have this, you should reflect on the why. Why do you want to be this way and what benefits will it bring? Being clear about the benefits can have a positive effect on your motivation, which in turn can affect such things as your willpower and self-discipline.

Break the vision down into smaller sub-goals and try to prioritize. You should have a list of several sub-goals and a score on how important it is, as well as a score on how tough you think it will be to accomplish that specific sub-goal.

The next step is to outline how you want to achieve this vision. Your vision document should also include a few basic steps that you will need to take, as well as some obstacles and challenges that you are likely to encounter.

After you have defined your vision, the next step is to further break down in more detail how you will actually accomplish it. You need to plan the overall lifecycle of the design of the product. This will result in a roadmap of all the efforts.

The roadmap allows you to break down the process of achieving your final goal into a series of steps, or smaller goals.

In SCRUM the equivalent of smaller goals is what are called user stories.

A user story is basically a short description of a feature of the final product. They are not too specific, but should remain on a more general level, as to better guide the development process.

A good way to come up with user stories is to take several post-it notes and write the stories on them. These stories should be about the final results that you want to achieve and be based on some sort of an action.

Here is the basic premise of the user story statement:

Title of the user story

As “…role…”
I want “…something…”
to “…achieve a goal…”

At the end you should also judge the complexity of this story and give it a number, as well as the priority for this story. If you think it will be hard to accomplish, give it a high number on complexity like a 7, if you think it will be easy, give it for example a 1. You should also rank all the user stories according to how much of a priority they are for you, with the one with the highest priority getting a 1.

In self-development, the user stories are the sub-goals that you want to accomplish in order to achieve your overall goal. They are the features of your new self. 🙂

The user stories you create should be the more specific goals that you have, for example gaining weight or learning a language.

An example of crafting a user story (or specific goal) using the template above could be: “As an athlete, I want to have bigger and stronger muscles on my legs in order to be able to run faster.” You see how this type of wording makes it easier to see what you want to achieve and how to go about it?

The wording of the above story makes clear the outputs, outcomes and benefits and gives direction on what types of things you should do in order to achieve this goal. You are an athlete and want to be able to run faster. That means that your training would consist of low rep, high weight exercises, plus plyometrics and sprints.

If instead your user story was: “As an international playboy, I want to have bigger muscles in order to be able to attract more chicks”, then the way to implement this goal would be different. In this scenario, you wouldn’t care as much about strength, but only size, so your routine would be based around medium reps and you wouldn’t do any plyometrics or sprints.

The important thing about user stories, is to write them in a way so that they make sense to you. They are your goals and you are the one who has to accomplish them.

When you sum up all the user stories, the final result should be your vision!

Once you have completed this initial planning phase, you can proceed onto the actual implementation (remembering that you can always revise what you came up with in the planning phase as you go along).

You take all the user stories and put them into what is called the product backlog. The product backlog contains basically all the little goals that you need to reach in order to achieve your vision.

1000px-Scrum_process.svg

SCRUM is done in small iterative periods called sprints. Every development of a product is split into several sprints and each sprint usually lasts from 2 weeks to one month. You then have several of these sprints back to back and repeat them until you finish the product.

To illustrate this, let’s say that you want to accomplish your vision in 10 months. You break this down into 10 sprints, each a month long. During each of the sprints you work on accomplishing a smaller subset of sub-goals.

Splitting everything into small chunks allows you to concentrate on a limited amount of things at a time. This is much more effective than trying to do everything at once.

At the start of every sprint, there is a sprint planning meeting. This meeting plans out all the things that will be accomplished during that month. The first thing is to break down all the little goals for the month into tasks. A task is basically a unit of work that can be accomplished within the span of one day.

You can apply this framework in your day to day work. Before the beginning of every month, you should have a short period of reflection on what goals you want to achieve by the end of it. You then break this down into daily tasks.

For example, let’s say that one of your ultimate goals is to learn to speak Portuguese. That is part of your vision statement. Of course that is a very challenging goal and you can only accomplish it by breaking it down into smaller goals.

One of the materials that you are using is a book of grammar exercises consisting of 20 chapters. One of the smaller goals would be to finish this grammar exercise book.

At the beginning of the month you hold your own little sprint planning exercise, where you decide what you want to accomplish during that month and come up with daily tasks for yourself. One of the strategic decisions is to go through the Portuguese grammar exercise book in order to improve your grammar.

During that short reflection exercise, you set up your daily tasks. You plan that you will study one hour per day, four days per week, finishing half a chapter for every day of studying. That should end up in you having studied two chapters every week. At the end of the month you should have finished eight chapters.

So you make each of the hours of studying a specific task for the day.

When writing up tasks, remember to follow the SMART criteria:

Specific – the task needs to be clear. In the task above, the task is to go through a book of grammar exercises.

Measurable – the task should be quantifiable. You should finish half a chapter each day and two chapters per week.

Attainable – the task needs to be realistic. Circumstances may vary, but let’s say that setting aside one hour per day to study won’t burden you too much.

Relevant – the task should be relevant to your goals. The task is relevant to the overarching goal of being able to speak Portuguese, as going through the exercise book will help you learn grammar.

Time-related – you need to set a due date by when you want to achieve the task. The time aspect here is one hour per day, four days per week, finishing half a chapter for every day of studying. This will be kept up for the entire one month period of the sprint.

The sprint planning meeting should determine which of the user stories can be broken down into tasks that can be achieved within that one month period. If you feel that you can achieve several different user stories within that period, then go ahead and break them down into daily tasks. However remember that your monthly plan needs to be realistic, so that you can actually succeed in achieving your objectives.

Once you have this monthly planning exercise out of the way, it is execution time! You need to carry out what you had set out to do.

In order to reflect and plan out their activity for the day, developers hold daily SCRUM meetings. These are short (usually around 15 minutes) meetings held at the beginning of the day and their aim is to plan out what will be accomplished during that day.

You should start your day with a short reflection of the things that you plan to achieve during that day. Spend around 15 minutes in the morning, planning out your activities for that day.

Each morning during your short 15 minute reflection, you should ask yourself these three questions:

“What have I done yesterday and how did it go?”

“What do I plan to do today?”

“Are there any potential problems that I will face today?”

This will help you focus on the tasks ahead for that day, as well as think about the process to achieve them. It will also remind you of any potential challenges and the need to be flexible when going through your tasks for the day.

Then you can go ahead and start working on accomplishing your planned tasks.

You can use what is called a task board to help you to keep track of all your goals and tasks. A task board is a chart made out of several columns. The main columns include: your user stories, your to do list for the day, your list of tasks in progress and your done tasks. It’s a handy visual way of helping you get organized.

agile self-improvement

At the end of every sprint, there is always a sprint end meeting to review the sprint. One of the aims of this meeting is to reflect on how the different tasks were done, what the problems were and what type of improvements can be done in order to be more effective. This then serves as input for later sprints.

Whenever you accomplish (or don’t accomplish) your little goals, there are always lessons to be learned and improvements to be made, that can be valuable for later. The goal is continuous improvement, not only of yourself, but also of the process.

The process, as any habit, takes time to get used to, but at the end it can make your life much more organized and your path to self-improvement much more effective. That means you can achieve more, faster.

Here are some simple tips :

  • Don’t be too optimistic for the first release, later your productivity and effectivenes will increase as you gain more experience. Your first sprint might not always turn out the way you planned, but don’t despair. Use it as a learning process and feedback and improve it for next time. The next sprint will be much better. 🙂
  • The SCRUM process is not very heavy on documentation, however you do need some documents. Keep a journal tracking the process as well as some notes on the stuff you read and learned.
  • You should also keep in touch with people who want to achieve the same goal. They can help you out and motivate you.

Now that you have the framework, you need to apply it in practice. Here is what you need to do now:

  1. Create a vision
  2. Create your SCRUM chart
  3. Start your first sprint

Your Mission now, if you choose to accept it, is to work hard (and smart) to achieve your Vision!

Click below to read more (to learn about goals and how to achieve them):
How to set goals and actually accomplish them

————–
image 1; image 2; image 3; image 4

Leave a Reply

Your email address will not be published. Required fields are marked *

Copyright Renaissance Man Journal 2017
Tech Nerd theme designed by FixedWidget
shares
%d bloggers like this: