A journey to find those pieces of software or technology that facilitate productive and maintainable software development