3: Know My Customer

December 22, 2006 | By Joel Dehlin | 28 Comments

I know my customers, those in the field and those at headquarters.

I’m an engineer; or I was formerly one. Well at least I used to write code for a living. And that gives me insight into a secret engineering credo: we are our own customers!

You see proof of this secret all over the software you use.

Example 1: You click on a button and receive an error message like the following: Function lpzWinRandomFunction returned 0xfe02facd.

Example 2: What should be simple functions (like mail merge) in popular software programs actually require end-users to write “code” in order to get them to work properly (e.g. if/then/else statements, db queries, formatting).

Example 3: Features which have major bugs are left in the software with the excuse that: “It doesn’t happen all that often–and the user can just re-start or re-boot. No big deal…”

This kind of stuff is infuriating. It’s why software development gets such a bad reputation. Consumers don’t tolerate that kind of negligence with their toaster or with their TV. But the industry has been conditioned to tolerate it with software.

We’re trying valiantly to be different in our department. Warning: we’re not remotely perfect on what I’m going to talk about here. But this is why we have this principle listed: so that we can put it in the forefront of our department’s focus.

Good software development starts with understanding one’s customer. This can be quite a difficult endeavor. One can always question who the customer is: Is it the Product Manager requesting the solution or feature? Is it his management? Is it the end-user using the feature(s)? And what do we do when priorities conflict among those three. This is a continual struggle for us.

We’re doing a couple of things to help with this problem and to better understand our customers.

1) We’re dedicating development resources to customers (or portfolios of customers who have similar businesses). We don’t actually change the reporting relationship of those developers, moving them to those departments. Not moving them allows us to keep the ability to have a career path and to create centers of excellence in development methodologies, good coding & qa practices, etc. But we leave developers focused on a customer from one project to the next. Critical context is retained as developers continue to understand a customer deeper and deeper.

2) We’re dedicating infrastructure generalists to customers so that customers don’t have to wade through the technical silos that infrastructure specialization demands. 

3) We’re designing iteratively, relying on prototypes. This allows us to have a great idea of what the customer is looking for before we ever start coding heavily.

4) We engage users in testing. We try to take each iteration from our dev environments, through test and staging and into production each milestone. We then ask our users (or subsets of our users) to help us test the bits.

5) We test internationally. This is a hard mindset to change for us. Because the development team is in the U.S., it’s easy sometimes to think of the international areas last. We’re trying to change that and simultaneously design and ship our solutions in the U.S. and at least a couple of other countries simultaneously. We can’t always do it all of the time, but we’re doing better at doing a few simultaneously to make sure we iron out localization bugs.

6) We’re trying to focus on “listening.” It’s easy for engineers to be arrogant–to think we know better than others. But that can’t be the case. We have to listen or we can’t really understand what problems we (and our customers) are trying to solve. Some of the times we have to listen “between the lines,” so to speak, where a customer knows that something is wrong, but they aren’t quite sure what it is–or what the solution might be. This is an art we practice.

I know it sounds cliche–that we need to “know our customers,” but it’s a focus that we’ve needed in our department and one that we’re improving upon.

Sasha Pachev said...

I am surprised there are no comments here yet. Very good ideas. I’ve seen many bug reports with a message of the type “This should never happen” :-)
Speaking of bugs/features in the kitchen equipment, though. One time I was pressing a button on a microwave repeatedly trying to see what happens. It eventually responded with an error message that said “Child”.

Barry Sandall said...

Knowing ones customers and understanding their needs is the most critical part of developing sound IT products. It’s funny how often we as IT folks forget this.

A couple observations on your methods from my experience:

Method 1:

I’ve found most IT resources have a hard time operating in a matrix form of management. If you truly intend to specialize resources in different business areas, it’s imperative to put the onus of managing resource and requirement conflicts on the techniccal managers. Try to keep the developers as far from the politics and struggles inherent in a matrix form of management.

Method 2:

Great idea! Just be sure the generalists (we call them prduct managers in my organization) have a firm understanding of the technical capabilities of the IT departments. That way they can help the business units “see the light”.

Method 3:

Another great idea! The industry has shown that classical waterfall methodologies make it difficult to define and adapt to user needs. By protoyping and using an iterative development methodology, you should be able to produce quality products much faster.

Method 4:

