What does a consultant with Keyhole Software do?
Do we do heads-down coding on software? Do we design new systems? Introduce new tools and techniques? Do we help with process? Testing? Gathering requirements? To all of these things, the answer is yes. Regardless of the reason we are brought in, our duties are to help our clients — even in areas that they didn’t yet realize they need it.
Sometimes, clients have not yet asked for all those services. The key to good consulting (what we employ at Keyhole) is to provide all services needed, without stepping on anyone’s toes, or sounding as if you are giving directives. It’s sometimes a delicate balance. No company wants a cowboy coming in telling them everything is wrong and they need to do it his way. (That will get you shown the door very quickly.) But our clients deserve to have all of the information needed for their success.
For instance, you are brought in for heads-down development. But, you see areas where the agile process can be improved. Instead of telling them they just aren’t doing Scrum right, a good consultant would offer up helpful suggestions. I would say something like: “You could improve sprint predictability by not altering sprint length.” And instead of just internally complaining about the state of the controller layer, a good consultant could show them a prototype of Spring MVC controllers in their application, illustrating just how much better it can be.
Another key is to simply roll with it. Sometimes, clients don’t want to take your suggestions, and that’s okay. Don’t get angry or frustrated and continue the good work. But do the work they ask of you and more. Continue to show how they could improve, while providing the services they ask for. I was once at a client doing development and architecture for a two-year period, all throughout suggesting agile improvements. For quite some time, those suggestions were ignored, overloaded iterations slipped, and waterfall testing continued to show a disconnect with requirements. But my team worked on and continued to make suggestions. Eventually, the organization decided to adopt Scrum company-wide.
Some consulting companies are staff augmentation. They don’t want a consultant to take on the roles that are above what they want them to do: fill a seat and bill hours. But Keyhole encourages you to grow your own skills, and encourages you to help clients. Keyhole is filled with good consultants who understand all of the above, and are willing to share their knowledge and experience to benefit the organizations we work with.
Every IT shop is a work in progress. We’re just there to help them.
— Brad Mongar, firstname.lastname@example.org