Extreme Programming Installed

by Ron Jeffries, Ann Anderson, Chet HendricksonModesty limits what we can say here. Unquestionably, however, this is the finest book so far by these three authors. XP Installed addresses the practical issues of running an XP project. Highly recommended, of course.

Planning Extreme Programming

by Kent Beck, Martin FowlerKent and Martin focus here on the planning and management process of XP. Buy them all, own the complete set!.
ec0201616416_m.gif (18426                     bytes)

Extreme Programming Explained : Embrace Change

by Kent BeckThis is it! The first official XP book, Kent's own manifesto explaining the thought and history behind the XP discipline. The whole site's about XP, I needn't go on here. The site wouldn't exist, I wouldn't be doing this, were it not for Kent's "turning all the knobs up to ten" with XP.

Humane Interface, The: New Directions for Designing Interactive Systems

by Jef RaskinJef Raskin has written a wonderful and thought-provoking book on human factors. He starts with a clean slate and shows how products can be easier to learn and use.

Adaptive Software Development

by James A Highsmith IIIIs your project just too big or too complex for XP? Check out Jim's excellent book on how to bring lighter methods to large and complex projects.

Learning Python

by Mark Lutz and David AscherPython is an object-oriented scripting language with much of the flavor of Smalltalk. It is as powerful as Perl, but is readable and OO from the beginning. This is a good introduction to Python and will get you on the road.

Python Essential Reference

by David M. BeazleyBeazley does a good job of covering the built-in Python features, and the key modules you need to know about. The book doesn't cover everything you need, but it's pretty close.

XML By Example

by Benoit MarchalMarchal covers everything you ever needed to know about XML and XSL in one book - at least everything I needed to know. His native language isn't English - I'm guessing French - and a native English speaker as editor would have avoided some odd constructions. But you'll barely notice. Good stuff.
refactoring.gif (12971 bytes)

Refactoring: Improving the Design of Existing Code (The Addison-Wesley Object Technology Series)

by Martin FowlerRefactoring is a core element of Extreme Programming. Keeping your code clean at all times means that as you learn what you really need, the code will be ready to go that way. This book by Martin Fowler (author of Analysis Patterns and UML Distilled) is a wonderful introduction to the subject, and includes a catalog of over 70 refactorings, each one of which can make your program better. Highly Recommended!!
0201325632_m.gif (7565 bytes)

UML Distilled : Second Edition: A Brief Guide to the Standard Object Modeling Language

by Martin Fowler, Kendall ScottThis book will tell you everything you need to know about UML notation. It will enable to hold your own in UML sessions, against all but the best UML-slingers.
0684854090.l.gif (64718 bytes)

Zen Computer : Mindfulness and the Machine

by Philip Toshio SudoDelightful! Don't miss this one. Spiritual, not sappy, not religious. Zen Computer also asks you to physically acknowledge the machine. Before you start and after you finish working, make this one simple gesture toward your computer: give it a nod ... In Samurai thinking, when the sword is in the hands, it houses the soul.
0201633612_m.gif (6286 bytes)

Design Patterns : Elements of Reusable Object-Oriented Software

by Erich Gamma, Richard Helm, Ralph Johnson, John VlissidesThis is the famous "Gang of Four" book, covering over 20 of the key design patterns of object-oriented programming. Highly recommended.
0201184621_m.gif (7520 bytes)

The Design Patterns Smalltalk Companion (Software Patterns Series)

by Bobby Woolf, Kyle Brown, Sherman R. Alpert, Sherman AlpertThis is a companion book to the Gang of Four, showing how to implement the GoF patterns in Smalltalk. A good read, with very useful examples. Valuable on its own ... but you really should have both!
013476904x_m.gif (5230 bytes)

Smalltalk Best Practice Patterns

by Kent BeckThis is the book from which most of our coding patterns are taken. It describes clearly what good Smalltalk code is, and how to write it. Highly recommended.
0201895420_m.gif (8724 bytes)

Analysis Patterns : Reusable Object Models

by Martin FowlerThis is Martin's excellent book describing a large number of analysis patterns from business. Use this as a resource when you wonder how to represent the various business objects your users need. Do try to apply Martin's simpler examples first: don't assume you must go to the most complex model.
0201498340_m.gif (5413 bytes)

Surviving Object-Oriented Projects : A Manager's Guide (Addison-Wesley Object Technology Series)

by Alistair CockburnAlistair is another believer in small development processes. This new book is full of good advice on surviving your projects, based on Alistair's surveys of a large number of successful and unsuccessful OO projects.
1556159005_m.gif (6224 bytes)

Rapid Development : Taming Wild Software Schedules

by Steve McConnellThis is a big book, full of practices for software development. Very thought-provoking - but be sure you need all the mechanisms he recommends. It would be good to have everything here in your bag of tricks, but pull it out only when it's really needed!
1572316217_m.gif (13519 bytes)

Software Project Survival Guide

by Steve McConnellHere Steve is telling new leads everything he thinks they should know about surviving their first project lead situation. There's a lot of good material here, but be warned: Steve is getting into Big Methodology in this one.
1556154844_m.gif (5633 bytes)

Code Complete : A Practical Handbook of Software Construction

by Steve McConnellAnother big book, this one is for the C programmers, though many of the ideas transfer to other languages. An excellent book focusing on how to create good solid reliable code. I still look back at it from time to time, even though I hope never to write another C program as long as I live.
1556156502_m.gif (6857 bytes)

Debugging the Development Process : Practical Strategies for Staying Focused, Hitting Ship Dates, and Building Solid Teams

by Steve MaguireI really like this little book. It's divided into sections by project phases, and has short writeups on key topics. Good advice on spotting and dealing with trouble.
1556155514_m.gif (6451 bytes)

Writing Solid Code : Microsoft's Techniques for Developing Bug-Free C Programs

by Steve MaguireThis is another C-oriented book. I liked reading the stories of how they did it at Microsoft, since the 'softies have produced a lot of successful code in their attempts to rule the world. If you have to do C, check this one out.
qsm1.gif (11628                 bytes) qsm2.gif (11908                 bytes) qsm3.gif (14128                 bytes) qsm4.gif (13869 bytes)

Quality Software Management : Systems Thinking

by Gerald M. WeinbergI like Jerry Weinberg. He's a lunatic: I like that in a person. He writes from a technical and psychological perspective, describing how to think about what you do. Many of his books are out of print or hard to find. This series is one of my favorites. See also:

Quality Software Management : First-Order Measurement

by Gerald M. Weinberg

Quality Software Management : Congruent Action (Congruent Action, Vol 3)

by Gerald M. Weinberg

Quality Software Management : Anticipating Change (Vol 4)

by Gerald M. Weinberg