“A Project is a solution to a Problem, Solving which you get a working Product” – Anonymous
Few moons ago, I was delivering a session and during which someone asked me – “What’s the difference between a Product and a Project?”
Easy to listen but hard to answer, isn’t it?
To be frank I had no clue how to explain the difference on the very moment so begged some time to do more research and get back on this; Now is the time to discuss the points I have learned from various sources and past experience:
Lets first go by one of the many definitions available here and there:
What is a Product?
Product is like ‘manufactured or ready to use’ which is developed by the company and sold to different consumers (or) setup as open source.If customer requires any amendments like color, title, theme changes and some extra functionality to be added, then customization is done to the product.
Purchasing a flat after construction is completed – In this case You can only do minor changes like paints and interiors.
Google products like Gmail, and Oracle products like Databases etc, Finacle by Infosys, Office 365 by Microsoft…
What is a Project:
Project is ‘taking wish from customer to build a solution’. The requirements are gathered from a particular client outside the company.
General e.g.: Purchasing a flat before construction. You can construct it as per your need and wish.
Industry e.g: Indian Railways Project by TCS (including Broadvision and CRIS), Crosscues Project by Navyug, etc.
Some difference b/w Product and Projects:
Now, Let’s understand the Difference b/w risks involved in Product and Project Development:
The risk involved in software or system, the possibility that software or system may fail to satisfy end user/consumers expectations is known as product risk. There may be the possibility that the software or system does not have the functionality specified by the customer or the stakeholders which leads to unsatisfactory software.
Low quality software can have many problems like functionality, reliability, usability or performance.
Examples of Product Risks are:
- Complex features affecting multiple areas of the existing product, like an upgrade/migration of the system.
- New Technologies used in the product; for example a new DB server, a new programming language, a new integration, etc.
- New Developers or Development Teams, who may lack experience and thus pose a higher risk to the existing product.
- Tight Schedules, that make people work in a rush and commit more mistakes.
Risks associated with the testing activity which can endanger the test project cycle is known as project risk. In order to deal with project risks we need to apply concepts like identifying, prioritizing and managing the project risks.
Examples of Project risks are:
- Delay in the test build to test team.
- Unavailability of test environment.
- Delay in fixing test environment due to lack of system admin.
- Delay in fixing defects by development team.
- Organizational problems which can be like shortage of staff. Required skills etc.
- Major changes in the SRS which invalidates the test cases and requires changes in the test case.
As testers one of our tasks is to manage Product Risks. We are paid (at least in part) to be aware of all Product Risks, to make sure the rest of the project team is also aware of them, and to coordinate this information with Project Management to make sure our schedules are taking these risks into account. In addition, we are expected to plan our testing strategy based on these risk, scheduling more tests (and earlier tests) on areas with higher risks in order to find these issues faster.
Most of the task related to Risk Management are not complex but they require good understanding of the project and product as well as the strict discipline required to keep following and managing these risks throughout the whole lifecycle of the project.
In Terms of Development process, there is not much difference in them, Dev Team and QA Team should consider them equally because both product and projects are for customers and responsible for generating the revenue to the firm. I would rather say – they have more similarities than differences.
Please comment if there are any difference of opinions or info I have missed out…
By – Vishal Singh, Software QA Lead