Project Management

The IT consultant as educator and student

Chip Camden says he's spending more time these days educating his clients. He encourages IT consultants to be teachers as well as students.

I recently helped a client develop a piece of bridge software to allow a mobile client to access some legacy logic over the Web. This involved several layers of code beyond what the client was accustomed to working with, and most of it had to be written in a language that was also unfamiliar to him.

I started by creating a simple example and documenting each step of how to put it together. Then I helped him apply that example to the specific problem that he was trying to solve. It all worked beautifully, and I gave him detailed notes on the whats and the whys.

A few weeks later, he called me to say he wanted to add a parameter to the interface and, despite all my documentation, he didn't think he could do it on his own. So, I walked him through it on GoToMeeting. No problem, we were done in half an hour, and he was happy that it turned out to be so simple. I tried to make sure he understood what to do if he needed to add anything else in the future. But you can guess what happened the next time he wanted to add something else. And the next time.

Now I don't object to the extra revenue or the ultra short-term projects. The client is a joy to work with, he respects my time, and he pays promptly. But I think that I've failed him in the education department. When I asked my client what he thought, he replied, "I have all these steps that I know how to follow, but I don't know what any of it really does."

This got me thinking. The client is a pretty sharp guy, so why is he having this trouble? Reflecting on my own past inabilities to grasp new concepts, I realized a few truths about learning:

  • The conclusion that "I can't understand this" is more emotional than rational. When your eyes glaze over a bit, and you feel an emptiness in the bottom of your stomach, you can't continue to parse what you're studying.
  • The likelihood that you'll hit that wall is exponentially relative to the number of unknowns you encounter. You can stomach one or two independent unknowns, maybe filing them under "for later study" and take them as givens. Any more than that and you start losing the thread, especially if exploring one unknown leads to three more.
  • Tolerance for a higher number of unknowns can be acquired, with practice.
  • Anything can be learned with patience, one step at a time. But the human brain seems to require periods of sleep in between those steps.
  • Once you've got it, it's easy. The experience also contributes to your ability to understand other, somewhat unrelated new information in the future.

So how do I apply this to my client's situation? None of the layers of this project are particularly difficult to understand. What scares the devil out of him every time he thinks about making changes to it is the sheer number of new components working together in what must seem like some form of magic that has to be carefully conjured by reciting spells in exactly the right way.

The solution, then, is to explain one component at a time -- with a significant break between explanations. I'll say pretty much exactly what my documentation says, but it always goes down easier when it comes from my voice instead of from a monolithic document that can't respond to a client asking, "Can you put that into English for me?" Something about human interaction makes learning easier for some people.

I'm spending a lot more time educating my clients. As quickly as technologies and methodologies are evolving in our industry, I not only have to explain potential solutions, but I often have to teach concepts before we can even discuss the problem that they're trying to solve. This goes both ways -- I have to learn more as I ramp up to new projects that are increasingly multi-language, multi-platform, multi-browser, multi-paradigm, multi-business, multi-x (where x is any variable). Clients usually have a better handle on their business needs and technical constraints, so consultants can do well to don the student's hat sometimes.

How much of your consulting work involves educating your clients? What kind of resistance do you meet to learning new things? What do your clients teach you?

Get weekly consulting tips in your inbox TechRepublic's IT Consultant newsletter, delivered each Monday, offers tips on how to attract customers, build your business, and increase your technical skills in order to get the job done. Automatically sign up today!

About

Chip Camden has been programming since 1978, and he's still not done. An independent consultant since 1991, Chip specializes in software development tools, languages, and migration to new technology. Besides writing for TechRepublic's IT Consultant b...

48 comments
slanely
slanely

Business and people who use remote support a lot should consider purchasing an appliance instead of continue with hosted where there is less security and monthly fees. For example RHUB has a 4-in-1 appliance the includes remote support, remote access, and web conferencing all in one. I imagine you can get your payback in a few months if you use these tools often. http://www.rhubcom.com

rxmillered
rxmillered

IT Staff - employees or consultants are not considered as important of an asset in the new economy. A front-desk receptionist will be there for the retirement and is considered more important. Technology persons are thrown away on a "per-project" basis. Do what the customer wants now. There is no tomorrow. Documentation is a worthless, your projects can be acquired in a business transaction and thrown away tomorrow with out any consideration for past efforts. Technology Salary Surveys ignore those that are looking for work or the rate of compensation would fall to levels that make a career in landscaping look good. There is a reason that over 400,000 H1-B temp visa's are granted in 2009 for the mythical "shortage of technology workers". And the word "temp visa" sums it all up. It is just the business cycle of money and profits. Throw away all this ancient history about how things should be in a perfect world. Bottom line: The lack of documenting the last project leads to another project to explain what was delivered!

