The ouroboros is a mythical serpent shaped into a circle, clinging to and devouring its tail in an endless cycle of self-destruction, self-creation, and self-renewal. Becoming a good designer of software sometimes feels like that. Cultivating and refining personal design heuristics is one way we become better software designers. Whether we’re aware of it or not, we each use heuristics that we have acquired through reading, practice, and experience.
Rebecca Wirfs-Brock explores how you can grow as a designer by becoming conscious of your heuristics. What are your go-to heuristics? How well have they worked? Do your successes or failures lead you look to discover new heuristics? While you may read others’ design advice—be it patterns or stack overflow replies, the heuristics you personally discover on your own design journey are likely to be the most important.
Rebecca Wirfs-Brock is the president of Wirfs-Brock Associates and an object design pioneer who invented the set of design practices known as responsibility-driven design (RDD)—and by accident started the x-driven design meme. Along the way, she authored two popular object-design books that are still in print and was the design columnist for IEEE Software. You can find her design columns, papers, and writing on her website. In her work, Rebecca helps teams hone their design and architecture skills, manage and reduce technical debt, refactor their code, and address architecture risks. She’s the program director of the Agile Alliance’s Experience Report Initiative and furthers her interest in software patterns by serving on the board of the Hillside Group and writing essays about the relationship between patterns and heuristics, patterns about how to create and manage magic backlogs, sustainable architecture, agile QA, and adaptive systems architectures.
©2019, O'Reilly Media, Inc. • (800) 889-8969 or (707) 827-7019 • Monday-Friday 7:30am-5pm PT • All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners. • email@example.com