Thursday, May 31, 2007

Give the people what they want!

Have you ever been part of a project team where you hit your schedule, worked within your budget, delivered a robust working product that the client did not want or use? Frustrating, isn’t it? I asked this question recently in a large group of experienced engineers and was amazed by the response. Apparently, a lot of us have had this experience.

We often define project success as on time and within budget. That misses a big factor. We may be building products right, but are we building the right products? Frankly, the latter is much more important.

That’s why User requirements are critical. Whether you’re using an Agile process or an iterative one (does anyone really do waterfall development anymore?) knowing what the "market" wants and needs is critical to success. After all, quality is in the eye of the beholder.

Tuesday, May 29, 2007

Planning and Flexibility

Some people think planning and flexibility are two sides of a coin. I disagree. I think in many respects planning can enhance our flexibility. I’ve always experienced this in Software Development. If you have a plan, you can easily understand the implications of changing it, making it more likely that you’ll make smart decisions when it comes time to be flexible.

I recently experienced it in my personal life. We go to the Indy 500 every year with a large group of friends. We have been doing this for 14 years, so we have the routine down. This year we had quite a few curve balls thrown at us, and because we had done this so many times before, and planned well, there were no issues. This year we were unable to tailgate in our usual spot, it rained (which is actually not that unusual) and there was a three-hour delay in the middle of the race. We had no problem adjusting our day. I realize this is not as big of a deal as a large multi-million dollar project, but the same principals apply. Because we had a plan to start with, it was easy to adjust. We never had to start from scratch.

In my mind, planning and flexibility are completely complementary.

Wednesday, May 23, 2007

Connecticut Software Process Improvement Network (CT-SPIN)

I have been so impressed by the credentials of the speakers at the Boston SPIN that I wanted to see if there were any similar organizations in Connecticut. I did find one, but it was not active. I was interested in joining a group of like-minded professionals, so I contacted the coordinator, and after many email exchanges and planning lunches, we have finally launched the CT-SPIN!

We had our inaugural meeting last week, and already have a venue and speakers lined up for two fall meetings in September and November. The speakers sound great, but I personally am even more interested in meeting others that do what I do, learning from them, and potentially teaming up on future projects.

If you are in the area, and interested in Software Process Improvement, join us at one of the upcoming meetings.

Monday, May 21, 2007

The “evils” of Multi-tasking

The overhead associated with task switching has been well documented. It takes a minimum 15-20 minutes to get back into the flow of whatever you were doing before the phone rang or you checked your email, or answered that IM.

So why do we do it? I find myself so easily distracted and at the same time, easily annoyed by the distractions (most of them anyway). I’ve been aware of this problem for quite a while and even publicly acknowledged it here some months back.

I think my years in corporate America ruined me. I have to admit I've spent many, many meetings answering emails on my Treo under the table, doing work on the computer while on conference calls, and conducting multiple simultaneous conversations.

Some of my work now requires more concentration for longer periods of time, and I struggle with this. I’ve added some new techniques to my repertoire. I’ve turned off all of my email notifications – even the little envelope in the systray. I’ve also gotten better at letting my phones go to voice mail. The biggest thing I’ve done is to mentally time limit myself. I tell myself that I am going to spend 20 minutes dedicated to a specific task (like writing this blog). I can do almost anything for 20 minutes, and then see what kinds of interesting emails and voice mails I might have gotten once I'm done.

Breaking up is hard to do

Have you ever “broken up” with a customer? Early in my career, I would have thought that was a stupid thing to do. I mean, you need all the customers you can get – right? Wrong! You need the right customers - customers that you can help, and help profitably.

We had a customer recently that, for a bunch of reasons, we were not able to help. We tried, and tried, and apparently were more responsive than any of their other vendors, because when we finally told them that we didn’t think we could help them, they did not want to accept that. It took about five or six emails and phone calls to “end” it. I still think it was a good move. We both could have kept trying to make it work, but we had other opportunities to focus on, and in the long run, they were not going to be happy with the results (or lack of results). I am actually quite proud of our team for recognizing the situation and making the hard decision.

Thursday, May 17, 2007

Don’t believe everything you read

Do you believe everything you read? No, of course not. There’s so much “information” out there from both reliable and dubious sources. I can’t believe that anyone would believe everything they read on the internet, but I do know people that give credence to everything they read in business books.

This is so dangerous. First of all, just because someone has published one (or many) business books does not mean they know it all. Second, and perhaps, more importantly, we need to think about how these concepts might or might not apply to our particular situation or company. Maybe we’re just moving so fast that we’re skipping the all important critical thinking phase, but I think that’s a path to an ugly train wreck.

