Friday, August 4, 2017

Learning an Application: Can you find clues within the application itself?

I recently changed jobs and landed myself in a totally new domain for me. I am spending most of my time learning about the domain and the products involved. There is little documentation about the product, the team is very busy with the day to day work and I am left alone to explore and learn about the product.
There are different styles of learning about an unknown entity and one of the approaches I am following is to interact with the product, create mind maps about the product's capabilities and see if I can make any sense out of the data. While I was playing with the product, I observed that there was a big difference in the number of options displayed since I used it the first time and now. So, I called up my friend who had experience with this product and asked what could be the reason. He told me that the options could have been hidden due to a configuration in the application.

Quite possible and then we went to the configuration screen and there were few roles already assigned to my user id. I spent few minutes checking out the different user roles and was amazed at the information the product was sharing with the user.

For example, consider Google Maps and imagine if it had user roles like
maps.add
maps.view
maps.delete
maps.update
directions.favorite
directions.satellite
directions.optimise
directions.reverse
directions.reset
and so on.

So, by looking at the roles I can infer that there is an option to even optimise the directions even without looking at the directions screen. Few questions I can think of by knowing this information:
- Have I tested this feature
- How is this feature dependent on other features
- Am I even aware of this feature

The answers will help me understand
- my test coverage
- my knowledge of the application
- the capability of the application (in terms of whether the feature is discoverable by the users or not)
- my model's strengths and weaknesses (or loopholes)

Have you encountered similar situations at work? What has been your experiences in learning a product of a new domain? Looking forward to your comments.

1 comments:

Edward said...

Very good experience, something similar happened to me when I was programming with Java.



_____________________________
Visit https://factored.ai/