The one caveat I have here is the need to distinguish between functional testing and user acceptance testing (UAT) in your QA and QT processes. Customers often have a hard time differentiating between bugs and potential enhancements. If not managed properly, a project can stall when a user won’t sign off on a product until new features they feel are important are added. I’ve seen the death of many products and projects due to this conflict.

Method 5:

This is always a challenge for US programmers and testers, good luck and let us know how you implement it. I’d love to hear about it seeing as we are looking at moving to a global market with our products.

Method 6:

I think we’re all guilty of not listening enough…at least my wife tells me that. ;)

Customer focus is one of the most important and challenging areas of IT. Good luck, and our prayers will be with you.

Mark J-B said...

Agreed - customer service is paramount in technology … problem is most geeks prefer the responses like “no I will not fix your computer” …

After reading a lot of the comments to your other posts, I realized that you are in an enviable customer service position. Many of the people who use your software/systems in the field are also familiar with software and systems and all of them have been conditioned by way of church doctrine to help when asked.

As part of your efforts to become the best IT organization in the world, I wonder if it would be feasible to utilize the talents and skills of people all over the world who would love to spend a sunday afternoon contributing code and/or support to church software or systems. The many comments about open source make me believe that many of your customers would be willing to contibute to an open source model to improve the church systems.

For example, I think it would be interesting to take one part or the church web site and/or one application and move development to the “customers” or open up a “community” support system where a membership clerk in England could help support someone in Oklahoma who is having problems with MLS. Or, take an application like the /music site mentioned earlier and open it for “community” support and development.

One of the biggest excuses I hear from techies who skimp on documentation and/or good customer support is that they don’t have time. I for one would be willing to help you and it sounds like many others watching this blog would give time also. Given the right circumstances, you may be able to very effectively “outsource” much of your support/documentation/customer service to people who want to volunteer time to move this work forward.

Could you imagine a few hundred geeks on blackberrys pecking out code during elders quorum rather than sleeping through the lesson? The time gained in priesthood meetings alone could add up to thousands of hours each week to help improve customer experiences :-).

doc said...

This is a great blog site, so I subscribed to this blog so I’d get it in my e-mail, which is great, only problem is, the font is so small I can’t read it even w/my glasses on. Any ideas? Also, I don’t see a link to provide general comments not related to a specific blog entry - possible?? Thanks!

Rob Watson said...

Just discovered your blog today. Very nice to see the Church adopting blogging as a way to communicate. I hope we’ll see more of this kind of thing, even down to the membership level (though, I don’t know how you’d address the incivility that often comes as part of the blogosphere).

Anyways, I wanted to ask you whether the Church has found it challenging to know its customers, especially if they are lacking access to regular and/or speedy web access. People in the U.S. often take for granted that we have the technologies that we do. How is the Church getting to know its customers and bridge that digital divide. I know there has been GREAT progress with providing satellite downlinks outside of the U.S. and Canada. But how do you reach Juan Miguel Santos in the Guatemalan highlands? A computer lab in each chapel with a satellite web connection might work. But at that point does it become too much cost for too little gain if people aren’t inclined towards using the technology in the first place.

Very interested to know your thoughts.

jrj said...

The Six Stages of Debugging

1. That can’t happen.
2. That doesn’t happen on my machine.
3. That shouldn’t happen.
4. Why does that happen?
5. Oh, I see.
6. How did that ever work?

Sister Phyl said...

As I have perused this site and read the comments, I am hopefully encouraged.

I am our Stake (and a Ward) Web site Administrator. The Church has done a great job in getting the first phase of this part of the Web site going….but, there is so much more that the members would like to see from it. Are you the proper person to address enhancement requests or should those continue to be funneled through the Tech support at: [email address deleted to avoid spam]? Whenever I have called or emailed them with a problem, I have an answer within 24hrs. They have been great! Would you consider having a forum just for them?

One of the amusing aspects of dealing with Tech support is that they expect a priesthood holder to be the one managing the Web sites. So, as a sister, it’s been easier on me to email them, than to talk with them. No offense, I have the same problem when I contact tech support for almost anything I use.

Like it’s already been mentioned, the leadership would like to know how many hits a page gets, how often do the members use the website. Basically, they would like to know the statistics.

