Allen Holub  Allen Holub is a computer scientist, author, educator, and consultant. He has written extensively on the C, C++, and Java programming languages, and on object-oriented programming in general. He also writes about and teaches agile development. He was a Contributing Editor for "Dr. Dobb's Journal" and "JavaWorld", a former columnist for "SD Times" ("Java Watch"), and has written the "OO Design Process" column for "IBM DeveloperWorks". He has also written for "Microsoft Systems Journal", "Programmers Journal", "BYTE Magazine", "Windows Tech Journal", "Mac Tech Journal", "C Gazette", and others. Holub is currently an agile process consultant, software architect, and trainer. For several years, he taught programming courses for the University of California Extensions in Berkeley and Santa Cruz. Holub currently conducts software design seminars and provides design consulting. His past and current clients include Autodesk, Microsoft, Stanford Linear Accelerator, Lawrence Berkeley Laboratory, Genentech, Fujitsu, Hewlett Packard, Novell, Perkin Elmer Applied Biosystems, Sybase, University of California, Pacific Bell, and PeopleSoft.