Techniques for software craftsmen