How many of us are so eager to build a design rich, fully featured and highly scalable software product? Yes, we put in a lots of thought and effort to bring a software product to life. What happens after that?
It’s like a typical romantic fairy tale where the movie or tale ends in a successful marriage and no body cares what happens after that. Yes, Likewise how the actual problems/happiness begins after marriage, everything begins after a successful product launch. A successful product launch especially in software is like a grand wedding. How many teams are prepared to face the music after a launch?
Yes, Teams with clear thought and precision planning for maintaining a software/app are the ones who could give a successful product on a longer run. Right from logging error traces to automating test cases, there are so many areas where teams need to plan during the development phase rather than sweating it out after launching a product.
Team members should be mentored to think in terms of ESTABLISHING a product rather than LAUNCHING a product. Yes there is a big difference. Unfortunately today’s start ups are more focused on launching fancy products/features where they don’t find time or thought to establish the same.Yes many best practices of software development could definitely help maintain it in a better way, but teams should know the values of best practices and how they will help the product become an established one.
PROBLEM TRACEABILITY- No product is 100% when it is launched. So fixing, enhancing, improving, migrating becomes a mandate. Tracing a problem rightly is 80% fixing it and similarly planning an improvement/enhancement/migration properly is 80% achieving it. E.g. Keep as many algorithm/flowchart kind of documents, having right traces on the code.
COMPONENT REPEATABILITY- Repeatability is every product owner’s addictive expectation. With time crunch always around, it is the only way your software can reach high standards with minimal effort. E.g. Building libraries and custom SDK’s.
RESOURCE CONTINUITY- Planning and setting up resources both human and non-human is very tough but continuing with the same could be even tougher. Monitoring, Reporting, Versioning, Health and Performance Reviews are to be set in place. No matter what happens, any successful product should continue to run, run and still run without break. E.g. Placing fail-overs in code and infrastructure and in teams. PROCESS AUTOMATION- Automation is the only reason any product can grow exponentially, whether it could be process or operational activities, successful people always automate stuff they build and keep moving their focus on next items. E.g. Test case automation, Build and deployment automation etc. PERIODIC SCALABILITY- Scalability is definitely a FAQ in any software development, but teams should be aware of when to scale what. Time Period is important in defining scale. E.g. No point in buying high config servers in first month when the business growth is linear.
Hope this would be an interesting read for you. This is a series blog, Each of the above item would be discussed in detail in terms of tools, best practices, real time experiences on the same. Stay tuned…
Let us supercharge your business with bespoke solutions and products.
Leave a Reply