Thursday, July 21, 2016

Successful Software Projects?

Reid Hoffman's opinion about early user testing is now taught in courses: “If you aren’t embarrassed by the first version of your product, you shipped too late.” This happens because nowadays prototypes are used for presenting brand new product ideas.

Prototypes are working drafts, similar to mockups used by architects. The look and feel of a software prototype is pretty much the same as of a software product, people can get their hands on it, although most of its functionalities are missing or being replaced by static content (input forms, reports etc).

Prototyping is not a new software development methodology, you can find 20-30 year old custom utilities started as throw-away prototypes and then kept in production forcibly by their fans, regardless of the costs implied by such decisions.

Unfortunately it happens frequently that the investors are behaving such like the above mentioned fans and they are pushing early prototypes in public zone instead of targeting a limited and knowledgeabale audience of alpha testers.

Once an early prototype gets to the free and highly competitive market, the feedback coming from informed users will certainly not be positive, even if the product idea itself would have been great.

The toolset used for preparing a prototype is also a key factor.
Currently there is a big number of scripts, libraries, frameworks and database engines, which are suitable for rapid prototyping and minimizing the costs for getting a prototype out of the door ("fail early and fail often" applied in the context of a product portfolio).

The problem with most such tools is that they might have serious limitations regarding aspects like scalability, employing cloud technologies, internationalization, extensibility or integration with other software.

In case a low-cost prototype gains popularity and investors, sooner or later the original code and tools have to be replaced, which usually implies changing teams, a decision which might be fatal for the future of a product.

After all, software are extension modules to hardware and due to the market pressure continuous change management is needed for keeping a software product attractive for users.

The key figure of successful software projects has always been a manager receiving sufficient respect, trust and funds for selecting the right resources for doing the right thing in the right time.

Personally I'm after engineer-led startups, a sane new trend.

No comments:

Post a Comment