On software design

From the OOPSLA Podcast page

Download this episode's MP3 file or subscribe to the set on iTunes

Object-Oriented Design techniques have gone from being at the center stage of OOPSLA and the programming community at large, to being somewhat dismissed during the peak days of the agile movement, to now again seeing something of a resurgence.

No one questions the general value of good software design, however, there are lots of debates over how much you should do, when you should do it, and certainly how to do and come up with good design. In many ways it reflects the fact that as a meta concept, design encompasses all aspects of what we do as software architects, engineers, and managers.

Good design requires insights into the domain in question, good knowledge of the target platform and language, careful selection of frameworks and associated supporting software, and the ability to communicate succinctly with your stake holders as well as capture and incorporate their requirements and feedback before the system is completed. This is true whether your philosophy is to do design as you go, none at all, or completely up front before one line of code is written.

Additionally, any prior experiences (yours, from books, colleagues, or consultants) can also help you in this quest for coming up with the best designs for the task in question. This can especially be true to help inform you on how and when to reuse well know patterns and approaches. And if you ever wanted one person to help you with your design issues, not only from a philosophical point of view but from a very pragmatic sense then it should be Rebecca Wirfs-Brock.

While Rebecca is well known for popularizing the CRC design technique and for being an authority on software design in general, what makes her unique may be her ability to communicate without bias the trade offs for your designs as well as her intuition in understanding how to help you improve. Her keynote this year will be on the design subject and promises to help us untangle the various x-driven designs movements that we are experiencing nowadays and help us conceptually as well as practically frame them so we can refer to them intelligently when the right situation arises.

< Back

Add a comment..


(Will be kept private)


rss feedLet Me Feed You..