Access to the Stake and Ward Websites could be opened up more than it currently is. The non-resident access is a good start, but only limits the member to one stake. For example, it would be very valuable if the Mission President (and some of the staff) would be able to access the Stake and Ward web sites of everyone in the mission area. They would have access to the membership/leadership lists, scheduling of buildings, be aware of Stake and Ward activities, etc.

Another enhancement that the members have requested is that the email notification for an activity being scheduled for the Stake/Ward calendar can be delayed. When setting up the calendar for the year, the members don’t want to have to all the emails filling up their email boxes at the beginning of the year and then have to remember when each event is supposed to take place. If an email is sent out too soon, you miss the new members who have just arrived.

There are so many more….but, I’ll save them until I know just where to send or share the suggestions. Thank you so much just for the opportunity to provide some feedback and the ability to see what the other members have to say.

When we send in suggestions to Tech Support, we wonder if we are the only ones thinking of this new feature or how many other suggestions they’ve received on the same topic and when it might be implemented, or not.

Bryan Cardoza said...

Your overall approach is reflective of one of your suggested books: The Inmates are Running the Assylum. For #6, let me suggest that your real intent is to listen, rather to understand. In fact listening can be problematic since the customer often doesn’t understand what the problem is. There is great danger in this distinction, because as you correctly point out we often try to impose our world-view on the customer because of our arrogance. But it is an important distinction nonetheless. Without Understanding, you’re what Delivering Profitable Value author Michael Lanning calls Customer Compelled.

There are a number of tools for developing Understanding, but one that I’ve found particularly useful is Contextual Inquiry and Design. It is documented in the book Contextual Design by Karen Hotlzblatt and Hugh Beyer–or you can ask some of the members of your staff that I know are familiar with the methodology at some level.

Keep up the great work.

Joel Dehlin said...

doc - We’ll look into it. Thank you.

Rob - The lack of internet connectivity everywhere makes creating standard, global solutions a huge challenge. Haven’t solved it yet.

jrj - :)

Sister Phyl - Thank you for the suggestion. We’re definitely looking at forums as a way to share information among some of the more technical roles.

Great feedback, all. Thank you!

Joe Lindsey said...

Much of my 35 years of consulting in the computer industry (I am now retired) dealt with trouble-shooting computer software issues in the business world. I found myself “translating” between the non-technical English of the end users and the computer-ese of the software developers. Occasionally I found it necessary to ask the developer to let me examine his/her program code to determine what he/she was attempting to do. I sensed a reluctance to show it to me. The response was something like, “There is nothing wrong with my code.” My response: “I am not here to critique the merits of how you code. I merely want to compare what you intended with what the computer is doing.” Many of my clients came to realize that we could work together to solve problems quickly.

Occasionally, a developer would ask for assistance… “It was working fine yesterday but I have this strange problem today.”

“What changes did you make between yestersday and today?”

“Absolutlely none.”

After analyzing what was happening, we would discover “a small, unrelated modifaction” that “never should have affected anything else.”

I sometimes made recommendations to developers for streamlining and/or simplifying a user-interface, cutting out excessive keystrokes for the end user, or reducing unnecessary database accesses, and so on. Some developers would pretend to listen and then reject ideas for improvement from any source as “not invented here.” That proved very frustrating for many end users.

I applaud you for your efforts and desire to:
— be a “world class” operation (whatever that definition is)
— listen to your customers needs
— integrate applications
— create an interface with the same “look and feel”
— design for an international audience
— test your code thoroughly before release to the public
— respond to trouble reports in a timely manner
— …and so on…

Some IT shops seemed to have adopted an unwritten motto: “Quality, Performance, Low-cost… Choose any two.”

My approach was to build trust and confidence, promote teamwork and communication. In short, “win-win” solutions for all parties involved.

You face some tough challenges. But I see improvements already. I look forward to seeing more results of your stated goals from the superb team you are building. Thank you for creating this blog. That is a major step in communicating progress and need.

Diane E. said...

I also just discovered this forum. Of course, being without power for 5 1/2 days last week didn’t help! :)

Like Sister Phyl, I am also the ward website administrator. My favorite feature is the membership photo gallery. Because our ward is very transient, I feel that I am populating the entire database with pictures! Two years ago, we got a new bishop — a young man who knew few people outside of the elder’s quorum. He immediately went to the website, and memorized faces and names. Two weeks later, I saw him come up to a woman who hadn’t been to church for several months and address her by name. She was very touched.

