Saturday, June 9, 2007

Ready, Steady, Iterate!

Scrum is a methodology. No, wait. It is a framework. Maybe it is a process. At any rate, it is Agile. What is Agile? Is that XP, Lean or RUP? Ok, stop. I do not care for semantic games of process methods unless it helps employees get work done more efficiently. That is not to say Agile or formalized process methodologies are bad. In fact, for some companies it may be salvation. This blog entry is about thoughtful consideration of existing organizations processes and steps toward a better way.

Any organization of size will have many processes, probably too many. Most processes did not spring into existence. At some point a group of people in the organization communicated a problem to each other and agreed on a way to mitigate the problem by following a set of new procedures, documented or otherwise. The existence of each process filled a need. Perhaps the need no longer exists or has changed and the process needs to be re-evaluated but the point is there was thought and effort put into avoiding a problem to improve efficiency.

Many companies get bogged down over time by these processes. This could be a fundamental organizational structure issue or it could be a simple failure to reevaluate how people do work and why. When organizations start falling behind competitors, shareholders watch large efforts fail in the market or similar issues confront the executives in a company, the door opens to the process definition game. The push for process change generally is associated with desires to get products to market faster, be more agile, improve quality and communication. All honorable intentions but a frequent end result of sweeping, immediate process change is time wasted, money burned and opportunities lost. Companies can loose key people over redefining existing process, ultimately undermining the organizations ability to function at all.

Enter the concept of iteration. A pretty simple idea and likely the basic goal most executive teams and managers are trying to achieve. Something that can be achieved without turning organizations upside down and alienating employees. Iteration is a key component of any modern development process. What is often overlooked is iteration can frequently be applied to existing organizational processes. Changing the mindset of the people who define the work is a fundamental component. Becoming iterative can meet the companies goal or be a means to a larger plan. Either way, it can be applied with significantly less up front costs and chaos.

More on changing mindsets to iteration in my next post.

What now?

Here it is. Now I have a blog too. Just what the world needed, another blog. Maybe people will read it, maybe they won't. I'm not sure I care. Regardless, it is here. My motivation for writing it is purely selfish but I have an underlying hope others might get some use out of it. I am certain any blog I write will need a theme but I have been struggling with what that should be. Should it be a daily journal? Naw, that is a little fluffy for me. Should it be tech focused? That seems more reasonable given my profession and geek tendencies. Ok, so I know some tech stuff and that is a good place to start. What kind of tech stuff should I cover? Everyone rushes to talk about the new hardware and I am ill from hearing about the new iPhone no matter how much I want one myself. Should I focus on CSS or AJAX? I doubt it, that is done to death as well. After much self debate, it seems clear that I would get more out of this endeavor if I write about tech issues I face each day. I will avoid being limited to a specific technology and not have such breadth that readers will feel like it is another blog of someones random thoughts. So here it is.

Wednesday, June 6, 2007