Wednesday, May 16, 2007

Presenting yourself

We’ve been considering what kinds of Professional Development opportunities to offer for our employees and one thing that came up was presentation skills. Initially my reaction was, “Most of our team would not use this,” but after further thought, I realized that everyone uses this skill.

It may not be in a formal presentation with a power point, podium, and audience, but the ability to speak clearly and concisely with poise can benefit anyone, no matter what their job or role. Our consultants are in our client companies ever day representing us, and we want them to have all the skills they can do represent us well.

I was recently discussing MBA programs with a friend, and thinking back on mine, I realized that the single most valuable element of my excellent program was the fact that we presented at least once in every single course.

I had the opportunity to present recently at the Trenton Computer Festival, and while there were certainly things I would improve, it was reasonably good. I attribute this in great part to all the practice I got in my MBA classes. Without that, I think I would have been nervous and not nearly as effective. So, bottom line is I think we will put Presentation skills on our Professional Development docket.

Tuesday, May 15, 2007

Taking your team down with you

Have you ever worked with a perpetually negative person? What about one of those annoying, perpetually happy positive people? Ever wondered how they affect others?

I don’t anymore. I had a fascinating experience, and fortunately, it was very early in my management career.

I was leading a team developing the next big product for my company - new technologies, new market, and an impossible deadline. Never mind how we got there, that’s a story for another day. Anyway, we were all working crazy hours and quickly realizing we would never even come close to our deadline. I was getting a TON of pressure from above to work harder, work faster, just get it done! This was taking it’s toll on me and it must have showed because one late night, one of the guys on my team convinced me to go out and have a few drinks. He would not take no for an answer. He said we both needed it. Well, we had more than a few drinks and talked and talked about the project.

Except for the deadline, it was a dream project - strategic for the company, latest and greatest technologies, and an international market. What more could you ask for? He was thrilled to have the opportunity to really blaze trails, both from a technological and from a market perspective. Our other big topic of conversation was how much fun it used to be to work at this company. I don’t know who actually came up with the idea, but we decided we were just going to start having fun at work again. Just enjoy it!

So we did. The next morning, we both showed up at work excited and happy, probably a little hung over, but mostly our old selves. What happened next was amazing! I’m sure some of my team thought we were nuts, but by lunchtime the vibe in our workspace had changed considerably. Some of the team had started smiling and joking again. They were a little more chipper, even though nothing had changed, nothing, that is, except our attitudes. By the end of the day – one day – the new attitude had spread to the entire team. One day!

I had not realized before this how profoundly a leader’s attitude affects her team, both positively and negatively. Profoundly! I was amazed. Still am and this story is years old.

Monday, May 14, 2007

Software Development Fashionistas

It seems like there are new programming languages being created almost daily. So much so, that languages like Ruby and Python are seeming passé these days. Have you heard of Groovy, Boo, Comega, or D? Well, neither had I.

So how do we know which ones will catch on? Does it matter? Maybe I’m too conservative, but as a software development manager expected to deliver products you’d have to give me a bunch of really, really, really compelling business reasons to get out on that bleeding edge.

Without the wealth of talent, knowledge and support that abound for the “standard languages” you’re really blazing new trails, which inherently adds risk, and because the languages are so new, it’s going to be hard to find experts to help you mitigate that risk.

So does it pay to be a software development fashionista? I say no – not if your business is depending on the product you are delivering.  What do you think?

Sunday, May 13, 2007

What are we doing right?

I recently came across this interesting post on one of my new favorite sites. The author outlines a game where a group brainstorms things they are doing right.

This is something I’ve done in project retrospectives, and is a great technique. It add some “positive-ness” to the discussion, and it’s really important from a practical change-management point of view. If there are thing you are doing right keep doing them, or better yet, do them more!

It seems simple, but too often processes are changed without this important step and while some things are fixed, others are broken and a great opportunity to leverage the organization’s strengths is missed.

Friday, May 11, 2007

Hiring “Kids”

It’s that time of year – the end of the school year. I’ve always liked to hire interns and new grads. And now, they have real marketable technical skills. The best of them have done multiple projects for others as well as themselves, and know a half a dozen different languages.

Finding the next shining star has always been particularly fun for me, but even more importantly, it’s proven to be very successful for the teams. The brightest entry-level hires I’ve known have moved very quickly out of the “entry-level” category to take on medium to larger sized projects with minimal supervision. The key is active, but light management. Give them a thoughtful progression of tasks and just enough guidance to keep them moving forward in the right direction and watch them take off! It’s a ball to watch!