Total Pageviews

Showing posts with label Agile. Show all posts
Showing posts with label Agile. Show all posts

Tuesday, July 3, 2012

Space Rockets and Agile Programmers Are Doing It…Why Aren’t You?

Are you like everyone else when it comes to setting goals? Do you define what you want to achieve and then start working towards your big goal?

You work hard on a daily basis to reach that goal, but at some point you start to feel frustrated, because you’re not making any noticeable progress after all.

This makes you very confused and angry, yet you can only blame yourself for this situation. You have made a classic goal-setting mistake.

Do you know what it is?

Let me tell you about a real experience I had couple of years ago. This happened when I was competing in a national level triathlon race.

A triathlon consists of three different sports (swimming, cycling and running) and every race starts with the swimming part. As soon as the start signal goes off, all the contestants run into the water and start swimming.

After myself and the rest of the contestants had swam for some time, I realized that this one guy was swimming in the wrong direction. He kept going and going, until at one point he stopped. He realized that he had swam in the wrong direction and now everyone else was in a completely different place. Naturally, he had to change his course and catch up with the rest of us.

This kind of scenario can happen in your life, whether you are a triathlete or not. You set a goal and start taking action on it, but unfortunately this is not enough. If you don’t know your current position in relation to your goal, then you are going to be like the triathlete I just mentioned; you will keep going and going but your actions will only take you further from your destination.

When you get further away from your goals, most likely there is one critical piece missing in your goal-setting process. Eventually, this missing piece might get you lost — and even make you quit on your goal.

Now, you don’t want that to happen, do you?

When a rocket is launched into space, do you think it just follows a straight line from earth to its destination in space?

Nope, it doesn’t.

It makes small adjustments to its course along the way. This is how it stays on track and reaches a very specific but distant destination in space.

It’s the same with agile programmers: they know exactly where they are in relation to their end goal (a finished application). They make necessary adjustments to their actions along the way if they find that they are on the wrong track.

Back to you: do you know why you get lost so easily? Well, it’s because you are not adjusting your course like that space rocket, or not following procedures like those agile programmers.

In both of the previous scenarios, adjustments are made all the time. In contrast, you just set your goal and take action on it, without stopping to correct your course. If you don’t reflect on your current progress and just keep doing your work, then the confusion is inevitable.

Finally, you should also pay close attention to your attitude.

You might think that pausing to reflect is a waste of time (it’s slowing you down), even if you understand the need for it. If you think like this, you clearly need to change your attitude towards the reflection time and understand its true value. Stopping down for a moment could save your whole project. Instead of just blindly taking action, you’ll start to see where you have deviated from your goal and you’ll be able to take corrective action immediately.

When you are on the right track, you are more motivated to keep on working towards your goal instead of quitting.

Let’s talk some Scrum. It belongs to a family of agile software development methodologies and one of its characteristics is a daily 15-minute time-boxed meeting called The Daily Scrum.

Every day during the 15-minute period, the team has a meeting stood up, where everyone reports their progress by answering three questions:

What have you done since the last meeting?What are you planning to finish by the next meeting?Is there anything standing in your way?

With these questions, it’s easy to see what everyone has been up to, what’s going to happen next, and if there are any issues that might be stopping the developers’ progress.

“Ok, so this stuff is for software developers,” I hear you say. “How does that help me?”

This is exactly what we are going to find out next.

Daily Scrums can be applied on your own work as well. Let’s see how to do it:

Know your goal and sub-goals. It goes without saying that you should have a clear and explicitly defined goal, as well as milestones related to your end goal. If you don’t have this plan set, then do it now.Schedule and location. Schedule a 15-minute block on your calendar, which occurs every day, at the same location, at the same time. To make sure you don’t exceed the 15-minute limit, get a timer, set it to 15 minutes and start it as soon as your meeting starts. The best time for this is before the end of your working day. This way, you have some kind of idea what you have done, if you have encountered any issues and what you  want to do next. The fixed location helps you to form the Daily Scrum habit.Have your meeting. Answer the three Scrum questions I mentioned earlier and write them down in a document. Then, spend some time figuring out if you are on the right track in relation to your goals.Take action accordingly. Once you have had your Daily Scrum, form a plan for what to do next. Do you need to do something differently? What does it take to remove the obstacles in your way?

Take a moment to think about the best answers to these questions.

As you can see, daily reflection is very important so that you can see where you are in relation to your goal. Otherwise you could be working hard for nothing. In a worst case scenario, you may have to start your work all over again.

With a 15-minute daily meeting, you can stay on track and take corrective action right away, instead of doing it weeks or even months after starting your work.

