Mike’s Dump

August 7, 2008

Agile Manifesto

Filed under: Work — mikesdump @ 9:02 pm

Manifesto for Agile Software Development

Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan

That is, while there is value in the items on the right, we value the items on the left more.

I found myself reading the agile manifesto today. I’ve read it before but today I felt the urge to read it again. Under normal circumstances I value the items on the left more than the right. But there have been times in my career where I have worked closer to the right trying to avoid being put in an unwinnable scenario. The sad reality is when this approach is taken you might be able to cover yourself/team but in the end is the customer really happy? In my experience the answer is generally no.

I love the first line in the manifesto. “Individuals and interactions over process and tools”. To me there is an underlying requirement not mentioned which is trust. I believe trust is the single most important ingredient in an agile team. I’ve always realized it was there but it has become clearer recently.

I’m not sure if it is the heat that does it to me or what (currently 32c in our house) but I just realized I blogged about trust last year around this time

August 6, 2008

Hey You!

Filed under: Home — mikesdump @ 9:19 pm

Hey, you!

Ya, you.

Did you pull the batteries out of your toys as a kid and eat them? Maybe throw them at a sibling? Or maybe you shoved them so far up your… never mind. It drives me nuts that every time I have to change the batteries on one of my kid’s toys I’m forced to find a screwdriver.

December 22, 2007

With blood dripping down my face…

Filed under: Home — mikesdump @ 1:23 pm

There I was, rocking “Barracuda” by Heart for an enormous crowd. As I play my last note who busts onto my stage; the one and only Tom Morello. He thought he had what it took to take me down. He thought wrong!

Fearing nothing I let him start to show what he has. I came back at him playing note for note and then some. When he saw the crowd turning in my favor he realized he couldn’t take down a Guitar Hero of my caliber so he opted for the physical attack instead. In a roundhouse fashion Tom swung his guitar over his head and he hit me right between the eyes. With blood dripping down my face I continued to play until Tom was booed off the staging.
Put simply, I ROCKED!

My wife, whose memory has never been that great, remembers the events differently. She claims that I was merely playing a game and I wasn’t up on a stage. There was no crowd and I barely broke 80% accuracy on the hard version of “Barracuda” by Heart.

When completing the song I went into the Battle Mode with Tom Morello. After several failed attempts I tried again to beat him. Feeling this was the time I would succeed I raised my guitar hard and fast to activate my last “Battle Power”. Focusing more on the TV than where I was swinging the guitar I hit myself right between the eyes (yes, actually drawing blood). The good news is I did beat Tom Morello on Hard.

There you have it. Two versions of what happen. One demonstrating the Rock God that I am and the other making me sound a little completely insane. I’m sure being the intelligent reader you are you’ll have no problem determining what really happened.

September 8, 2007

A Steaming Pile of Crap

Filed under: Home — mikesdump @ 9:02 pm

Some people have the ability to look at a steaming pile of crap and find opportunity.  I occasionally watch shows on TV like “Flip this House” and I’m amazed that people are able to turn a rat infested, run down, steaming pile of crap of a house into a place most people would be willing to pay good money for.  These people see the opportunity and are able to capitalize on it.

Lately I feel like I’ve been sitting in a steaming pile of crap. Load after stinky load is being dropped and I’m having trouble thinking anything except how much the situation stinks.  Part of me wants to run away screaming at the top of my lungs, “run for your lives the crap is coming”! The other part of me knows there is opportunity in this situation if I can only see past the crap.