My biggest gripe as web site administrator is the calendar. I want to set choir practice, for example, as “Every Sunday except the first Sunday of the month.” There is no way to do this. I would also like the ability to edit just one instance of a repeating pattern, such as putting into parentheses the theme of a repeating youth fireside. Instead, I have to enter each fireside individually.

I appreciate your comments about knowing your audience. I am a technical writer, requirements analyst, and certified software quality engineer by trade. It is very frustrating to me to see software built without taking the needs of the users into account. Your examples of poor error messages are one of my favorite pet peeves — an error message means the programmer made a mistake; it should not mean the user made a mistake, and when it does it should be readable to the user.

Jack Hollingsworth said...

Talk about listening to your customers is well and good but acting on what you hear is essential. Take the case of Linux users; we have needed a working Ancestry file maker for at least the last 5 years and as for myself I have requested this several times. As of now there is still PAF for Windows. Are not Linux using members welcome?

Lynn N. said...

Another ward web master here. I also have suggestions from leadership and ward members for enhancements/improvements in regards to the ward/stake website and would like to know where to direct them. I would very much like to see a forum in the future for us. I would especially enjoy communicating with other LDS female techies (we are rare but our numbers are increasing!).

I would love to be able to implement CSS better when coding the news and information area and the calendar. I can get color and font changes yet would love to add some other tweaks to the information to make it more attractive and stand out more. (i.e. pictures within the body of the paragraph, background images, borders, tables).

Glad to have found this blog!

James D. Brausch said...

Thanks for the inside look at the Church’s IT department. As a member of the Church seeing the results of the department in all of the applications we use as church members, I was certain there were some very inspired leadership happening. It’s nice to see the details of that inspiration right here on your blog though.

Keep up the great work! If I were to ever accept employment again, it would probably be at the church so that I could contribute there.

Speaking of that… are there volunteer positions in the IT department? I am a 22+ year IT veteran with code in orbit and in many medical devices. I’m not interested in a J.O.B., but am always interested in volunteer positions within the church where I can be most effective.

-James D. Brausch

Rolf Tollerud said...

Joel,

I have to ask you about your first statement, “We’re dedicating development resources to customers”.

As I do not work for ICS (I have a few friends that do) I have always gotten the feeling that there are deadwood in positions like this. Chuch IT has been notorious as well as government work for having employees that have stuck with this one siloed job for years and never advancing in their career. How are you planning to address this problem? I would think that shifting technologies every couple of years makes it hard for engineers to master their skill. The two are quite different problems in my mind, mastery of skill, stagnation in duties.

Sorry for asking such a pointed question, but this blog has helped to answer a lot of questions that I have had for some time now.

Rolf-

Rob Watson said...

Jack,

I recently had success with Ubuntu Linux and installing/running PAF with Wine. You can also use Cedega.

Good luck!

Rob Watson said...

As long as we’re making requests, any idea when or if the financial and membership clerk computers in the U.S. might get Internet access? I know there are concerns about misuse, which probably answers my question. But it would be nice when working as a membership clerk to be able to do a quick search for individual addresses and phone numbers at one of many people search sites. As it stands now, I have to make a list of individuals and then go home to research their whereabouts, call them, and then return to re-key that data.

Maybe filter all sites except the people searching sites. :)

Just a thought.

Mike Hendriksen said...

Dear Joel,
I am fascinated that you are going to have an open forum to explain to members about the computer processes that go in to keep track of records and other purposes of the church. I second Joel and others with the painful realization that if I do not use Windows, PAF will not work for me. I use Linux and Mac OSX. There should be something like PAF that will work on other systems than Windows since there are many users of non Win PCs. Thank you for the open forum. We are listening!

Harris said...

I found this blog quite by accident. I can tell you that I am one of those customers who do not understand computers well, but can use the programs. In using the LDS.org website, I tend to get very frustrated, because I can’t find things that I need to find. For example, I wanted to get a copy of the Living Christ in Spanish. How to search for it? Using your website’s search, I couldn’t find it. I eventually found it in the shopping category, but it was too small to read. I ended up going out of LDS.org and using a Google search. The website needs a general search. It is hard to figure out where the meetinghouse locator is unless you know exactly where to look and this is often the case for many of my needs.