Over to you: how do you keep track of your current situation in relation to your goals? Do you review your work in any way? Please share your comments and experiences on the comment area.

(Photo credit: Old Compass via Shutterstock)

Timo Kiander, a.k.a. Productive Superdad, teaches WAHD super dad productivity for work at home dads. If you want to get more productive in your own life, grab 222 of his best Tips for Becoming a Productivity Superstar.


View the original article here

Monday, August 1, 2011

Productivity System Overview: “Getting Results the Agile Way”

If you have read anything that I have written on Lifehack.org, you probably already know that I am a complete Getting Things Done junky. But, like any good lover of productivity pr0n, I tend to look online for the “next best thing” when it comes to productivity systems and implementations.

Recently I listened to Scott Hanselman’s software development podcast, Hanselminutes, on his own personal productivity system. This guy is a telecommuting, programming animal, so I was intrigued to see what he had to say.

Besides the normal use of GTD, Steven Covey’s 7 Habits, and the infamous Pomodoro Technique, Mr. Hanselman mentioned a book by another programmer, J.D. Meier, called Getting Results the Agile Way. This system takes some cues from the Agile software development methodology (more here at Wikipedia) and is a system based on producing results rather than activities, having boundaries and set tasks and goals you want to accomplish, and making time your best friend.

This system seems pretty interesting and effective once you read into it. Let’s take a look at the key points of the Agile Way productivity system.

If you are a GTDer you may sometimes feel that you are bogged down in the minutiae of everyday task management, blindly checking off tasks as you finish them. If you are a 7 Habits kind of person then you may get caught up in the question, “What’s my life purpose?”.

The Agile Way offers a slightly different approach . It concentrates on the outcomes of your actions rather than the activities of checking things off your list. This approach has more of a directive off the bat, whereas GTD says that you need to clear the runway level before you get to defining what you want to do with your life.

The Agile way also is all about reflection and making sure that you are producing some sort of results in your days, weeks, months, and years. The system takes the idea that projects and tasks are always changing, and because of that it is important to make sure that your plans of action are still valid and still producing results.

Something else that Meier’s stresses is the power of “3?, and the first he lays out is the idea of using your Time, Energy, and Technique to continuously produce results. He says that if you manage your energy effectively by living with passion regarding your work, you can use your time, energy and passion, to produce better and more quality results.

You are probably thinking, “OK, enough with the na-na-nu-nu, energy equals results stuff. How do I use this system?”

Meier’s has a really great “getting started” guide on the book’s site. Basically the system revolves around the power of “3?. Here are the basic steps:

Define 3 outcomes for your dayDefine 3 outcomes for your weekDefine 3 outcomes for your monthand define 3 outcomes for your year

Basically, you want to identify the 3 things you want to accomplish for your day, week, month, and year and then at the end of each respective period review your results, find where you can grow and improve your technique, and plan again.

The Monday Vision, Daily Outcomes, and Friday Reflection pattern is a simple habit for daily and weekly results. source: http://gettingresults.com/wiki/Getting_Started_with_Agile_Results

Another nice idea is the “Weekly Results” paradigm where you first identify your “Monday Vision”, review your “Daily Outcomes, and then follow up the week with your “Friday Reflection”. This reminds me of the GTD weekly review, but allows you to be even more active with reviewing your actions and results.

There are a ton of extra subtleties to the system, like creating time boundaries for certain portions of your life (Meier calls them “hotspots”) like, work, family, fun, creativity, spirituality, etc. By setting minimum and maximum times for these areas of your life, you are creating some sort work/life balance.

Overall, I am extremely impressed with Meier’s system. So, impressed that I couldn’t believe that I haven’t heard of it before. What I like about it most is that it gives you some sort of direction for your days, weeks, months, and years. GTD is awesome at helping you identify and organize what needs to get done, but sometimes falls short in the actual “doing” part of the process. I could totally see a hybrid approach with GTD and the Agile Way to take stock of your current workload and then define what needs done during your weeks.

Another nice thing about the Agile Way is that it is instantly implementable. You can sit down with a pen and paper (or a spreadsheet, Evernote, OneNote, text file, etc. for you geeky types) and start to define your day and week. This allows you to start concentrating immediately and isn’t filled with the initial overhead of GTD.

So, I highly suggest that you take a look at Getting Results the Agile Way. You can pick up the dead tree edition at Amazon or read the entire book at the book’s site.

Chris is a developer, writer, tech enthusiast, and husband. He holds a degree in MIS and CMPSC from Penn State Behrend. Chris is also interested in personal productivity and creativity and how to utilize technology to get more things done. Check out his tech writing at androinica.com where he writes about Android.


View the original article here