Recommended titles
|
|
The following is a short list of recommended books
for managers and developers. I've included direct links to Amazon if you are interested in purchasing any of these.
|
 |
Software Development Process
|
|
The Mythical Man-Month: Essays on Software Engineering by Fred Brooks is one of the early classics on software
engineering, discussing those qualities that determine project success or
failure. This is the source of the somewhat famous Brooks' law that
states the "adding resources to a late project will make it later." Brooks
goes on to discuss the human dynamics in projects and the classic mistakes
that project managers make. If you are, or plan to be, a project manager or
team lead, you have to read this book.
|
 |
Peopleware : Productive Projects and Teams
by Tom Demarco and Tim Lister, a good followup after reading Brooks, looks at human
and environmental factors and their impact on projects. They point out that
creation of software is a human-intensive activity, and that it only makes
sense to create an environment where your people can be most productive.
|
 |
Agile Software Development
by Alistair Cockburn is one of those books that comes along in a decade that
has far reaching impacts on software engineering. Agile software development
is a good "cookbook" for creating methodologies. As any methodologist knows,
there is no "one size fits all projects" methodologies. Cockburn examines the
attributes of a project (team size, team location, deadline, architecture,
organizational politics) and how they factor into customizing your methodology.
|
 |
Managing the Software Process
by Watts Humphreys is the seminal text on the Capability Maturity Model, a
formal measure of a software organizations ability to delivery quality
software on schedule and within budget. A must read for anyone whose
organization is using (or contemplating) this model, it is also recommended
for managers and others interested in process to understand those qualities
that separate the chaotic development process from a well-tuned, repeatable
development organization.
|
 |
Software Design
|
|
Design Patterns
by the "Gang of Four" (GOF) is another book that should be on every
developer's shelf. In writing software, we continually come up with similar
solutions when we coma across the same types of problems. The GOF have
formalized these as design patterns that are useful for solving various
types of problems. Design patterns have become even more prevalent since
this book was written (1994), and are increasingly a part of the
developer's language. There are other patterns books out there, but this
one you definitely got to have.
|
 |
Designing Enterprise Applications with the Java 2 Platform (Enterprise Edition)
is a good book by Sun J2EE architects that provides a set blueprints for
architecting a J2EE system. If you do J2EE, read this.
|
 |
Java Development
|
|
Java Tools for Extreme Programming:...
is a tutorial reference to the more popular XP programming tools: Ant, Junit,
Cactus, JMeter, and others. There are several books on all these tools, but
this on book covers most of the basics for those tools.
|
 |
| High-Performance Java Platform Computing
goes beyond simple thread programming to developing more formalized constructs
to safely and efficiently manage a multi-threaded environment. The book has
a liberal sampling of code (downloadable from the authors' site http://jhpc.org/). This book (and code) saved me
many times over on one project. |
 |
XML and Java: Developing Web....
A good introduction to XML programming with Java. I also recommend McLaughlin's
book (Java and XML), but read this one first if you haven't worked with XML
and Java. Many examples of where XML with Java is useful, plus useful
classes.
|
 |
| Java and XML (O'Reilly Java Tools)
by Brett McLaughlin and Mike Loukides is the O'Reilly book on Java/XML
programming. A good reference. |
 |
| Java and XSLT (O'Reilly Java)
covers XSL transforms, the preferred methods for converting XML to other
data formats, such as HTML, or to another XML document format. XSLT is very
powerful, but also complex. This book should help you get started. |
 |
Java Servlet Programming,
by Jason Hunter and William Crawford, is one of the better (if not best) books
on programming servlets. Jason is a recognized authority on servlets, having
a hand in their development (visit his page at
http://servlets.com/).
|
 |
Java Web Services
is a good overview of web services and the Java APIs for writing and calling
them.
|
 |