The “Build Fast, Fail Often” Mantra Of Product Startups

“Failure is simply the opportunity to begin again, this time more intelligently.”-Henry Ford

Today if you have a strong and viable idea then converting that idea into a product that addresses a viable business opportunity is relatively easy. With crowdfunding and angel investment booming, securing the finances to get rolling has also become easier than it used to be. But this is just the first step in the startup journey. Entrepreneurs realize that business is risky in general. However, they are fueled by the innate belief that their skills will win out in the end. This somewhat unreasonable level of optimism and confidence is essential for an entrepreneur. But are these ingredients enough to ensure the long-term success of a startup? The truth is that it is equally important to build a product that is ready for success. And it is also true that sometimes getting the product right may take a few extra tries than you may have thought necessary when you started.

The “Build Fast, Fail Often” Mantra Of Product Startups

The Lean Start Up methodology, as outlined by Eric Ries is a great way for product startups to ensure that their product is ready for the market -eventually. Ries propounds that today, the possibility is very slim that a company can’t build what it initially thought it would because of technology constraints. It is the market risk that will be the main concern. Product startups often conceptualize, design, and build a product before assessing its impact and reaction from the market. This ends up taking time, effort, scarce engineering resources, and yes, money. And if the product fails to make an impact in the market then it’s back to the drawing board carrying all that baggage. But what if you could assess the reaction to your product in advance? What if you knew how the market would respond to it? Reis states that it is better to build a product like a series of experiments and deconstruct the high-risk bets into several low stake gambles. Enter the “Build fast, fail often” mantra.

The “Build fast, fail often” mantra works for software product startups in today’s hyper-competitive market because it helps in making software product development more malleable. Instead of focusing on building a final product, the startup then focuses on building a Minimum Viable Product that demonstrates the promise of the capabilities of the product being built. This malleability lends itself to developing faster prototypes more often to keep testing if the big idea is big enough.

The fact is that almost nine out of ten startups fail. Among the top reasons for this is misunderstanding the market need for the product. Clearly, if you’re going to be making a product, it makes sense to understand if the market needs it. Steve Jobs famously said, “A lot of times, people don’t know what they want until you show it to them.” The mobile phone was dismissed as a novelty at one time. Today it has become an extension of our lives. But at the same time, for every $19 billion company like Uber, there are countless products being built that just don’t seem to catch on. It’s a fact that developing a physical, nuts and bolts product can prove harder to rush into the market with a limited feature MVP – you can’t market test just the engine of that new driverless car, now can you? Software product startups have a bit of an advantage that they must cash in on. It’s relatively much easier for a software product startup to create a workable prototype–a basic product that lends itself to continuous improvement based on market feedback.

This has become easier to execute owing to a transformation in development methodologies. The old and monolithic waterfall software development method has been replaced by agile development. Now DevOps is also fast gaining ground. Software product development is becoming iterative almost by default. With rapid prototyping, startups can follow the ideate, prototype, test, analyze, refine, and release format in the development cycle quite organically. The software product development automatically becomes an iterative process built on the philosophy that failure must be expected and then embraced.

With the “Build fast, fail often” mantra comes a greater pressure to do it right. This may call for a change of working style for the startup –the creation of an agile startup. Startups need to be clear how they are going to analyze and process feedback, gain a deep understanding of technical requirements and specifications, understand design and system limitations, and then test the product viability again. The basic idea is to convert an idea into a product and get it out into the market fast. See what works and what doesn’t and then come back with version 2.0 with a bang and then rinse and repeat till it’s just right.

Please follow and like us:
0

5 Technologies That Technology Driven Startups Must Adopt Today.

As the dominance of technology increases, almost every day we are bombarded with the next ‘it’ technology that is designed to be the cure of all ills. In such an environment, technology-driven startups can find themselves lost in a maze of options. After all, making the right technology decision and leveraging the right technology can play a huge role in their success. As startups come under pressure to deliver faster and deliver better and create applications in extremely stringent timelines, here’s a look at five impactful technologies that tech-driven startups can adopt to be successful.

