Applying reverse engineering principles, assumptions could actually be used to identify ways to improve and evolve solutions/software thereby improving business value. Personally I have immensely benefited from this activity and have come up with innovative thoughts to improve solution or identify gaps in the solution.
I prefer to manage assumptions by using a simple structure, defined below:
- Actively managed - These are the assumptions that carry a high risk and could change very quickly
- High Impact
- Medium/Low Impact
- Others – Though these do not pose high risk to impact the solution. However these provide a way to capture the boundary conditions for the product/software.
Google Glass - Take a moment....What, in your opinion, are the top assumptions in the Google Glass project? In my opinion those would be,
- Wi-Fi connectivity is available
- People not having a perfect (say 20/20 or 6/6) vision cannot obtain optimal use out of it
- Applications built for this product shall differentiate between a proper eye-gesture and natural blinking!
- The glass device shall not obstruct natural viewing.
Simple analysis of these assumptions
- Assumption 1 has tremendous impact on the software that shall be built for Google Glass device. Unlike tablets or smart phones, Glass is a device that requires real-time data (restaurant reviews, monument details etc) for best usage.
- Assumption 2 captures a basic usability requirement that is just not a part of the current version of the product (let me know if it is!).
- Assumption 3 addresses a very important characteristic of the applications built to cater to the Glass device. If we cannot differentiate between the natural blinking of eyes and a specific gesture, the results of using the device could range from being bad to disastrous.
- Assumption 4 captures a basic usability requirement!
Please share your views on how identifying assumptions helped in analysis of a problem.
Don't forget to leave your comments below.