Archive for the ‘agile’ Tag
Agile, Agile, Agile, It’s the Way to Be
Note: This is in response to @scottdensmore’s request for software-themed Schoolhouse Rock. I didn’t really know where else to post it, plus I can whore traffic this way. Try to sing along in your head.
Agile, Agile, Agile, It’s the Way to Be
Design, code, test, deploy
You think this is the way to work? Oh boy!
Have I got a thing to show you
It’s called agile, it’s the best!
Plenty of communication
Makes it better than the rest!
You think you’ve got a great thing going
With waterfall
But how much room for change do you have?
None at all!
With agile you build in
Plenty of room for change
*some other character pops head in* “Why build it any other way? I find it rah-ther strange!”
Big design up front
Long requirements docs
Annoying when your BA is a ****
And your POs are all coooocks! *piano trill*
Can’t get answers when you need ‘em
Spec docs have no sense of totality
How will you ever satisfy
Your zero-defect mentality??
Weeellll, you’ve gotta go with agile
Make user stories follow INVEST
Back it up with good criteria
And your product will be the best!
Working software is
The primary measure of success
Use the agile way and you’ll get there
With much less streeeesssss!
Be a craftsman not a drone
Take some pride in your code
Leave your codebase clean for the next guy,
Don’t be a total chode!
Iterative development,
Continuous delivery
All these reasons add up to:
It’s the methodology for me!
*song slows, piano playing*
With a kaizen attitude
You can get there too duuuude….
*music resumes and full chorus*
Just work well with all the members on your team!
*piano closes out song*
Design, code, test, deploy
You think this is the way to work? Oh boy!
Have I got a thing to show you
It’s called agile, it’s the best!
Plenty of communication
Makes it better than the rest!
You think you’ve got a great thing going
With waterfall
But how much room for change do you have?
None at all!
With agile you build in
Plenty of room for change
*some other character pops head in* “Why build it any other way? I find it rah-ther strange!”
Big design up front
Long requirements docs
Annoying when your BA is a ****
And your POs are all coooocks! *piano trill*
Can’t get answers when you need ‘em
Spec docs have no sense of totality
How will you ever satisfy
Your zero-defect mentality??
Weeellll, you’ve gotta go with agile
Make user stories follow INVEST
Back it up with good criteria
And your product will be the best!
Working software is
The primary measure of success
Use the agile way and you’ll get there
With much less stresss!
Be a craftsman not a drone
Take some pride in your code
Leave your codebase clean for the next guy,
Don’t be a total chode
Iterative development,
Continuous delivery
All these reasons add up to:
It’s the methodology for me!
*song slows, piano playing*
With a kaizen attitude
You can get there too duuuude….
*music resumes and full chorus*
Just work well with all the members on your team!
*piano closes out song*
A Post About Kaizen in Which I Get Preachy, or, There -is- a “Try”
Scott says (9:41 AM):so a guy is on a cruise ship
Scott says (9:42 AM):and they cruise near this island in the middle of the ocean and he’s on the deck looking out at the view, and sees a haggard man on the island in tattered clothes running around and waving his arms frantically
Scott says (9:43 AM): and he goes to the captain and tells him about it, and the captain says “yeah, I don’t know what’s up with that guy. we cruise by here every month and he’s always out there doing that”
Scott C. Reynolds told me this joke this morning and it really made me think.
A lot of times development teams have this problem. They are blind to the fact that something could be better. We have many times when something will get screwed up or be done poorly and no one fixes it. There are a number of reasons people will do this…laziness, unwillingness to learn, general blindness. But maybe it is because they don’t know that there is a better way to do something.
One thing I’ve taken away from this past year of change is the philosophy of kaizen. “Kaizen is a Japanese word adopted into English referring to a philosophy or practices focusing on continuous improvement in manufacturing activities, all business activities, or even all aspects of life, depending on interpretation and usage.” (Thanks, Wikipedia!) In everything I do I tell myself that I will do it better than I did yesterday but not as well as I will do it tomorrow. By doing this, by absolutely drilling it into my brain until it is part of my unconscious, I am ensuring the most quality in everything I do. If my stories aren’t comprehensive enough and my acceptance criteria not robust enough, I am sure to deeply interpret the next thing I have to write and make it more thorough.
This is how everyone should live.
Software will never be perfect, I will never be perfect, and change is a constant. These are all truths. If you can fully ingratiate the notion of kaizen into your life and try to make improvements on everything you do, you’re gold. You can’t expect to write flawless code every day, but you should expect yourself to see how you made those bugs and why you made them and figure out how to fix that in the future. If you are thrashing with something, do a little more research on it. Work a little harder. Anything you can do to make yourself better, to make your products better, is never a bad thing.
Here’s a thing: broken window theory. The gist is that if a building in a bad neighborhood has a broken window and it’s left alone, that building is more likely to get vandalized worse because the perception is that it doesn’t matter. You can find these buildings all over the place in DC in the area of the 9:30 Club (that’s all I can picture when I think of this theory). These people leave one broken window, and then people start tagging. And then they break more windows. And then they have bonfires and pee in it. Et cetera et cetera. But say someone boards up that window before the crap happens. It looks like someone cares. Maybe it still gets a little graffiti, or maybe people don’t mess with it because someone lives there or otherwise uses that building.
Get it?
Don’t just let bad code sit. Do the Boy Scout thing. Leave the campsite a little cleaner than when you found it. Don’t keep making the same mistakes and letting QA catch them and then do wasteful rework. Figure out a better solution for what you are doing, talk to someone else who knows it, read blogs. Do SOMETHING. Stagnation is the death of everything; do not let yourself become stagnant. Start improving today.
Maybe this sounds hard. Well, no one said it would be easy, least of all me.
Do a little introspection and take a look at the way you work. What are your problems? What is holding you back from being the platonic ideal of yourself? Why does your code keep getting kicked back from QA? If you just pick one thing at a time and lock it into your brain to do, you’ll be there in no time. Making too many changes at once is a sure way to fail. Your body and mind are sensitive and need time to adjust; if you want to quit smoking and lose 30 pounds and move to a new place, you’re gonna need to space those things out. You will fail at one of them. If you do not, you are a freak of nature and should be burned at the stake (I’m speaking to one person in particular). The rest of you, don’t feel so bad. There’s always room for improvement.
Comments (4)