Cloud:

The cloud has evolved to be one of the most disruptive technologies of our times. It can be considered a big contributor to the high-speed growth of technology-driven organizations. Large organizations such as Airbnb, Pinterest, Dropbox etc. have been hugely successful owing to cloud technology. With the cloud, startups can store and manage large volumes of data easily and in a cost-effective manner since the cloud does not make any heavy infrastructure demands. It becomes a great option as seasonal spikes, scaling and hosting woes are laid to rest with it. Cloud has almost become the poster child of the ‘lean development’ movement as it has low fixed and variable costs and the capacity to scale as per business demands.

Software development in the cloud is also becoming quite popular in the development circuit. It enables real-time collaboration even in a distributed environment, assists in putting testing at the heart of software development, increases the speed of development, and aids capacity planning, updates, and releases easily.

JavaScript:

As front-end development gains popularity in the world of application development, JavaScript is one technology that technology-driven startups must look at. JavaScript assists front-end developers build fluid interactions using effectively designed code structures even in applications that have complex code structures. It helps developers manage concurrent operations with ease, enables faster programming using a host of frameworks such as jQuery, AngularJS, Backbone.js, ReactJS, or Bootstrap. This helps in streaming complicated commands by making them simpler. It provides cross-browser support – a must for all applications in today’s digital economy. It also provides a wealth of frameworks with predefined functions that makes adding functionalities easier and less time-consuming. JavaScript frameworks such as ReactJS, Angular.js make responsive design a piece of cake as well. Finally, JavaScript allows rendering of pages both on the client and the server side which helps in application maintainability, greater search engine optimization, and better application performance.

Ruby on Rails:

Ruby on Rails is an object-oriented full-stack web application framework. This framework allows organizations to develop easily maintainable, high-quality products. It can work on multiple platforms and allows organizations to come up with prototypes faster and helps in building ‘cool applications’ in a much shorter time frame. It aids the theory of ‘fail fast’ which can be of great help for startups to chart the future course of their product offering. RoR is a powerful language that has great security features and a flexible syntax debugger. RoR is a good choice for websites that need high scalability, enterprise applications and for software projects that demand faster development.

Angular JS:

An open-source framework, Angular JS has emerged as a great choice for developing responsive mobile web applications. It is an open source, JavaScript MVC framework. It helps developers make feature-rich and responsive applications suitable for both mobile and web applications leveraging the same codebase. Applications built using Angular JS are highly scalable and allow for easy implementation of upgrades, patches, and bug-fixes. Its object-oriented design principles make the case for easy maintainability.

Angular JS provides some great mobile components. Developers get the capability to create rich user interfaces on mobile environments to provide a smooth mobile experience. Since Angular JS uses reusable logic, it allows developers reuse web application logic on multiple devices across multiple platforms without compromising on the UI. Its declarative paradigm for creating patterns, the capability to load pages asynchronously, and use of lightweight code, assists in enhancing application performance. It also helps developers optimize application security features and hence becomes a great choice for enterprise applications. The icing on the cake is that Angular JS has an active community support, has a testing focus, and is easy to get started with.

NodeJS:

Over the past few years, NodeJS has firmly established its credibility as a reliable technology choice. The core functionality of Node JS is written in JavaScript which makes it a great choice for developing real-time applications. Since it uses the same language for both the front-end and back-end it increases the efficiency of the development process. Scaling of Node.js applications is also easier as it uses clusters for ensuring scalability, provides an inbuilt support for package management, is publicly available and also provides dependency and version management.

Node.js applications are also stronger and more resilient since they are made of smaller and reusable components. This also makes adding functionalities easier. Further, Node.js applications are designed to handle large traffic volumes and allow for actual data streaming. Node.js provides real-time collaboration tools and gives organizations the option to use it as a proxy server along with being easy to learn and highly secure.

Conclusion:

