Monday, May 21, 2012

Project Leadership

We've all heard the term project management. But how about project leadership?
Project management is often solely that, management. It's concerned with tracking, measuring, and reporting on progress. It answers questions like "how much work has been completed", "how much work is left according to original project scope", and "how fast is work getting done". Put another way, examining the past. Hopefully these activities are performed with the goal to better predict the future.
This kind of past-oriented project management may work great when the work you did in the past is very similar to the work you will do in the future. But when is the last time you built the same software solution twice? Hopefully never. That's one of the benefits of software. Once it's built it can be reused and installed over and over.
So, in software, a past-oriented project management approach produces a team of victims. The team believes it has no control over its destiny, the release date, the project scope, or its velocity. They will meander along and will be done when they're done or will be forced to cut scope or quality when it comes to crunch time.
Sure there's value in past experiences, but only when you learn from and improve upon it. I'm not talking about things like estimates vs actuals at the agonizing detail of each individual's hours. Perhaps there are folks out there that have experienced those metrics being worth the effort to track, but I haven't. I'm talking more about the team dynamics. Did the team enjoy working on the project? Was the customer thrilled with what was delivered? Exploring those kind of subjective questions is what will improve a team's health and future project successes.
Now about the future. Stop being victims of the past. Look to the future, share a vision and a plan of the project. Ask yourself and others how the project should go. Have a plan for if (and likely when) the unexpected happens. Be proactive in providing options and recommendations. Do you add resources? How long will it take for those additional resources to ramp up? Do you carve out scope? Is there a way to work faster? Do you push the date? Don't fall into the blame game or run away from issues. Be honest. Practice project leadership.

Tuesday, April 10, 2012

It's all for humans

Ask yourself, who or what is going to use the code I'm about to write.

  1. You're building a UI:
    "A human" you answer. Certainly, that's the whole point of a UI.
  2. You're building a service or API:
    "Other applications / systems" you answer. Directly, yes. But who's using that application / system? "Yet another application" you answer. OK, but who's using that one? "A developer" you answer, or "The sales group", or "A website visitor". What do all these "users" have in common? All humans.
  3. You are fixing a bug deep inside some nasty code:
    "This stinks, I hate fixing bugs" you answer. Well hopefully you're making the code better to help out the next human (programmer) that visits that code, not to mention the human asking for the code to be fixed. 
Software is cool, but what makes it cool is its usefulness to human beings. Without being useful to humans, it is software for software's sake which is vanity.

Saturday, April 7, 2012

Post 1

Well, here it is, blog post number one. I never thought I'd have one, but I keep finding myself subjecting those I work with to tangent after tangent of barely-related thoughts that come flooding out of my brain. I also couldn't resist once I saw clayanderson.blogspot.com was available.

My name is Clay Anderson, I am a software guy who is working to become a people guy. I find software to be an incredible field. There's seldom a definitive "right" or "wrong" solution to any given problem. That is what makes software development an art more than science. However, figuring out people is an even larger problem and one that has even less "rights" and "wrongs". Every individual has different motivations and strengths. It is those differences that I find intriguing and challenging.

My goal is that the content that makes its way out of my brain and into cyberspace is useful and relevant.