The calm before the storm, and using your teeth

22 Jan

Oh my poor blog. It is so neglected. Wow, I just realized this is my first post of 2009! My original intent with this blog was to post all kinds of stuff about my journey through the world of IT. Well, the latest fork in my path has just presented itself. We at PCG are about to embark upon an incredible adventure. We are about to purchase an ERP system. At this point in the effort, there’s lots of busy work and planning we have to do. Obviously, there is the vendor selection but I also have to try to determine our readiness as a development organization. This is actually kind of fun because I get to evaluate the technical capabilities of each vendor, which means learning some new technology. It’s like the calm before the storm, since the real work will be in the implementation effort: the modeling (and probable discovery) of our business processes, technology training, data conversion, configuring dev/test/training environments…the list goes on and on. Which leads me to wonder if there are any agile ERP implementers out there? As we go through our implementation, I’ll try to keep a log here of the salient events that take place.

So in my time away from work I have been focusing on something completely unrelated to the world of IT: playing guitar. This has become my passion (besides my family, of course), and has been a new found way to relieve stress. I’m really trying to get my technique together, at the same time starting to learn some songs I want to play. I’ve been scouring the Internet for anything by Paul Gilbert, since he has awesome technique and I love his playing!

On a completely unrelated note, have you ever noticed how some people use their teeth to accomplish certain things? I use my teeth to open things like plastic bags when my fingers are too big to pull the tiny seams apart. In fact, I just opened a bag of carrots like this. For me, I suppose it’s mostly out of laziness, since I would probably use scissors if they were available. But, nobody was around, so I just ripped it open with my teeth. Maybe coding is like that. Maybe people who are lazy or don’t want to take the time to find the “right” way to do something just hack it, and “use their teeth” on it. I think I’ll tell my developers that sometime if they are stuck on a technical problem, and see what they say. “How do you do that in Javascript?” “I don’t know, use your teeth on it.” On the other hand, I use my teeth sometimes too, like today to open the plastic bag of carrots I had for lunch. It worked, didn’t it? It wasn’t the most elegant solution, but it was functional. So, I guess it’s OK, as long as nobody sees it! 🙂

Advertisements

Reaction Time: An Agile Management Metric

14 Nov

I was recently on a nature hike on the side of Superstition Mountain in Scottsdale, AZ. The hike started out as a gradual ascension up the rocky grade and culminated with a stop near the base of one of the more sheer faces of the mountain. As we reached the trail summit (I really wanted to use the word ‘apex’ right there…I knew a guy in high school who wore Apex football shoes and I think of those shoes every time I hear that word…anyway…), we enjoyed a very beautiful scene as we looked down at the surrounding desert and countryside.

Then came the fun part: the descent. I was sucking some serious wind as we went up the trail, so having gravity help us down the trail was a small, yet welcomed reward for our hard work of getting to the top. So, because I didn’t have to work as hard to come down the mountain, my mind started to wonder. As we came down, you had to really bend your knees and watch where you were stepping in order to keep your balance and avoid big holes and rocks on the trail. The act of doing this quickly sort of made me feel like I was a contestant in some sort of obstacle course. Or, in a video game of some kind where you have to react very quickly in order to avoid harm. Two examples of games like this immediately popped into my head: Kaboom! on the Atari 2600 and Mike Tyson’s Punch Out! for the NES.

kaboom nes_tysons_punch-out_tyson
Kaboom!
(I would still have this game, but as a kid I loaned it to my neighbor and his dumb dad stepped on it and broke it. What a mook…)
Mike Tyson’s Punch Out!
(Seriously, I have beat Tyson before. 007-373-5963 proves it, sucka…)

 

Remember these games? They both require a quick eye and fast reaction time in order to win (or get a really high score). The more I thought about these two games the more I realized the same was essential for a good manager. This made me wonder how what I was doing might apply to software development somehow. Then it hit me: removing impediments.

As their manager, my teams present the impediments they face but can’t resolve on their own to me. Some examples might include team resource allocations, change processes (or lack of), or perhaps poor project participation from business users/beta testers. I try to resolve most of these issues as quickly as I can. However, at times some of them go on the lower half of my priority list. Obviously, those items that are critical to the team and perhaps the department should be dealt with as quickly and efficiently as possible.

