There are two main approaches to software development, Waterfall and Agile. These approaches are essentially a guiding philosophy to interaction between a client and a development team, and an expectation of what and when progress is to be reported and delivered. Let’s quickly look at each one, in case you don’t know what I’m talking about.
In the waterfall approach, project requirements are gathered at the beginning of the cycle. Once the requirements are collected, design and development goes from A to Z, essentially bringing everything in the requirements section to life. Once Z is completed, the client can then review progress, at which point, almost always, big changes need to occur.
Issues: In a complex project, the client/dev team may not fully understand everything the project encompasses, thus adding time and delay since once the implementation stage begins, it’s a full on rush to the end, without the ability for easy changes in direction.
Agile development focuses more on regular and meaningful client/team interactions. Typically, work is broken down into smaller “sprints.” At the beginning of each sprint, requirements and planning takes place, and the each party knows what is expected to be delivered (your deliverable) at the end of the week. On delivery, the progress is reviewed, and changes of direction can be implemented.
I always thought about it as being shorter, more rapid paced waterfalls, since at some point in each sprint, work actually has to be completed.
So what does this have to do about anything? Well, let’s take Agile and Waterfall out of the software/manufacturing world, and place it on our own lives. How can we better apply the principles of these processes to ourselves, in order to better achieve our goals.
Most of our goals are long term, really long term. Take a look at these examples:
- My goal is to lose 15 pounds
- My goal is to have a big house
- My goal is to be rich
- My goal is to be happy
Set aside, for a moment, that none of these goals are smart goals, but even if they were, they are all end results. Applying the agile methodology to these goals allows you to quickly and frequently review your progress towards your goals, and modify your efforts accordingly. While the waterfall part of the cycle (remember, I said Agile is a bunch of short waterfalls) challenges you to be patient and wait until the next review.
The importance of weekly deliverables
The ends result is, we need to deliver frequently, because doing so gives us something to build off of. No one goes in to a diet with a goal of, say, losing 10 pounds in 30 days, and ONLY weighs themselves at the end of the 30 days. No way! They way themselves religiously, and tweak their daily routine each day. But! At the same time, you aren’t going to lose 30 pounds in 3 days, you need to have patience and keep working at it.
There is a big difference between too much feedback and too little. On one hand, you’ll never get anything done if you’re constantly going back, and changing your direction. On the other, if you don’t regularly reflect on your progress, how do you know if you’re still on the right path?
We need to make it a point to give steady, deliveries to ourselves. Each step is not always going to be the right one, but if you are taking ZERO steps, then none of your steps are the right one. At the same point, if you walk too far off course, you’ll miss your mark.
I’m going to write a couple posts in this series off of different articles I’ve ready recently, but the overall idea is, I’ve been reminded how important it is to end the week with something to show, and I am working on achieving that.
My weekly deliverables include (in non smart goal form)
- Writing regularly on my blog
- Making progress on my SaaS project ReplyWire
- Losing Weight
- Connecting with new people
For now, I’m sitting down, and asking myself, where do I want to be in 60 days (sort of long term goal), and each Friday at 5pm, what do I want to have in my done bucket (short term goals). My project is 60 days long, and my delivery cycle is 7 days long, I wonder what I’ll come up with.
It’s not that I’m so smart, it’s just that I stay with problems longer.
– Albert Einstein