Sterling chip Camden
Sterling chip Camden

Your dystopian view of IT may apply to many companies, but I can say from experience that it does not apply to all.

Sterling chip Camden
Sterling chip Camden

True. Not only cutting documentation, but also cowboy coding without a design and with minimal testing. It usually ends up costing the client more in the long run, but because those costs are incremental, they're largely under-appreciated.

mborges
mborges

Not all. Not even most. I will say that the documentation aspect is a hard sell many times, but I basically insist on substantial documentation and tracking for any project i work on. I have lost jobs becasue other consultants were willing to bid less hours and I know the most common area cut out was documentation(or they underbid cost and time out of inexperience). So really, we are not the poor victims but part of the problem.

Josh_
Josh_

Hi chip There are some great ideas and solutions in this article. I wanted to draw your attention to an alternative web conferencing tool that can help clients and co-workers to communicate better - http://www.showdocument.com It allows instant co-browsing on any document. You can upload your document and invite your clients to view it with you. no installation needed. There is a review at http://news.cnet.com/8301-17939_109-10070332-2.html Regards, Josh

Sterling chip Camden
Sterling chip Camden

... something like gotomeeting?

Josh_
Josh_

thanx for your reply, chip. First, like I mentioned, Showcoument requires no installation, which is not the case with gotomeetings. also, you don't need a fast internet connection to use it, or any knowledge of web-conferencing tools, as it is very easy to use. Plus, it fits all operating systems. I think these advantages and the fact that it is free of charge make it a relevant alternative to tools like gotomeeting. If you want try it yourself at http://www.showdocument.com Josh

Tony Hopkinson
Tony Hopkinson

That number of unknowns, I've had some success by hiding as much how as I can, even to the point of a dumbed down interfaces to give an even greater level of abstraction. Some people just can't think black box, they have to open every one and see what's inside (usually more black boxes :( ) It's a very hard one to get round if as a lot of programmers do you think black box all the time. Perhaps developing some Howto documents might do the trick.

Sterling chip Camden
Sterling chip Camden

I actually gave him two howto docs: one for creating a new interface and another for modifying an existing one. But when a programmer is told to do something and he doesn't know why, it breeds fear.

Tony Hopkinson
Tony Hopkinson

So Tony have you done that thing Chip said, no but I think know why he said it. :D I've had to discipline myself not to lift lids and rummage around inside, otherwise I'd never get anything done. If your Howto worked, I would have left the why alone until a free moment, or it stopped.

Sterling chip Camden
Sterling chip Camden

... for clients to hire you during the recession. Reduced risk, and greater efficiency.

PMPsicle
PMPsicle

Reality check ... sometimes it's cheaper to pay a higher price than to pay a lower rate. If you can fix it in 1hour with certainty, and they can fix it in 2 hours but with an exposure of 6 hours and a risk of 20 percent. Then you could charge up to 3 times their loaded total (say $300/hr vs their $100 loaded) and still be cheaper. Factor in the expose/risk of non-delivery on time and it's a no brainer. Bring in the big guns and screw it until the project is done. So sit back, raise your rates and :D Glen Ford, PMP http://www.trainingnow.ca http://www.learningcreators.com http://apps.learningcreators.com/blog

Sterling chip Camden
Sterling chip Camden

I'm the one who always wants to understand the source code. I think my client is also a bit leery of digging in because he's under time constraints needs to turn it out to production quickly.

Marty R. Milette
Marty R. Milette

We, as consultants, must understand that different clients prefer different modes of learning -- and what works for one will not necessarily work at all with another. We must also consider that what is 'intuitive' and 'obvious' to us may appear completely incomprehensible (and hence frustrating) to someone else. I terms of learning modes -- we have many electronic ones at our disposal like gotomeeting, or other remote desktop systems, we have Windows Messenger or other chat applications, we have telephones, FAX, eMail and documentation. The exact combination of what 'works' is very much client-specific. (Or technically limited by network/blockinig issues.) HOWEVER, and this is a big point -- we SHOULD NOT EXCLUDE non-technical options -- such as on-site visits with one-on-one or classroom-style training. To often, remote consultants try to do too much of the work remotely -- and the client ends up suffering and/or frustrated as a result. In my experience, the richest learning experience with technical people is a one-on-one walk-through, where they can take notes and ask questions and get answers freely and instantly. Of cours this costs time and money -- but the result (a happy, educated, satisfied client) more than pays for it.

