The need for data-driven product development Product development has many nuances and dependencies. Every product development cycle or SDLC imagined or put forth is found to be inadequate. Every proposed solution falls into one of the many traps present and has proved to be ineffective in one or the other phase of the product’s life. … Continue reading
A sustainable business is one in which the business can make revenue to fund itself, at the minimum its operating costs in the short run and in the long run make profits to expand the business reach. Where there is continuous inflow of VC funding to even operate a business, the business is just churning. … Continue reading
Based on which side of maturity timeline the market is in, either technology drives business or business drives technology. In an immature market such as the IoT market, technology typically drives business. Such a market is a pioneer’s market. Here IoT product businesses are trying to convince the customers that there is an advantage to … Continue reading
The entry barrier for new products is very high in the current market. This has less to do with new ideas and more to do with the number of underlying features that need to be present in the product before adding a new features to the product. For eg., a warehouse product needs to have … Continue reading
SDLC or the software development life cycle is the different phases that is present in the development an entire application (any type, web, server, mobile) from requirements to release and continues further into a continuous maintenance phase. Many SDLC processes exists such as the waterfall, iterative, spiral, agile, lean, dev ops and so on methodologies. … Continue reading
A multi-tenant application is an application where a single running instance serves many customers. An alternative to multi-tenancy is managed services, where one running instance is set up for each customer. The table below shows a comparison between the two approaches. Feature Multi-Tenant Application Managed Services Cost Structure Supports usage based pricing as well as … Continue reading
SaaS is the cutting edge technology in the current product landscape. With an increase in the adoption of SaaS products by enterprises, more and more ISVs are trying the SaaS delivery channel. But, delivering a SaaS product cannot be considered as just a rebranding exercise of existing products. Products mostly have been architected, written, refined … Continue reading
We recently ran into the “java.lang.OutOfMemory: PermGen space” issue. The experience has been a real eye opener. In SMART we use Classloader isolation to isolate multiple tenants. We started testing it in beta a few weeks back and found that every 2 days our server went down giving OutOfMemory: PermGen space. We had 6 tenants … Continue reading
Queues are FIFO data structures that hold elements in the order they are received for processing. There are typically two ways in which queues can be processed. One method is by polling and the second method is by blocking. In polling, the queue is polled frequently for messages till one is got, while in the … Continue reading
As everyone knows, threadpools allow us to schedule work on a set of threads which execute the work as and when a thread becomes available for processing the work. This is used for asynchronous processing. But what if the work has to do asynchronous operations? Is it wise to tie up the thread and put … Continue reading