Archive for August, 2006

Joel on Management

Thursday, August 10th, 2006

Well-known software developer Joel Spolsky is posting a series on management strategies:

If you want to lead a team, a company, an army, or a country, the primary problem you face is getting everyone moving in the same direction, which is really just a polite way of saying “getting people to do what you want.”

He proposes that there are three main methods for doing this:

While the Command and Control method is pretty easy to dismiss on face value (just look at the Army’s recruiting numbers) there are parts of the strategy that have crept in to the methods of managers I’ve worked for. In some situations it’s appealing to have people stop asking questions and just do what you want. Of course, that’s not a sustainable path as it may bring about the short term goal while destroying the relationship between manager and employee that must be healthy for long-term success to be possible.

Joel’s Econ 101 method is simply an overemphasis on extrinsic rewards–mainly money. I’ve been really interested in extrinsic vs. intrinsic rewards since I read Alfie Kohn’s incredible book Unconditional Parenting. Turns out, if you pay kids to play with toys they like, they play with them less–the same results Joel sees when giving developers bonuses. Money replaces Fun as the motivation for doing something. My wife and I are staying away from rewards and punishment as methods for getting our kids to do what we want them to do, mostly because those methods just don’t work–in parenting or management.

The Identity method is much more along the lines of Kohn’s parenting principles. It’s the relationship that matters. Do what you need to do to make sure the relationship is strong. It’s not easy, and the other methods are tempting because they often work in the short term. But they are not sustainable.

I was very intrigued by his comments about his internship program:

…one the goals of our internship program is to make people identify as New Yorkers, so they’re more comfortable with the idea of moving here after college and working for us full-time. We do this through a pretty exhausting list of extra-curricular summer activities: two Broadway shows, a trip to the Top of the Rock, a boat ride around Manhattan, a Yankees game, an open house so they can meet more New Yorkers, and a trip to a museum; Michael and I host parties in our apartments, both as a way of welcoming the interns but also as a way for interns to visualize living in an apartment in New York, not just the dorm we stuck them in.

In addition to building a strong relationship with potential employees, they’re helping the employees make the right decision–should I move to New York? Better to help interns figure that out before they get hired–it’s a drag for both parties when employment doesn’t work out.

Platial: map your places in seconds

Wednesday, August 9th, 2006

I ran across Platial thanks to O’Reilly. What an easy way to create a map of places you care about and put it on your website. I’m trying to make a trip to Portland for fun and business this month. I’m considering taking my bike and hitting all the hotspots on two wheels, so I was curious to see how far apart everything was. Visualizing them on a google map made a lot of sense to me, but I didn’t know how best to get all the addresses on one map without a bunch of work. Platial made it drop-dead easy. 10 minutes to create this, from registering to including in this post.

Really nice work. If you want me to bike by your place when I’m in Portland, let me know!

Documentation Application: Info Center

Monday, August 7th, 2006

Scott Hemeter has built out an application called the Info Center:

The Info Center was developed to fill a common need. During a rollout, users typically go through well constructed training sessions and will usually walk away with training materials, quick reference guides, etc. However, once the system has been in production for a while, people rarely ever reference that material again. When people have questions, the answers can be hard to find in the training materials. Training materials are typically not organized to answer specific questions that arise.

Scott’s tackling the problem that we all have–how to document in a way that ties right into how people work. He’d love your feedback, give it a look and post any feedback you have on his site. I’ll be checking it out this week.

CRM Consulting: Process and Skills

Wednesday, August 2nd, 2006

Currently, our CRM consulting program consists of me. I’m the sole resource dedicated to working with our customers on getting them up and running in CRM. Not surprisingly, I’m a bottleneck–without any outreach efforts I have projects lined up through the end of the year. So, we’re thinking about how to increase the number of projects we can handle at any one time by working with contractors and probably also hiring staff. If you’re interested in working with me on CRM projects, drop me a line.

In preparation for expanding we’re doing some introspection into what our CRM consulting really looks like. I came up with this visual representation of a typical project:

And here is a diagram of the skills necessary for a consultant to successfully complete a CRM project, along the same time axis:

skillz.png

So lets run through the stages of a typical project and talk about the skills necessary:

Outreach & Qualification

  • A consultant has to be able to talk to nonprofit customers and convey an understanding for how they work. She has to use language that is within the experience of the customer–technical jargon, corporate metaphors, and used car salesmen tactics are all verboten. The consultant has to act as a trusted advisor, rather than a vendor. That’s what working with nonprofits is all about.
  • Project management is a set of skills that apply to all stages of CRM projects. While it requires the ability to set a schedule, juggle scarce resources, estimate and scope, and hold people accountable to committments, it really comes down to one thing–effectively setting expectations. Do this well with all stakeholders and you’re in good shape.

Process Mapping

  • Process Analysis is the ability to identify and document the way people get tasks done. It requires an ability to analyze complex systems, reduce them to an appropriate level of detail, and ask the right questions of the right people to get the necessary information.
  • Capturing of current state is followed by a collaborative search for ways to improve process. Effectively including the customer in this effort is necessary for success.

Prototyping, Customization, and Integration

  • As the processes are being identified, prototyping in the CRM platform can begin. I have found with Saleforce.com that building the application is so quick and easy that a live prototype is an inexpensive and very effective way to get feedback on the requirements from the customer. This requires the ability to prototype rapidly, and design ratioinal database schemas.
  • Integration with other systems requires the ability to quickly analyze the technical methods for integration, and an ability to build out an integration process that is complete, appropriate for the amount of money budgeted for integration, and puts the smallest burden on the customer. Trading off between automated, elegant integrations, and quick and dirty manual integrations must be made with input from customer.
  • New processes will rear their heads during this stage, and will have to be discovered, documented, and integrated with the overall project. Also, scope must be managed as these new work areas are found.
  • The consultant should ideally have a framework for documenting the system and the technology that gets updated as she works on the project.

Date Migration

  • Rarely does a project come along that has no historical data. Data migration is the act of taking whatever historical data exists and getting it into another system in the correct format. The consultant must be able to identify the logic of the data transformations needed to do this.
  • The consultant also must be proficient in the standard tools used by customers for storing their historical data: ebase, MS Excel, MS Access, Filemaker Pro, Act, etc.

Training

  • CRM systems are complex, as are the work processes they support. Significant raining is mandatory for a project to be successful. The consultant must be able to build and deliver effective trainings, covering the core functions of the CRM system, targeted to the key user roles of the customer.
  • Technology training is difficult to do well, especially with a customer base that is primarily non-technical. Presentation and listening skills are very important.

Follow Up

  • After the project has launched, the consultant will have to listen to user requests, prioritize them, set expectations about what is possible and when, and integrate any changes into documentation and training materials.
  • There is an important balance to be struck between helping the customer succeed using CRM and providing open-ended support.

It’s a broad skill set that touches on lots of different core competencies–I think that’s why so many liberal arts majors go into technology consulting! CRM projects are high-risk in that if you fail in any of these aspects of the project, it’s tough to end up with a successful customer. This becomes a bit easier as you scale up a program and can hire people who are specialists in certain areas. We’re leaning toward hiring a specialist in the process analysis and client interaction areas, but haven’t really decided yet. Salesforce.com gives us a lot of leeway here because we don’t really need to hire someone with specific database platform skills–it’s just so easy to build things out in Salesforce.com.

One thing about doing this work is that it sure exercises all parts of your brain. I find it invigorating, challenging, and rewarding. If you think you would too, I’d love to hear from you.