Build it quickly, use it as soon as possible, and make it simple

We've learned a lot in the last 2+ years building software at Telligent. One of the biggest lessons we've learned is one we didn't really anticipate: a shift from caring less about the underlying technology to how our software solves the user's problem. It's a subtle change, but as an ISV this is probably one of the bigger "maturing" steps a software organization has to go through. You can tell when an ISV hasn't made this transition yet: the literature and announcements about their releases focus 100% on the underlying technology instead of how the software solves a particular set of problems for the people that use it.

If you had asked me 2 years ago about what we wanted Community Server to become the answer I would have, and likely had, given would be something involving: Provider Design Pattern, Server Controls, SQL Server, etc. In other words, I'd tell you about all the cool technology we were using and how we were using it. Today the answer is very different - in fact internally we judge our own success when customers use our software because of the problems it solves, not because of the technology it is built with.

For example, have you ever bought a car because of where the steel was made or because of the brand of the engine? A few people care about these things, but most people care more about: does the car drive good, are the seats comfortable, etc. Make no mistake about it: as developers we're .NET through-and-through, but we have yet to have a customer choose our solutions simply because we wrote "good" code; although we still like to think we do that too :)

Today we're in the midst of building 5 new products and our philosophy is: (1) build it as quickly as we can (2) start using it as soon as possible (3) make it simple. Two years ago the phlosophy would have been: make it scalable, make it extensible, etc. Bottom line - If we had started these new projects 2 years ago I don't think they would ever be completed. Now I get worried when I sit in a design review and hear someone say, "we want to make it scalable and extensible". To me that translates to: "We don't know or understand our customer or the problems we are trying to solve, so we'll try to do everything in v1.0."

Are we doing some cool things with the underlying technology? Absolutely! But first and foremost we're going to build software that solves the problems. One of our new products is a CRM system which we started using internally about 4 weeks ago. Our goals today are things like, "the user doesn't have to take their hands off the keyboard to create a case" or "creating a new contact should have no more than 2 required fields". We're not using the provider design pattern, we're not supporting multiple databases, we're using dynamic SQL, we're doing tons of code generation - in other words, we're building software that solves the problems first. We'll solve those other problems too, but we'll solve them later as the software evolves and matures.

Published Friday, September 01, 2006 7:10 AM by Rob Howard

Comments

# re: Build it quickly, use it as soon as possible, and make it simple

Friday, September 01, 2006 10:15 AM by Darren Neimke

Hi Rob, nice article.  I thought that CRM had been solved?  You guys aren't falling into NIV syndrome I hope ;-)

# re: Build it quickly, use it as soon as possible, and make it simple

Friday, September 01, 2006 10:19 AM by Rob Howard

Hi Darren,

Yes, it's a little NIV -- honestly we couldn't find something that was simple enough for our needs. We looked at SalesForce.com and SugarCRM, both of which look great but are way too complicated.

# re: Build it quickly, use it as soon as possible, and make it simple

Friday, September 01, 2006 10:26 AM by Darren Neimke

Cool.  All the best with it.  I'm in the midst of implementing MS-CRM at Readify and have found it to be generally pretty good.  Totally customizable at both the entity and view level and also - as we prefer - adding on at the side via the services.

# re: Build it quickly, use it as soon as possible, and make it simple

Friday, September 01, 2006 10:39 AM by Albert Pascual

Rob,

You put it into focus a great problem that I face in many companies. They have this big plans about the software, and to solve an easy problem they would like to write a complete new operating system.

Thanks for bringing this into prespective.

Cheers

Al

# re: Build it quickly, use it as soon as possible, and make it simple

Friday, September 01, 2006 10:58 AM by Joe Brinkman

Rob,

 I think you are right on point from a business perspective, but the techies still need to be on the lookout for those other things like scalability, extensibility etc.  The problem with being too much on the user requirements side, is that often users don't know what they need until they "hit the wall".  A good software company must anticipate this a bit so that users "hit the wall" just before v2 is released.  Good luck with your new products.

# Rob Howard giving insides on software designing.

Friday, September 01, 2006 11:01 AM by Albert Pascual

Rob Howard CEO of Telligent shared a wonderful post http://weblogs.asp.net/rhoward/archive/2006/09/01/Build-it-quickly_2C00_-use-it-as-soon-as-possible_2C00_-and-make-it-simple.aspx

# Rob Howard: marks of a maturing software organization...

Friday, September 01, 2006 11:08 AM by Mike Diehl's WebLog

Rob Howard had a great post: We've[experienced] a shift from caring less about the underlying technology

# Telligent Internship Completed

Friday, September 01, 2006 11:10 AM by Ryan's Blog

In the last two months, I feel like I've become a member of the Telligent team. I have brought home many

# re: Build it quickly, use it as soon as possible, and make it simple

Friday, September 01, 2006 11:29 AM by The Wizard

This thinking is exactly why you are so successful and why the excitement for Community Server and Telligent never seems to fade, at least for me! :-)