techrepfan
techrepfan

I am working on a project now where I am specifically providing training. I don't train often and when I do, I've grown accustomed to training users who are IT savvy. It did not occur to me to make adjustments for a new HR audience. Their eyes glazed over. I thought the way I presented it was easy as pie. I ended up completely changing the training from a system-based perspective to a human-role based perspective. It went over much better the second time around.

mborges
mborges

Training is actually a science, but to do it well is an art. Kudos for recognizing the focus is not so much the material, but how it is presented in the users own context. As an MCT, I train users regularly in several different settings, and there are certainly several tried and true ways of getting information to become knowledge, but nothing is beter than answering the question, "Ya, but how does this help me?" To address the original article, the willingness of the users to embrace new tech is many times directly proportionate to the IT support system of the company. Many times a well meaning IT manager will try and solve every problem so that the users is never frustrated or challenged. The corporate culture then conditions the users, old and young, to expect that they do not need to deal with certain things. However, what we end up with is a cumbersome , COSTLY, and unsupportable system usually. A better way to sometimes approach it is to provide middle of the road support. Make helpdocs and tools that are generic enough to handle 80 percent of the issues you may encounter and then basically force the users to go to self help resources first. Example: Adding anothers user inbox into Outlook. Its not hard, ...if you have done it before. I would not expect a regular user to be able to do it, and this basic task is often the subject of hours worth support calls/visits in some companies. However, the actual task can be easily documented in a 3 page doc andposted to an intranet or emailed to someone. Once someone has done it once, they can replicate the task easily, and demystifies the email client for them somewhat. I know, majorpush back will result, but experience has shown me that eventually the corporate culture will adapt and even become empowered by such actions.

stephanisat_z
stephanisat_z

As a trainer, two things I have learned during the past ten years are that people have different styles of learning, and there is a reason that some people are tech geeks and some are not. Non-technical people generally cannot understand the jargon that techs throw at them, so they shut down instead of trying to learn something new. Approaching customers with a non-technical metaphor or other descriptive method, along with on-site, hands-on training has been extremely beneficial to the IT companies who hire me. Give your customers a way to understand the technology in their terms, not ours, and most of them will try to learn how to use the products, and it also may cut down on those help desk calls.

PMPsicle
PMPsicle