Choosing the right technologies can help technology-driven startups create high-value and successful software products. Startups can ensure that budgets are checked, timelines are met, and that work flows smoothly. Leveraging technology that is mature and is built to last makes development faster and efficient. Assessing the maintenance needs of the technology, compatibility, and security levels are a few things to consider for while making a technology choice. At the end of the day, technology-driven startups have to ensure that their technology choices pave the way for their growth story. Are you ready?

Please follow and like us:
0

Why I Believe Giving Our Services Away To Startups Is A Good Idea?

“Pricing is not a math problem. It’s a judgment problem.” – Michael Dearing
Professor Stanford University Design School

Let me first hastily clarify that this piece is not about some going-out-of-business type of scheme to work for free for startups. This is about what we hope is an innovative way for startups to get a sense of whether their idea is workable or not, without having to cough up scarce big bucks. We have rolled out a free pilot (write back to me if you want more details) option for startups and I wanted to take this opportunity to try to explain just what motivated us to do that.

A few years ago, I had read a fascinating article, “Free! Why $0.00 is the future of business.” The article talked about the genesis of the “free” model with Gillette’s “Cheap razor, expensive refills” and then of how the internet had changed business models dramatically with the so-called “Freemium” approach. Much of what has been said applies more to products than services, but in our day and age when enterprises are being transformed digitally, I believe it’s time for services to catch up here.

Over the years Thinksys has worked with a bunch of startups. I also have the personal pleasure of being a part of the Plug and Play TechCenter in the Silicon Valley, probably the world’s largest startup accelerator. Several interactions have convinced me of some startup truths.

  1. Startups are a great segment to target
    The teams may be small to start with but the work is usually cutting-edge and always exciting. That, and the decisions are made quickly and transparently.
  2. They are looking for long term partners
    Assuming everything else works out, chances are the relationship will be a long one with guaranteed mutual benefit.
  3. They seek value
    It’s a bit of a myth that startups don’t have money. It’s true that resources are scarce but they are willing to spend the right amount of money if they believe they can get value
  4. Their timelines are short
    Lean startup, MVP, Agile approach – startups love all of these for the same reason – the accelerated pace of development. 2 weeks is a lifetime and 2 Quarters almost too long a timeframe to worry about.

Knowing this we set out to try and address a major pain point for startups in a manner that would work for them. Many startups, especially at an early stage, desperately seek validation of their idea. They want the opportunity to convert that product idea into a workable prototype that shows them what works and what doesn’t. In our software world, the challenge for them is that they may not have access to the technology skills needed to make that happen fast enough. They may not know what technology to choose, what architecture to put in place to adequately test their assumptions, and they almost certainly will not have the tech resources to put on the job to translate the idea into a working software product. Some startups, especially on the US West Coast, may have the benefit of tech co-founders but turning to them is also not a scalable solution. Hiring people is not easy, carries a lot of risk, and can take time. Under the circumstances, they could turn to an outsourced partner – indeed we have made the case that they should. This does not address one core issue though – that of cost.

It’s to address that worry that we decided that we would offer startups a free pilot. In our mind, this is a quick and dirty 2-week sprint. The idea is to take a reasonably clearly defined product idea and roll out as much prototype as is practically possible. Based on past experience, we believe that it’s possible to cover a fair amount of ground when working in an Agile fashion even over 2 weeks. Well, definitely enough for the startup to get a reasonable sense of what should come next. As an added benefit the startup can get a sense of our capabilities and how to draw maximum benefit out of a relationship with us. That said, I don’t want to position this as a “try before you buy” kind of deal – the idea is for the startup to come out the Pilot having made some definite progress. Something that helps them take the next steps forward – with us if it works for them.

It’s been said that the key to success of a business model with a “Free” element at its heart is to ensure that the customer really values the service you are offering, even if it is free. The other, equally important, facet is to ensure that at the end of the “free” service the customer is super-satisfied. Only then will he (or indeed she) feel the need to either carry on or to tell others about the value they received. We hope to be able to deliver that experience – now it’s over to the startups.