Measuring the amount of time it takes a person to remove these impediments could be very telling of their effectiveness as a so-called impediment remover. In many cases, this could also indicate the organization’s tolerance for change and agility. I’m not sure if this particular metric has already been discussed within the agile world, so the only name I could come up with is Reaction Time: the amount of time it takes for impediments outside of a software development team’s control to be removed.

In his book “Agile Portfolio Management”, Jochen Krebs describes how to measure team morale as a metric for project performance. He suggests polling team members on morale, and then plotting their average morale vote on a line graph he calls a “Morale Barometer”. I would suggest that in addition to tracking team morale, charting either the ScrumMaster’s or the eventual “impediment remover’s” Reaction Time to removing impediments would provide a team a better idea of their overall agility. Just an idea…

Good product owners talk, b.s. walks

19 Aug

James sent me this link to a rant called “Business Requirements Are Bullshit”. This is the best blog post I have read in a while, and he makes some very good points about product owner selection.

One thing I took from the article is that you’ve got to have a product owner that knows what features they can get immediate value from. And if they don’t know, they should be able to tell you exactly who does know or who to ask. The more requirements “gathering” you have do on the onset of the project, the more it shows how little the collective project team knows about what features the users need to get value out of the system TODAY. Get the right people with the right knowledge on the team, put them in a room, and ask them what they need to make their lives easier.

The Squeaky Wheel

19 Aug

For a while now, I’ve been bothering the facilitator of the Kansas City IT Leadership Forum about leading a discussion on agile software development using Scrum. He must have been fed up with me asking, as I’m now on the schedule to talk about agile at the September meeting. The feedback I got was that the group might be more interested in agile from a conceptual level, rather than deep-diving into the specifics of Scrum. I suppose I’ll have to tailor my presentation a bit to make sure the content is appropriate for viewers of all ages. The other point he made was that this really isn’t a presentation as much as a discussion I will be leading. This might be challenging depending on the group’s collective knowledge of agile, so I’ll try to not dominate the conversation with ramblings of manifestos, principles, and practices.

I’ve also been grumbling about the AgileKC user group. So, at the last meeting I brought up some ideas for discussion topics, like “how does your company prioritize IT projects?”, and “who initiates IT projects, and what is the process they have to go through?”  Well, I managed to get myself on the hook to present our IT governance and PMO approaches at the September meeting. I’m actually looking forward to both the KCITLF meeting, and the AgileKC discussion. Both groups are well endowed with people much smarter than I am, so there should be some intelligent discussion and exchange of good ideas, most of which I will totally steal and pass off as my own.

The Kansas City Agile Discussion Group Lives!

16 Jul

Turns out we are having a meeting in July! I’m actually excited about this meeting. I plan on asking a lot more questions of the group, and hearing from Martin Olson on how to make good teams great. Plus, I’m kinda jonesin’ for some Pizza Shoppe pizza. I’m very interested in where the group goes from here, and I know James is too. See everyone there!

Musical performances are agile experiences

16 Jul

I’ve been wanting to post about my ideas on the similarity between performing music and agile software development for a while now. Some recent googling yielded this pdf that compares a “heavyweight” software life cycle approach to a lightweight-agile approach in terms of a symphonic orchestra and a jazz group, respectfully. I’ve seen some other stuff out there, like this post. So, people are/have been thinking about it, and I want to do a little more research on it before I post anything else. Stay tuned…

Kansas City Agile Discussion Group

10 Jun

I have been attending meetings of the AgileKC discussion group for a while, and I really enjoy it. We recently started meeting at the Pizza Shoppe, which is cool because I love pizza. We used to meet at KC Masterpiece, which was also cool because I love BBQ, but you always left smelling like a BBQ pit. We haven’t had a meeting in a while and I get the sense that the group is either out of ideas to talk about, or needs more organization and/or motivation. It seems like the same handful of people lead and participate in the discussions each time. Maybe spending 15-20 minutes at the next meeting to do a quick retrospective of past meetings and discuss potential meeting topics could yield a rough agenda for the next several meetings. I’ll have to call James and see what he thinks. Here are some topics I would love to hear more about from the group:

  • agile integration testing tools/techniques
  • agile project portfolio managment (I’ve heard people refer to AgilePMO, which would be interesting)
  • measuring business value/ROI of agile projects (my friend Tamara talks about AgileEVM, I would like to know if others have applied this)

 

That’s all I can think of right now. I’m looking forward to the next meeting, assuming we have one!