When I get stuck in these mental states I try to step back and think about my former life as a mutual fund salesman.  Back then there were several times where I felt like I was neck deep in crap and thought I should just quit. Normally I would listen to some Tom Hopkins (http://www.tomhopkins.com/) and it would help get me back in the right frame of mind.

Being in the right frame of mind I believe is the key. In the right frame of mind “problems” become “challenges”. Problems are things we want to avoid but overcoming challenges allows us to grow personally and/or professionally.  I guess it is time to change my frame of mind or at least plug my nose.

A New Home

Filed under: Home — mikesdump @ 5:16 pm

I have had enough of Community Server and Webhost4Life. My site went down twice today and my renewal is coming up so I’ve decided to dump Webhost4life and try out Word Press.

I have imported all my old content but the links are all broken and the images aren’t there. Hopefully I’ll have some time in the near future to be able to fix that.

July 31, 2007

Passion for Quality

Filed under: Work — mikesdump @ 3:11 pm

I get pissed off sometimes. Actually if you read my blog I get pissed off maybe more than I should. One thing that really gets me fired up is quality or to be more accurate a lack of quality.

I know very little about house painting. I do know when the job is done I don’t want it to be streaky, I don’t want my baseboards dripped on, and I don’t want my ceiling marked up. A professional that takes pride in their work wouldn’t need to be told this. A professional would realize that their reputation of producing quality work is worth far more than their current job.

I believe this applies to pretty much any profession. Professions that are regulated or have their work inspected afterwards are not exempt. If anything these professions have to maintain a minimum standard otherwise it is unlikely they will survive.

Now, look at the software industry. There is no regulatory body, nobody is going to revoke your “development license” and far too often the quick response is “why didn’t QA find it”? When I’m talking about software industry I’m not talking specifically about the quality of the code. I think there is a million and one posts related to improving code quality. In this case I’m only referring to what the customer sees because I have seen time-and-time again that documented requirements don’t work.

Ya, ya, ya, I know, “but developers make lousy testers because they test it the way they know it was implemented.” I’m sure we have all heard that one before and I’ll accept that to a certain point but again, consider any other profession.

Let’s consider a mechanic. Let’s say you took your car in to have the battery replaced because the car wouldn’t start. After the battery was changed wouldn’t you expect the mechanic to at least start the car before giving it back to you? If they didn’t do this very basic test to ensure your issue was resolved wouldn’t you start to question if you brought your vehicle to a professional? If you are the mechanic and said, “well I don’t know. I used that battery in another car and it worked fine”… not helping your cause.

Some might dress up otherwise but I still believe that developers are human. Everyone makes mistakes (I make a crap load!) and mistakes are a great learning opportunity. I believe the professional with a passion for quality will continue to learn from their mistakes, grow and earn a reputation for producing quality.

July 26, 2007

Change

Filed under: Work — mikesdump @ 12:52 pm

Developers are a funny bunch. We normally applaud consistency but our world is anything but consistent. It seems everyday there is a new tool, library, or pattern hot off the presses that we have to try to incorporate into our toolbox. For some, this level of change keeps software development fun and exciting.

In most cases people don’t embrace change this easily. I have been thinking about a few changes over the years that have been more challenging than others. After reading this I believe I see why some attempts at change haven’t been as successful as anticipated. In some cases I believe what has lacked is “Being Vigilant” and “Acknowledging Success”.

I don’t think you need to beat people regularly to “Be Vigilant” but it is so easy for people to revert back to old habits. Speaking for myself I know at times I have fallen backwards. Some of the excuses I have told myself:

  1. I don’t have time
  2. It doesn’t apply it this case
  3. It won’t generate value
  4. I didn’t really buy in
  5. It’s too much work
  6. I forgot

Looking at my own excuse list it is pretty easy to see I’m not ready for “self-governance”.

Looking carefully at what “Being Vigilant” says I think sometimes we neglected to set a goal other than “to be better”. It is harder to acknowledge success when the success criterion is fuzzy. Maybe having clear goals could have made a difference or at very least made the journey easier.

July 24, 2007

Trust

Filed under: Work — mikesdump @ 12:02 pm

I read this post over at Slacker Manager the other day that really made me think. To get the context of this post you’ll have to go give it a read. It is ok, I’ll wait.

The culture of Blind Obedience

To get to the point, this culture really pisses me off. I hate most processes but having one rammed down my throat or being told to “just do it” really rubs me the wrong way. I think there will always be those people out there that take this approach but I won’t work for one.

The culture of Informed Acquiescence

I think I can say the majority of the jobs I have had in the software industry have fallen into this category. A number of times I have run into challenges working with other teams, not because they are being difficult but because they are working towards their own goals that may not align with mine. The problem here is not with one of the teams but both. An organization should be moving the same direction guided by a shared vision and objectives.

The culture of Self-governance

Ahhh self-governance, the perfect culture right? In theory I love it and that is where I want to be. I want to be in a position where I have the tools and authority so I can exceed expectations. This requires knowledge to be shared freely so informed decisions can be made by all which are guided by organizations goals.

But, and it is a big but. Would it work? Like most things in the workplace it boils down to the people you work with. Think about the people you work with now, would you want to give everyone the power that could make or break the project or the company?
I’m not discounting the newbie. I think everyone needs the chance to learn through their own experiences. I would have more trust in an eager newbie than someone that has a few years of experience but is completely task driven (i.e. needs to be told what task should be done after task A, B, and C).

Maybe I’m just not a very trusting person. Maybe it is just because I haven’t been a part of a self-governed culture. Maybe it has been just too damn hot and I’m grumpy but I’m not buying in that a pure self-governance culture would work in most cases.

What I believe the author of this post saying is the driving factor in these cultures is trust. Trust however, isn’t just being trustworthy; trust also includes trust of competency. You might have the most open an honest doctor but if your doctor tells you they feel faint every time they perform a surgery would you still trust them with your life? When there is a lack of trust you get more process.

Additional Process does not equal Addition Trust

Additional Process equals a poor substitute for trust.

July 20, 2007

Parenting 102

Filed under: Kids — mikesdump @ 4:18 pm

The other day my parenting skills were put to the test. Isabelle and Erika were fighting (surprise, surprise) and after several minutes of unsuccessfully trying to block them out I thought maybe I should do something. Usually I wait until there is crying or silence. If there is crying it usually means one of them got their way. If there is silence then one of them could be suffocating the other.

As I got closer to hear what they were arguing about I heard something like this:

Erika: It’s my TV
Isabelle: No, It’s my TV
Erika: NO, IT’S MY TV
Isabelle: NOOOOO, IT’S MY TV

I’m sure you get the idea. Using my King Solomon like wisdom I yell down:

NO, IT’S MY TV!

If that didn’t work then I would just split the TV in half. Easy!
Can you believe some people think it is hard to be a parent� sheesh!

June 25, 2007

RE: Is there an issue with this or am I not getting enough oxygen?

Filed under: Code — mikesdump @ 2:01 pm

In my previous post I showed an example of what not to do when writing comments. To my amazement this non-rant generated almost as many comments as this post.

After reading the comments and giving it some more thought I wanted to post a follow-up. I don’t believe these type comments are unique to a tool like VBCommenter, one development shop or one programming language. I believe this is a very common issue when documenting source code.

I had another post a couple years ago about documentation and my views haven’t really changed. I still believe the most important piece of documentation for a project is the requirements.

If you insist in commenting the code (which I’m not arguing against) I suggest the following rules:

Document WHY not WHAT
Even really crappy code can be debugged. Call me sick but I kind of like debugging crappy code from time-to-time because it is extra satisfying when I fix it. When you are cursing the previous developer’s name are you screaming at them, “WHAT are you doing”? or “WHY did you do that”? I find it a lot easier to figure out the what but the why can be a little trickier.

Remember you who are writing for

The primary person the in code documentation is for is the developer(s) that inherit your code not for you. I believe a class header outlining the purpose of the class is far more valuable than commenting every method. If you had to explain the application to a developer that was going to take over for you what would you tell them? Would you say, “here is the page_load event, it will load the page”? Probably not, you are hopefully going to tell them some of the challenges you ran into and why the application is the way it is.

Never Copy and Paste Comment Block headers

Please, if you must copy comment headers remember to update them. I don’t know how many times over the years I have read the comments of method A right above method B because the developer copied the comments and didn’t update them.

Read them and keep them current

If you are maintaining some code and the person before you took the time to write good comments make sure they are still current after your change. If you aren’t going to bother updating them it is better to delete them than leave comments that don’t match the code.

Commenting code can add value to a project but it is a team effort. I don’t believe there is any magic to writing good comments but it does take time and you do have to put some thought into it. If you hate writing comments that much you could always try this.

Next Page »

The Rubric Theme. Blog at WordPress.com.

Follow

Get every new post delivered to your Inbox.