Product Development
As of late, many products are being developed in a SaaS (Software as a Service) Model. Iblesoft can help your business keep up with this trend by offering end-to-end product development services. However, we do more than just offer product development services. At Iblesoft we carefully outline service level agreement (SLAs) requirements and customize our maintenance process to meet unique client needs.
Each project is done with a strong methodology for application maintenance based on customized maintenance and support methods and our own proprietary Quality Management System (QMS), which is in line with ISO processes.
Aside from product development & meeting requirements we also offer software product vendors and offshore maintenance services so they can maintain their current products along with new application developments using flexible business models also provided by Iblesoft. This way they can manage the ramp-up and scale-down efforts that are typical of a product’s maintenance cycle. Overall, Iblesoft enables you to deliver global initiatives and drive future business growth all at a lower cost.
We consider these points for successful product development:
Market Analysis
Before we create any product we conduct a market analysis including: competitive analysis, business viability studies, cost benefit and ROI analysis and technical due diligence.Proof of Concept
It is better to do a proof of concept before we fully develop any product. This phase includes designing user interfaces, selecting technology, tools and feasibility testing.Choosing the Best Framework
It must be able to support our Agile process and go hand in hand with your product.Product Advancement
Easy migration, globalization, automated testing and performance tuning are some of the services offered as part of product advancement activities.Our Agile process will help us:
The transformation of a concept into a product goes through our well-defined development process aimed to deliver complete product life cycle solutions to our clients.
Our product life cycle is defined in six progressive stages:
Envision
Vision mapProduct features & goals
Risk management document
Issues & bugs control
Plan
Requirement definitionFunctional specification
Product release plan
Project schedule
Design
Detailed designDesign reviews
Test planning
Updated schedule
Develop
Features developmentConfiguration management
Testing code
Documentation
Test
Test scenariosBug fixing
Risk Management plan
User Acceptance test
Auto test scripts
Release
DocumentationRelease notes
User manuals
Product release (could be Beta release)
Whether your company possesses a legacy system or a “Black Box” (independently built system with no documentation) our staff can map your existing system and design product enhancements and maintenance plans around it. This prevents from having to “re-invent the wheel” as you can still use your existing technology in a safe and scalable environment.
For most product managers, the day their product is actually released into the market marks the end of the product development cycle. But the reality is this: this is only the beginning of a long maintenance and upgrade cycle!
In fact, the post development phase is the longest phase in the development process. Once a product is released into the market, managers need to begin thinking about how to incorporate the feedback they receive into the next version of the product, to improve usability, user-friendliness, features and overall value.
This is especially true for enterprise applications and products. It is highly recommended to make a significant investment to maintain multiple versions of an old code-base in order to support existing clients until they can be persuaded to migrate to newer versions of the product.
Software product maintenance activities can be broadly classified as:
Corrective Maintenance
Adaptive Maintenance
Perfective Maintenance
Preventive Maintenance
• Correct errors
• Correct requirements and design flaws
• Improve the design
• Make enhancements
• Interface with other systems
• Convert to use other hardware
• Migrate legacy systems
• Retire systems
• Maintain control over the system's day-to-day functions
• Maintain control over system modification
• Perfect existing acceptable functions
• Prevent system performance from degrading to unacceptable levels