"No one is harder on a talented person than the person themselves" - Linda Wilkinson ; "Trust your guts and don't follow the herd" ; "Validate direction not destination" ;

January 07, 2015

QA Tools (Eliminate Repetitive Efforts)

Very Interesting post Reusable Software? Just Don't Write Generic Code

I echo similar thoughts on developing tools. I personally prefer smaller utilities / tools than a large consolidated Suite. This again depends on knowledge depth / design exposure. Some of Advantages of smaller components / utilities are
  • Working throw away solution solves current hunger while prioritizing on next set of applicable changes
  • Smaller components with dedicated code ownership would help in better maintenance, customization
  • Usually tools developed by one person ends up modified by someone else in team. The time to learn a complex solution which solves lot of use cases needs greater functional knowledge and time
When we develop / consolidate different framework we would end up implementing
  • Abstraction layers
  • Inheritance
Level / Depth of it depends on skillset, exposure. The intent of the post was to minimise efforts to maintain tools developed. Considering the team skills, functional knowledge, ownership aspects, maintainable tools would be a better option than developing a large suite over extended period of time

Interesting line reposted from the post

"Writing small components will give your software a high chance of survival: all individual components are easy to use and understand, and are usable on their own in various use cases"

Happy Learning!!!

No comments: