Musings of a Software Development Manager

M. Kenneth Clark

Wednesday, April 21, 2004

User Groups (and User Group Conferences) 

Each year, around this time, my company sponsors a User Group Conference in different parts of the country (this year, it’s in New Orleans). It is open to representatives from all of our customers, and we routinely get attendees from about 35% of our customers, including all of our top-10. Almost all of those in attendance are mid-level management or higher. My company also sends between 15 and 20 people, also ranging from the mid-level management level or higher.

The whole shebang serves a few purposes, namely 1) gets us in front of our customers; 2) gets our customers in front of each other; 3) allows our customers to gang up on us. I’ll now explain why all three of these work out well.

1) Gets us in front of our customers.
All three days of the conference are spent with my company showing our customers both our latest and greatest software, and expanded features of our existing software. Demonstrations are done and then the floor is open to discussion. There are four sessions per day, two in the morning and two in the afternoon. Keeping in mind that the audience is made up of the executives, and not the individual workers, we’re able to focus on the bells and whistles, while still being able to convey the meat of what the product accomplishes. The biggest benefit to this piece is that by and large, the customers see what they could be doing, if they upgraded. They also leave knowing that we’re busy little beavers, putting their software maintenance fees to good use.

2) Gets our customers in front of each other.
During the open-floor part of the aforementioned sessions, our customers not only shoot questions at us, but they end up helping each other by relaying how they use a particular product. Customer X wants to do something special with their member services department; Customer Y uses this product THIS way to accomplish the same thing. The biggest benefit to this kind of discussion is that now two customers are talking to each other to solve a problem, instead of the customer calling our support line, taking up our resources to solve the problem. We’ don’t worry about the lost revenue for our assistance since we’ve always got plenty of work.

3) Allows our customers to gang up on us.
The “Users Only Roundtable,” is on the last day of the conference. All of the customers, and NONE of my company’s employees attend this session. Part of this meeting is used to elect new officers for the UG, but the bulk of it is used as a gripe session. At least that’s what we assume, since we’re never in the room. The last thing that happens in the conference is that my company’s employees are called back into the room and presented a list of complaints that the group as a whole has, that they’d like addressed. One of the issues two years ago had to do with license fee increases. My company has historically increased our fees every two years. Our customers asked that we increase them each year, by half as much, so that it would make their budgeting job easier. Of course, some of the issues are not so easy to deal with, but they are always constructive.

Of course, all of this only works because of the quality of people that work for my company, and the quality of our customers. Everybody is trying to get the job done, so we’re all (us and the customer) always pulling in the same direction. There are always times when things get tense, but hey – that’s why we get paid the big bucks.

posted by Ken  # 7:27 AM (0) comments

Tuesday, April 13, 2004

Make it work before you leave 

My new(est) mantra is “make it work before you leave.”

Programmer, Developer, Software Engineer, or whatever other name du jour I’m called, at the end of the day, I get paid to make a computer do what I tell it to do. Let’s focus on the “at the end of the day” piece of that statement for a minute. Also, set aside the fact that I’m a salaried employee, and would get paid the same even if I didn’t get a computer to do what I told it to do. For the longest time, as a programmer, my days would go something like this:

Loop until project “BigHuge” complete {
Turn on lights
Turn on workstation
Design and/or Code
Go home

For many years, I was very happy running this little life algorithm, collecting my paycheck, and going home to my family. At least I thought I was happy. Somewhere in the deep recesses of my soul there was something missing – especially on large projects, you know the kind that can span months. I realized, after a while, that the thrill of actually getting something done was missing. There is typically fanfare and a party at the end of a project, but us programmers have to have many highs throughout the project to keep us motivated. Without motivation, you get mediocrity. With mediocrity comes a poorer product, which leads to sagging sales, etceteras, and etceteras. I had to figure out a way to work on large projects and to keep myself out of the doldrums. To combat this battle fatigue I simply said to myself each and every day, “make something work before you leave for the day.”
Every day, before I leave work, I make sure I made at least one thing work. One thing that is getting me down the road to success for the whole project. One thing gets done at a time. One thing is done right, and then I move on. In affect, what I’ve done is made myself a better project manager. At the beginning of each project, I spend a couple of days writing the signatures for each of the classes and methods that I’ll be creating. Then, day by day, I work down the list. On some days, I have small victories, like being able to wrap the text in a label. On others, I have bigger victories, like passing XMLs back and forth with Chicago. I still get the big payoff at the end of the project when everything comes together, but I also get to celebrate my small successes along the way, and that’s the Big Picture Point to the story. After all, it’s the little things that keep us going.

posted by Ken  # 10:00 PM (0) comments


03/01/2004 - 04/01/2004   04/01/2004 - 05/01/2004   07/01/2004 - 08/01/2004  

This page is powered by Blogger. Isn't yours?