(If you want more information then ping us at [email protected], or head on over to our Contact Page.

Please follow and like us:
0

What should startups look for while choosing their technology stack?

Look at any business today and you will find a compelling dependence on technology. Today, technology also forms the core of any successful startup. When it comes to startups, it has sometimes been seen that while entrepreneurs focus on building the front end of their business, the job of choosing the right product technology stack features low on the priority list…almost as an afterthought.

The right choice of technology stack for product development contributes greatly to the efficiency and smooth running of a start-up. Ensuring that the right technologies are being leveraged ensures that you release on time. At the same time, given the overwhelming number of technology options, this can be a tough decision to make as well.

Many non-technical founders tend to depend on developer opinion when choosing a technology stack. This sometimes can backfire as developers can be biased towards particular technologies depending on their proficiency and comfort level. They also might assess the technology based on its technical merits rather than on the business requirements. Technology options need to be evaluated more objectively and here we take a look at some business considerations that need to be made before choosing a technology stack for building the product that will define your startup.

Usability

One of the primary considerations before making a technology selection is to first identify how and for what the technology will be used. The usage aspect heavily influences a technology decision as a technology that works perfectly for developing an eCommerce website might not necessarily be best suited for an enterprise mobile application. ‘Purpose’, thus, ranks the highest when selecting a technology. The technology stack has to be such that it fulfills the requirement demands and helps in establishing the business.

UI and UX Focus

The consumer of today goes by the principle of ‘don’t make me think’. Having high-end user experiences thus becomes of paramount importance. Simple, intuitive and intelligent user interfaces that facilitate a seamless user experience are a must. Technology choices have to be made such that they act as enablers of usability and allow the application users to be consistently productive in their work.

Talent Availability
You might want to choose the next hot technology on the block but if you cannot find the talent to work with this technology then all you’ll be stuck! This, for startups, can be a big financial drain. For example, finding developer talent to create a chat server with Erlang may prove harder than finding developers proficient in Java, Ruby or Python. Leveraging mainstream technologies that are open source and opting for a development methodology such as Agile or DevOps with a heavy testing focus is a good idea. This will give your startup the advantage of getting to market faster, rapidly shipping code and getting the desired features to the users at the earliest.

Technology Maturity
Startups need to look at the maturity of the technology before selecting a particular technology to ensure that the technology is built to last. Programming languages such as Ruby are relatively recent but have gone through several iterations and has now achieved language maturity. Mature technologies also give startups the benefit of a mature tools ecosystem that allows bug tracking, code analysis, facilitate continuous development and continuous integration etc. all of which make development faster and easier.

When looking at technology maturity, it is also essential to assess how easily you can build and share solutions built on the technology stack. Leveraging a technology that has great third party packages or ready to use, community generated code or a complete suite of easy to use and build solutions, or automated testing capabilities helps in not only attracting more developers but also helps in making development quicker and convenient.

Technology Dependencies

All it takes is one weak link to bring down a large fortress. Take the case of the Heartbleed bug which was caused because of the OpenSSL component in the library. When this bug was introduced, every technology that leveraged this widely used cryptographic library was affected. This just goes to show that when making a technology choice you have to ensure that the primary and secondary technologies are robust and secure and that their dependencies can be managed easily. So if for example, you are looking at Ruby on Rails, you should know that Rails (the Framework) is the secondary technology since it relies on Ruby (the primary technology) and that Ruby will also have its own set of dependencies. To leverage the two well you need to know the risks of both.

Scalability and Accessibility
Technology choices should support the demands of a growing business. The technology that a startup chooses thus has to allow for adding more users over time, add new functionalities or services, allow iterations, and enable integration with higher technologies. These days, looking at technologies that support a Service Oriented Architecture or SOA, gives more scope for extensibility to a startup by accommodating changes and iterations according to the needs or the market or product evolution demands.
Along with this, startups also have to ensure that the technology choice that they make allows for greater accessibility and security to allow business users access the product or service anytime anywhere.

Community Support
Community support might not rank highly in the startup technology choices priority list, but it probably should. Why? Simply because, as a startup, you can do with all the help that you can get. Along with this, a strong developer network and back-end support emerge as crucial resources when you are exploring the technology to either solve a problem or add new functionalities.

When evaluating technology options, startups also need to consider the maintenance needs of the technology, its compatibility capabilities, and security levels. Choosing the right technology is an imperative for the success of any startup. Startup entrepreneurs thus need to tick the right boxes when it comes to making the technology choice if they want to enable their startup to maximize their chances of success.

Please follow and like us:
0

Strategies for Testing a Minimal Viable Product

Strategies for Testing a Minimal Viable Product

Creating a Minimal Viable Product gives entrepreneurs the opportunity to test a product idea and assess the validity or invalidity of their business plan. The heart of the Lean Startup methodology, an MVP, is little more than a rough draft, an outline sketch of a product. However, an MVP, is, under no circumstances a half-baked product. It is instead a process through which entrepreneurs assess what their customers actually demand in their product versus what they feel that the product should do. Developing an MVP is about answering some rudimentary questions that stem from theoretical inquiry of “Should this product be built?” or “Can we build a sustainable business around this set of products and services?” and goes on to developing the ‘build-measure-learn’ feedback loop that tests the assumptions regarding the product by putting the rough draft in front of the users. A great number of start-ups favor the MVP approach to software development as they can communicate their product to their target audience, gather feedback fast and iterate the product according to that feedback.

Considering that the focus and aim of a Minimum Viable Product is to remain, well, ‘minimum’, sometimes companies developing such products are unlikely to give too much emphasis to testing. Since MVP’s have a limited objective performing elaborate tests on them seems like a waste of time and resources. However, at the same time, we need to note that in order to gain the validation of the customer the product has to pass from one test level to another. Thus, having a test plan for an MVP too is important.

A basic test plan could comprise both automated and manual tests. We have written in the past, how considering the fact that MVP development does not lend itself to long-term planning, dedicating time and resources to develop a strong test automation strategy seems like a waste. Given that the aim of the MVP is to build the leanest possible feature set to address the core demand of the final product that meets the user criteria the final product might turn out to be quite different from what was initially envisioned. The automated tests that were developed as a part of the test suite thus might be rendered completely useless in the event of these product iterations. So what should an MVP test strategy contain?

Writing elaborate Unit Tests for an MVP may not be required. Since the MVP is open to frequent iterations, validating that each unit of the software designed performs as it should and build the confidence in the written code is not required. However, we also cannot entirely dismiss unit testing for MVP. Running a few Unit Tests once iterations have been made to the code to see if there are some defects that emerge in product functionality and usability owing to the change in code works in favor of the product.

Along with this, it makes sense to conduct some middle-tier tests to ensure that the data is being delivered to the other tiers in the desired format. Since it is not essential to test individual components when developing an MVP, testing the module as a whole to verify the expected outlook and check the usability of the product makes better sense. A quick round of integration testing to verify and validate the end to end functionality of the connected components also helps in delivering a sound, yet basic MVP.

UI testing perhaps is the most important test for an MVP. Since UI tests check how the application works with the user and assesses if all the functionalities of the product are understandable and easy to use. It also assesses if the user can navigate seamlessly through the product without stumbling upon bugs etc. and assess the possibility of errors on various interactions that occur during the product use. Considering that the average user is more concerned about the usability of the product more than its underlying structure, UI testing of MVP becomes all the more important.

Both the developer and the user know that the MVP is a version that has been put out solely for the purpose of market validation. At the same time, you need to put out a relatively ‘sound’ product in front of your target audience to get the feedback that holds value which will eventually lead to the development of an elaborate and dependable product. To make sure that this happens, startups, entrepreneurs and other organizations looking to develop MVP’s have to put some amount of focus on testing. Taking a more global approach to testing and allocating a designated time to do so will only help in developing a product in alignment with the initial vision that might be minimum, but in no way will it be poor.

Please follow and like us:
0