The other advantage of a non-technical metaphor is that you HAVE to put it into the language of your target. (Unless you're really clueless). BTW (just in case :D ) ... an accounting metaphor in accountant-speak won't work any better to an audience of salesmen than a technical explanation. So if you are explaining to a salesman what happens if they use the wrong code on their expense form saying you'll charge the wrong account won't help. Saying your customer is going to be bellyaching because they didn't get their geegaw will! Glen Ford, PMP http://www.trainingnow.ca http://www.learningcreators.com http://apps.learningcreators.com/blog edited because I must have been half-asleep you're/your omg!

PMPsicle
PMPsicle

B/As and P/Ms ... and yes, sometimes it works and sometimes the Stuka hits the pavement!

Tony Hopkinson
Tony Hopkinson

Fortunately I know a bit about electronics, so things like black box = encapsulation went across quite well. It's what really irritates when the alignment muppets come along and say we don't understand business....

Sterling chip Camden
Sterling chip Camden

It's often difficult for people to think outside their own knowledge domains, but that's exactly what the educator must do -- s/he must translate their domain knowledge into terms that are familiar to people outside that domain. Sometimes it's brilliant -- often it fails.

Sterling chip Camden
Sterling chip Camden

I find them instructive even for the technically minded (like myself). I think most people want to be able to visualize concepts in something similar to the concrete world in which they live. Even when I was studying higher math, I always needed to create some sort of visualization of what's being described in order to understand it well.

Tony Hopkinson
Tony Hopkinson

I did geometry, matrices and vectors at school by rote. I learnt them doing a wire frame graphics application (not work unfortunately)

maclovin
maclovin

It's that simple, many individuals, whether paying a contractor, or just their already-paid IT staff, would rather just make that call, then learn something new. I've said this before, it's going to take a whole new crowd in business to get thinking in a different manner...but that's going to take a while until we can get this new generation to run things. The old generation just isn't ready to "do things on their own". Kind of like children...wait, no, ExACTLY like children. I sucks, yes, but I think it's just the truth of the way things work right now.

admin
admin

I've had the problem a few times where an IT consultant has tried desperately to get me to understand and independently implement something that is new to me - and I'm fairly IT competent at a small office level. The problem is that I'm way too busy managing an SME (charity) with a dozen projects and a couple of dozen staff, to actually sit down and get my head around the technology concerned. My brain is occupied keeping the charity funded, and keeping our various projects and departments operating smoothly and delivering at ground level. Sometimes it's better to continue to call a professional back in than to go off half-cocked, having only had time and brain cells to take in a tenth of the knowledge and skills on offer! Either that or I'd take a chance on screwing a system which would cost me a LOT more to put right. I know where I'm going, for the good of the charity and my own sanity. A year or two down the line and I'll have had time and attention to learn what I'm being offered. By which time, of course, it will have all changed!

Sterling chip Camden
Sterling chip Camden

None of us can do it all. But it's important to learn enough to be able to make informed decisions about what you'll have others do -- or to know when to delegate even those decisions, and when not to.

NickNielsen
NickNielsen

35 years ago, we said people can't or won't learn the new technology and methods and it would have to wait until there was a whole new crowd. Well, there's a whole new crowd and nothing has changed. Now what?

rxmillered
rxmillered

We called it Computer "Science" Science requires metrics. There are still no metrics in the industry. While other professions have recgonized certifications and license to ensure most basic levels of compentencies... and employment requires specific certifications... Computer "labor" has become the accepted standard. The new crowd is just like the old crowd.

Tony Hopkinson
Tony Hopkinson

Hmm no cert for MS DOS 2.0.... Define old matey.

Sterling chip Camden
Sterling chip Camden

More metrics and licensing won't solve a damned thing. Most of what makes a developer worth his salt can't be quantified.

PMPsicle
PMPsicle

I'd have to disagree.... the old crowd learned by listening to their elders and then, if it was important enough and the elders said it was okay, by trying and falling flat on their faces. Eventually they learned to listen to all of their elders, and then combine them into new ways to fall on their faces. Which we were quite happy to do. The new crowd seems to be so focused on tomorrow (well, one minute ago), that they aren't listening to their elders, have in fact, told their elders to go find an ice-flow, and are proceeding to try running and jumping -- usually off the highest point around. Without consideration and without listening to alternatives. I think they just like hearing the splaat! :D There've been certifications and licenses for years (aka degrees and non-manufacturer certs (eg PMP)). There is no push by the customer for them, and no reason for government to protect our customers from us. Until that happens there won't be a push for licensing certifications ... after all would you ask for something that will increase the price drastically?

Renny774
Renny774

True. Some people of the older generation who did learn, are still around, like myself. Transfer of knowledge is needed, whereby the original timeless concepts regarding the approach of IT solutions are crucial for effective application. More often than not I get questions from directors, managers and business analysts when they try to make use of a data warehouse or a business intelligence (BI) tool. They say that they do not trust the figures that are presented. If I ask what is meant precisely, I get three kind of answers: 1. there seems to be no understanding as to what the figures actual mean 2. there is uncertainty about how the figures are built-up (in spite of available drill down facilities) 3. it is not clear how the figures hang to getter - their inter-ralationships. Obviously, I am talking about managagment information, which is comprised of historical data that is summarized - aggregated. Let's take Customer data as an example. As a rule of thumb: if the data is eight years old or older, the Customer behaviour patterns that can be derived, is reliable. The older the data is, the more valuable an asset it becomes to the organization. This is true if we know what the data meant at the time that if was stored in the database. Do we know? More often than not, the meaning of the contents of certain fields have changed over time - often this happens when the field represents a code or a certain kind of number. Conclusion, the managers and analysts are using these wonderful pivot tables and pivot charts and other BI tools, but often they are processing data without meaning. People including myself speak about information processing. But I know that we ought to call it what it is today and always has been, which is data processing It is time to put our house in order, i.e. putting our data in order, so that we can go to the next level, which then definitely is to be called information processing. Data dictionaries are to be used where we can store the meaning of the data in our databases. The quality of the definitions must be such that the data can be shared throughout and among organizations. This means that business terms, in IT jargon I will refers to object classes here, will have to be defined by its nature opposed to what is always done, which is by its usage. If this is done a stable set of terms, i.e. business object classes, are developed that is stable as it reflects the business itself, not its organization which always changes. For the first time we arrive at complete flexibility - which can only exist on basis of stability - of information processing. This means that an employee or manager can ask the database a question and it will always come back with the right answer. This is the result of the fact that the business data, held together by a relational structure reflects the business and the business only. This also means that next to the data dictionary, a schema of the relational database structure should be given to the people who use these BI and other - I call them relational - tools. The professional or manager can easily navigate through the relational structure because only known business terms are used. Now they have an overview of the business data that is available and its coherence. Making use of a data warehouse or of pivot tables and so on, becomes a joy because there is no gap anymore in the understanding of the meaning and setup of the data between the business and the IT oriented people. Cheers, Renny

Sterling chip Camden
Sterling chip Camden

It's natural for people to want to stick to what's comfortable and familiar. We each have to push ourselves to try new things and improve our skills. Many people just aren't motivated to do so.

boxfiddler
boxfiddler

Sometimes it will work. Kinda like most everything else in life. Some people want to, some don't. The effort is for the ones who want to.

PMPsicle
PMPsicle

It ain't age ... I go back far enough that I remember when this article wouldn't have been written. Why not? Because the number of people who were being described was so small. There were a few -- there always was, is and will be. The sad fact is that this is the result of a whole new crop of business people who have never bothered to learn their discipline. Who have been handed everything and have never had a chance or desire to be mentored. So blame who you want ... if you're not ready to retire you're part of the problem chief!

Tony Hopkinson
Tony Hopkinson

that they've been taught they don't have to. A certain class of 'consultant' saying, you don't have to know about that, pay me I'll do it for you. Buy this here thingy, it will do it for you. A lot more can't than won't in my book. Think differently isn't the issue, think at all is. Not the guy Mr Camden's talking about anyway, he's suffering from an improper abstraction at a guess.

Sterling chip Camden
Sterling chip Camden

Too Much New Stuff. A new language and never done web programming before, never mind a four-tier architecture (client->web server->legacy app->database). And the bridge from web server to legacy app has a lot of pieces. It's just too much for him to hold in his head at one time. But it'll come, with familiarity.

Tony Hopkinson
Tony Hopkinson

Breaking in that conetxt isn't being careless with your cup of tea near the keyboard. An accepted way of enhancing / changing a piece of working but not understood code is to change one bit, and see what happens. If you keep an eye on what you are doing and what you want to do, it's often quicker than spending six weeks documenting the furker. Especially seeing as you are unlikely to be given the resource to update teh docs after you've made the change. Think of it like setting up a carb on a two stroke engine for tick over rate. You turn it well past sensible, start er up, then wind back to just firing regular.

harris.neill
harris.neill

Dealing with computer systems is similar to speaking a language. One needs the words, but also the relationship and context. Sometimes it is rather like delving further and further back in a subject until one hits sold ground that one can understand and stand on! Spending a disproportionate time on 'sorting' a problem out doesn't really fit my idea of working efficiently!

Tony Hopkinson
Tony Hopkinson

Erm you do remember what you did to do that, don't you? One step at a time, learning, breaking, making, even walking..... Unknowns have boundaries, there might be dragons inside but if you stay out until you've sorted out the asbestos undies, pointy stick and armour, you'll be much better off.

Sterling chip Camden
Sterling chip Camden

Quite right. It's like a game of Sudoku with only one number given. How's things in Carlisle? It's been 16 years since I last visited your fair city.

harris.neill
harris.neill

Sometimes, it isn't a question of lack of desire or courage, but that people need the knowledge - the whys & hows - and the experience. When there are too many layers of unknowns, even if one tries to gain experience by breaking things, one gets lost in the diagnostics as to why something went wrong. This isn't unique to programming!

Sterling chip Camden
Sterling chip Camden

But in order to feel comfortable with the abstraction of ignoring how the black box works, you have to at least feel like you have a good enough understanding of the black box to be able to trust it. I don't think it's innate -- it can be learned. It's just that some folks are so far from that point that it seems hopeless.

Tony Hopkinson
Tony Hopkinson

When I'm in the middle of something like that, I've only got two pieces (at most) in my head, the other ones don't (well one hopes) matter. May be it's the old main frame batch processing experience. Input file -> Process then Process -> Output File. I've met people who can, and people who can't, I'm pretty sure it's just an innate skill, based on the models you naturally use.

Sterling chip Camden
Sterling chip Camden

I have one client that's been in the business for 30 years, and they're more on top of new technology now than they've ever been. But yes, younger folks do tend to be more willing to embrace newer ideas. We old farts have to be willing to adapt, or die.