Software solution vs Product
People usually talks about how solution is different than product, but nobody tries to go into the depth. Everybody think that these are some jargons used by IT companies to increase their sale. If you look at any IT company’s website, you will find two different tabs stating Solution and Product. But if we try to think over it again product is really a tool to achieve the solution for a given problem, then why are they so distinguished?
We may find many differences between solution and product if try to google.com, but from SDLC point of view, I see following areas mainly matters
- Requirement gathering -
- Product requirements are much easier to capture than solution requirement, as it different from business to business even though the domain remains same.
- You need specialized business analysts as compared to product requirement, which most of the time technical analysts can do.
- Requirement capturing is much time consuming process as processes needs to be defined regarding how to use the tools that you are trying to introduce as part of business.
- Estimation
- Standard estimation techniques that needs the knowledge of UI, screens, objects, functions etc can be hardly used. The requirements may lead you to the level of complexity that might need multiple screens to achieve same objectives or same screen to achieve multiple objectives.
- Defining UAT is much difficult and more customer centric as customer will get better realization of his business process and start demanding when you think all your tools are well set. Lots of PMs Start getting into debate of Change Request with customers in such situation and end up with hot arguments.
- Design
- It is difficult to capture the extensibility requirements and keeping your solution generic enough as you are designing your solution for the specific objectives. In such situation, mostly the solution's core is only generic and later part is more focused on the given business problem.
- Restricting the non-functional requirements is a real challenge and so wide range of user environments drives your non-functional requirements.
- Development
- Needs to be truly agile and regular demos with customer. The customer keep realizing about his changing needs once he look at the solution. But maintaining the frequency of demos is equally important so as to control the incoming suggestions and requests for the success of overall solution.
- Unfortunately most of the solutions need team of senior people for quick and better understanding as compared to other software product that can be task driven in nature.
- Release
- Release does not end with packaging, the solution needs to be setup and user should be able to use it for a while before confirming that solution is good or bad and can be used smoothly.
- Unless the customer has technical support staff, such successfully executed projects ends into more of continuous support work.
- Solution does not limit itself to what you are delivering but also includes the other external system integrations, compatibility and acceptability by given ecosystem.
- Training
- Product training can be designed easily but solution training needs to be planned depending upon end users availability and acceptability. This is mostly train the trainer or placing a trainer within enterprise for longer duration so as to train the staff on a given solution.