When Sales and Design Collide
Software Design is a funny thing - it's where developers want to spend the majority of their time to make sure they "get it right" while in contrast it is where the other Sales want the least amount of time to be spent (or in all fairness where they want this phase to accelerate past Mach 5). I have seen these holy wars break out in boardrooms (and yes I've been apart of them) but at the end of the day if you look closely both sides are trying to mitigate the same thing... the unknown.
In most cases I have seen the conversation (or been part of) go something like this;
Random Sales Dude (RSD): Why is the design taking so long?
Random Dev Dude (RDD): I don't understand all the variants of the problem. I'm going to need to build some of this to see how things really come together.
RSD: FANTASTIC! A product demo, that's just what we need, alright when can I show someone.
RDD: Well... ummm... it's just plumbing work really, I was going to have a form with two buttons and just proof out the idea so I know which way to go.
RSD: No, No... I want to show this feature and that feature and one of these whirling things.
RDD: Well, that's going to take more time, to do it right I'm going to need to...
RSD: No, No... Don't worry about that we're just going to show it to the customer, just slap it together, if they are happy with it we'll go forward with it.
RDD: Um ok.
Fast Forward 2 Weeks later.
RSD: XYZ inc loved that demo you put together.
RDD: What demo? Oh you mean that hack I did... yeah that was pretty funny.
RSD: Let's put it in the next release... ASAP!
RDD: WTF?
I'm not saying all software design goes this, but I've seen this waaay too many times to be unfazed by the assurances of prototypes not going external, of external prototypes not being immediately productized and of going through the initial conversations with new junior developers that start off with - "yeah we had to get that in quickly so...".
Some people will immediately jump on this as our Developer should have pushed back on the prototype, done it perfectly right, as per his specs and damn the torpedoes and Sales requests. This is not the answer. Developers need Sales like plants need water - no sales, no fancy new coding that combines HTML5, Azure, Lync and Dropbox into 1 whizbang application. Shutting down, becoming a Silo will never win the day.
No, in this case RDD really has 1 option, he has to accept that Sales needs something. He has to accept that time is finite. And he has to learn how to communicate with the Sales.
RSD: Why is the design taking so long?
RDD: I'm trying to understand what we are trying to do here. Maybe if we could have a call with some of our customers and walk through what we're thinking?
RSD: Yeah sure, I know some guys we'll set it up.
After the Customer meeting.
RSD: So I talked with the customer again and they are really pumped about the new features and are wondering when they can see something. They're eager to start using it.
RDD: Well based on everything we went over its going to take X amount of time to have something tangible and stable to show them.
RSD: Alright man, I'll leave you to it, this looks like we're headed in the right direction.
In general the conversation was a lot shorter (and it might actually have been longer with some more give and take), but the point here is the developer turned it around to the sales guy. Let's meet with the customer and talk to them about this. It is so early in the game, the Sales guy knows he has nothing to show so yeah all we can do is have a call. And at the end of it all the developer gave the Sales guy something which he so desperately needs - a possible lead, a possible upgrade, an increased warranty renewal - something that removed the unknown worry that was in their mind, increased the pipeline and could lead to some more sales. Now they have some assurance that the feature will be well-received, they have a potential lead and the light at the end of the release looks a whole lot brighter. You on the other hand, have just bought yourself some time to get buy-in from Sales to figure out the rest of your dilemmas and do the product right, without working on prototypes (maybe you will, but they will be evolutionary) and customer support nightmarish hacks that might make it into your suite.
Developers are always concerned with the design of the product, Sales are always worried about the conversion of that design into features which earn sales. Both sides are trying to eliminate the unknown to make their jobs a little bit easier.