Joel Dehlin said...

Harris. Thank you for your feedback! We’re trying to improve lds.org continually. We have a new version we’re working on which significantly improves the search capabilities. You can find it at http://beta.lds.org. I don’t see an easy way to find the Living Christ in Spanish, but we’ll work on that. Thank you!

Rob. We’re looking into the possibility for this. Thank you for the feedback.

Rolf. “Dead wood” (a term often used) are people. It’s easy to objectify people who haven’t kept their skills up-to-date or who have lost their passion or energy. But they’re people just the same. Reconciling the need to be Christ-like toward people like this with the need to spend Church funds very carefully is one of the most difficult things a manager in our department deals with. We’re trying very hard to be compassionate as we deal with performance through re-training, scope change, alternate forms of motivation and in some circumstances outplacement.

James. We have some opportunities for volunteer work. But we have have more cases where people are working at the Church as a second career. We find we have much more use for people who are here full-time, as opposed to people who are here part-time. Send me more information. I’d love to look into possibilities for leveraging your skillsets!

All. We’ve received some great feedback on the stake and ward web site and on MLS! Thank you! I’ve forwarded the feedback to the appropriate people. We’re excited about what can be done with these two great tools!

Rob Watson said...

Thanks. Like James, I’m interested in working for the Church, but I am considering full time employment. I encountered a full time spot in your job database, but it lists “North America” as the location. Does that mean that the Church allows some of its web and IT managers to work out of their homes?

As I am currently living in Chicago, that would be something I’d be very interested in. I have a good broadband connection and more technology on-hand than I probably should have. Would just need to put up some french doors to keep the kiddies out of the computer room while I’m working. :) My resume is in your HR database now.

Joel Dehlin said...

Hello Rob. We don’t today allow inter-state telecommuting. Thanks for your interest and for applying online!

Pops said...

Let’s say I’m running PAF and I get stuck because I don’t understand the user interface and can’t resolve my problem. I end up spending a lot of time in Help or searching the internet for answers.

The goal of the PAF designers should be to minimize that type of negative experience. But do they have any way of knowing that it even happened? Is there a mechanism whereby a user can easily flag an issue and have it get back to the designers? And is that mechanism ridiculously obvious to the user? Or might there be some way to automate the collection of that type of information? (Do the designers use focus groups to test their user interfaces?)

Having said that, I’m really pleased with what appears to be the new focus on interaction design. There are a lot of people using some of the Church software who aren’t very computer literate, so user interfaces need to be the best they can possibly be.

Joel Dehlin said...

Hello again Pops. We do use focus groups for applications, and are starting to do it more and more. They have to be used carefully or design becomes “design by committee” and good usability is mistaken for good discoverability. We are working on tools for allowing feedback from within the application for all of our applications.

Carl W. Filiaga said...

Because of the slow connection speeds streaming video doesn’t work very well here in American Samoa. Would it be possible to archive General Conference sessions and firesides as downloadable Windows Media files like the Feb 2006 Worldwide Leadership Training. That way I can download and watch with out constant buffering.

Joel Dehlin said...

I’ll pass your feedback on, Carl.

Mike said...

Since I’m here, I’ll add this thought -

If found scriptures.byu.edu a phenominal tool in doing gospel research and seeing what the modern church leaders have said about a specific scripture and how they have used and interpreted it. unfortunatley it is a well kept secret. Could you/someone in your team help to publicize it, make it more readily available?

Mike

PS are there other similar well kep secret resources available?

Doug Von Feldt said...

I spend a lot of my time making sure that our project managers understand who their customers are. This is a very hard concept for many technical (and non technical) people to understand. During my Six Sigma Black Belt training, the instructor that I had was fanatical about making sure you understood who ALL the customers were. I have always remembered this and always try to teach this to others. I have also found this is a good concept to apply to all aspects of life including Church callings.

Required.
Required but not published.
Optional
 

About Joel

Joel Dehlin is the father of seven delightful children and the husband of one patient, wonderful woman. His primary love is being with his kids, but he doubles as the Chief Information Officer for the Church of Jesus Christ of Latter-day Saints. More about Joel...


Follow Joel on Twitter


Blogroll