# re: Build it quickly, use it as soon as possible, and make it simple

Friday, September 01, 2006 12:13 PM by Jon Banta

It is good to hear when the focus of a software company is not to flex its technical muscles, but work towards satisfying the customer first.

I personally build many prototypes first to play with in order to justify the validity and completeness of a software solution.  I end up creating around 10 prototypes before implementing a entire solution.

You mentioned code generation at the end of your article, CodeSmith I imagine.  

What recommendations would you give for a software company / individual for creating software quickly in the terms of software development?  Do you use a RAD? XP?

# re: Build it quickly, use it as soon as possible, and make it simple

Friday, September 01, 2006 1:07 PM by Simon Wilheim

Looking forward for your new CRM product, will it be free like Community server ? Also what are the other products you're working on ?

# Development Philosophy

Friday, September 01, 2006 1:52 PM by ArcEnterprise Blog

I just saw Rob Howard's posting - Build it quickly, use it as soon as possible and make it simple - about...

# Community Server Daily News for Friday, September 1, 2006

Friday, September 01, 2006 3:21 PM by Community Server Daily News

from the editor occasional messages that don't fit anywhere else We'll be adding a weekly recap of the

# Stay in your comfort zone!

Friday, September 01, 2006 3:27 PM by Jason Alexander's Blog

Yeah, that's right, I said it: stay in your comfort zone. You're probably think, "Ok, Jason has finally

# re: Build it quickly, use it as soon as possible, and make it simple

Friday, September 01, 2006 4:45 PM by ASB

Rob,

This is an excellent philosophy, and one that is very dear to me as well.

I've been meaning to make a post similar to this (except with a focus on infrastructure deployment, not software development).   Let's hope I get to it this weekend.

# This Week's News for September 1, 2006

Saturday, September 02, 2006 11:56 AM by Announcements

Welcome to our first installment in bringing you the week's top news stories from the Community Server

# Simplicity + extensibility + org culture

Tuesday, September 05, 2006 7:36 AM by A. Simon Mielniczuk

The '2 fields to start' a CRM record is a great approach, not unlike the yellow sticky note or the whiteboard scribble. Write it down now because ideas and work move quickly.

No doubt, based on my experience with CS, the application will be both deep and extensible. One item I'd like to see is a 'data quality control' reporting check. Many times, the quick note gets abandoned, written again, or stored in such a way that it loses it value to the company. A way to locate, identify and correct these (and the behaviors behind them) would be great.

# More thoughts

Tuesday, September 05, 2006 12:26 PM by A. Simon Mielniczuk

The earlier post triggered some lost thoughts about the culture of information sharing (see url).

# re: Build it quickly, use it as soon as possible, and make it simple

Tuesday, September 05, 2006 3:45 PM by Jeff

Be careful, Rob, you're sounding like someone from 37signals. ;) Just kidding.

Actually, you get to the heart of why I despised the early versions of the forum component. I hated how it worked. It didn't get into the core of what I needed from a community product because it was awkward. Using the blog piece now every other day I can see the switch in thinking.

I think you've got a little ways to go (not that I'm one to talk), in really thinking hard about UI design, but you're very much on the right track.

# re: Build it quickly, use it as soon as possible, and make it simple

Saturday, September 30, 2006 8:51 AM by Naren Ranganathan

Rob- It is a nice article about software development.

# A Cost-Effective Infrastructure Deployment Strategy

Wednesday, October 18, 2006 9:44 PM by Talking Out Loud with ASB

Over the past few days, I have seen at least two posts or articles on a subject I've been meaning to

# Which is more difficult?

Wednesday, November 01, 2006 11:10 AM by Rob Howard's Blog

Somewhat of a continuation of this thought, but really which is more difficult: building scalable well

# Loving AJAX

Tuesday, November 14, 2006 10:49 PM by Community Blogs

As a web application development team I’m really excited about how AJAX and related technologies

# re: Build it quickly, use it as soon as possible, and make it simple

Wednesday, November 29, 2006 5:14 AM by MaxTheITpro

Hi Rob!

Great post dude. I'm here in Kenya (cia Canada) working on an eCommerce project and this is exactly what I try to tell my programmer because he always tries to do the difficult things first and leaves the essentials for last. Arghhh!!

I just blogged about your post here:

http://maxtheitpro.blogspot.com/2006/11/end-user-is-number-one.html

# re: Build it quickly, use it as soon as possible, and make it simple

Tuesday, May 29, 2007 6:32 PM by Edwin

Hey Rob, you're the man! I read this post last year and today I felt the need to read it again. Since I first started with software development, I instinctively knew this is the way that successful projects work. But you know, as technology evolves, one makes the wrong assumption that making the software increasingly complicated and over-engineered is the way to go. Cheers!

# re: Build it quickly, use it as soon as possible, and make it simple

Thursday, May 31, 2007 6:04 AM by ...

mmm.. nice design, I must say..