A contest for software developers

We recently organized a software development challenge to give newcomers an opportunity to market their application to an enterprise cloud platform. And we did this exactly when the “app” ecosystem buzzed with the fact that enterprise apps offer a greater payback than consumer ones.

Each and every software developer dreams of hitting it big with their great idea. Which is great and perfectly understandable once you get to really know the psychology of us, coding geeks. Instead of dismissing that, let’s harness the energy and help such wannabe entrepreneurs give their idea a shot.

So we did. The idea was simple: you bring the app, we bring the infrastructure and… more importantly… the “go to market”. Sales, channel, marketing, enterprise insight, support… all what a small dev shop does not have.

Oh boy… what a ride! Speaking at dev conferences, powering up the community to talk about it, raid the university campuses around the country, talking one-to-one with potential participants…. And the entries started to come. Some funny. Some serious. Some completely off-course. Some spot-on.

As this is now closed, I have a few suggestions to early software development entrepreneurs:

Do it.
If you have an idea you think it’s worth it. Just do it. There are probably at least other 1000 people like you in the world with the same idea. If you act on it, then you probably already surpassed most of them. That should encourage you enough. On another side… think why there aren’t so many “doing it”: because it’s easier to only think about it than to move a muscle.Don’t “gold polish”! Build an MVP as soon as possible.

If you are not embarrassed by the first version of your product, you’ve launched too latesaid Raid Hoffman and it’s close to perfect.

Find the buyer.
SomebIf you build it they will comeody needs to pay for what you do. Why should they pay? Is what you’re doing worth their money? In their opinion, not yours. This is where things go awkward: you love what you do… but can’t honestly find somebody to pay for it. You’re an artist 🙂 ! We’ve seen this in our competition a lot. The perfect example was for an app which aimed to teach you how to survive a disaster and the first thing it said was “Don’t panic”. Really. Hitchhikers aside, if I open an App after a disaster, then for sure I’m not panicking… am I?

The answers to “who can pay for it” questions are actually very hard to write down. But simple mathematics and a bit of honest estimations would be close to enough to justify a first commercial release. Or the project inclusion to “academic experiments” box.

Publish it.
No matter how marvelous the idea is, and how exceptionally beautiful is executed, if you can’t get it in front of the customer in a convincing manner, you would need a miracle to sell it. It might happen, but it’s much safer to actually work on that.

Well now, my fellow software developers, I know this sounds so “high level”, but it won’t hurt to spend some time on these topics, as high level as they are. If I did that many years ago then probably I would have many more successful products now. And if this would be taught in school, then I would have had many more great submissions in my competition.

How is this linked to Enterprise Content Management?

It is. ECM needs innovation and this can come only from new entrepreneurs. It’s one of the emerging technology area (just look at the sprawl of content producing devices, imagine the sheer volume of such “big content”) and it’s old enough to have a massive legacy waiting for disruption. I just don’t want to see many good ideas go nowhere because their owners didn’t seriously consider all the three pillars above.

Recognizing that you don’t master it all and partnering to see it through. Now that’s a good strategy!

Convincing a customer

Every once in a while I seem to get caught in a discussion with a customer / potential about what solution would be good for him. And sometimes we have different opinions.

Take this one, for example.

The customer wants a DMS platform, we analyzed and proposed EMC Documentum. The first business application he wants to deploy on this is an approval process for some forms. I can already hear everybody screaming: xCP!

Staring to read the RFP, from 30.000 feet it seems it’s a match for xCP, indeed. Digging into details… not anymore. You find features which are not possible in Forms Builder. You find features which are not possible in Process Engine. And you find that the approval process configuration is a matrix which in no way can be emulated or implemented reasonably enough with ootb stuff. One after another, this leads up to a significant custom development task. Development which sometimes will break the “rules of engagements” about TaskSpace (“you thou shall not code inside the UI, or else the wrath of the new version will come down to you in 6 to 12 months!”).

Add the fact that this will be used by top management and middle management only. And it’s business critical flow.

Hmm…..

Well, my money is on custom development. Build a specific frontend and use the platform underneath. Forget about TaskSpace.

What? And then where is xCP useful? How about the promised enabler for “business agility”?  It’s still there, it’s still ok. Just that it’s not the good answer to this business requirement. It simply isn’t. And as long the business requirements don’t change to take into account the technology.. there is not much we can do.

Of course it can be implemented in TaskSpace. But it will result in an ugly solution. Both to maintain and to use. It will not be something I’ll be proud of. Will I take the customer money if he orders me to do it in xCP? Yes, and I’ll do my best to give him the great solution he wishes. We will both learn something in the process, and I will even be happy if I learn I was wrong. But until now I was quite right on these things… as many seniors I tend to have a nose for them, not bragging.

Then why not Webtop, why go for the challenging custom development on UI?

Because doing the UI developments on top of Webtop will sooner or later require effort to port them to whatever new version of WDK or – more likely – new client technology EMC pushes forward. Imagine yourself changing the customizations you did on Webtop to CenterStage. A custom client will be more resilient on future changes. Build it on top of DFS and you have a really long term facing solution in front of you.

Now, let’s convince the customer. After he have seen a beautiful presentation of xCP and heard the market talk… how could you? “Trust me, I’ll be implementing this for you… I want the perfect thing for you… we’re in this together…”? Helps, but does not make it.

Show TaskSpace shortcomings at a technical level, related to the specific RFP details? Aren’t you shooting yourself (the vendor) in the foot? Well, with all the respect to the product, this needs to be done. But is it enough?

Incidentally enough, just before this customer I was in another one where I advocated the usage of TaskSpace. Why? Because is really good at what it does. But it does not do everything. And comparing with older BPM tools it still has some mountains to climb.

Custom developed UI is the answer sometimes (I reckon around 10% of ECM business applications). Because sometimes default clients simply can’t get it up.