--- layout: default title: My Books ---

My Books

I have both written books as the primary (or sole author) and contributed to several anthologies. I also editted the two No Fluff, Just Stuff Anthology books, as well as contributing to them. The books on this page are arranged chronologically, with the most recent at the top.


Presentation Patterns

Techniques for Crafting Better Presentations

Neal Ford, Matthew McCullough, Nathaniel Schutta

Paperback: 265 pages
Publisher: Addison-Wesley Professional; 1st edition (August 27, 2012)
ISBN-10: 0321820800
ISBN-13: 978-0321820808

Presentation Patterns is the first book on presentations that categorizes and organizes the building blocks (or patterns) that you’ll need to communicate effectively using presentation tools like Keynote and Powerpoint.

Patterns are like the lower-level steps found inside recipes; they are the techniques you must master to be considered a master chef or master presenter. You can use the patterns in this book to construct your own recipes for different contexts, such as business meetings, technical demonstrations, scientific expositions and keynotes, just to name a few.

Although there are no such things as antirecipes, this book shows you lots of antipatterns, things you should avoid doing in presentations. Modern presentation tools often encourage ineffective presentation techniques, but this book shows you how to avoid them.

Each pattern is introduced with a memorable name, a definition, and a brief explanation of motivation. Readers learn where the pattern applies, the consequences of applying it, and how to apply it. The authors also identify critical antipatterns: clichés, fallacies, and design mistakes that cause presentations to disappoint. These problems are easy to avoid—once you know how.

Presentation Patterns will help you:

  • Plan what you'll say, who you'll say it to, how long you'll talk, and where you'll present
  • Perfectly calibrate your presentation to your audience
  • Use the storyteller's “narrative arc” to full advantage
  • Strengthen your credibility—and avoid mistakes that hurt it
  • Hone your message before you ever touch presentation software
  • Incorporate visuals that support your message instead of hindering it
  • Create highly effective “infodecks” that work when you're not present
  • Construct slides that really communicate and avoid “Ant Fonts,” “Floodmarks,” “Alienating Artifacts,” and other errors
  • Master 13 powerful techniques for delivering your presentation with power, authority, and clarity

Whether you use this book as a handy reference or read it from start to finish, itwill be a revelation: an entirely new language for systematically planning, creating, and delivering more powerful presentations. You'll quickly find it indispensable—no matter what you're presenting, who your audiences are, or what you want them to do.


ThoughtWorks Anthology Volume 2

More Essays on Software and Technology

Compiled by Neal Ford

Edited by: Michael Swaine

Paperback: 250 pages
Publisher: Pragmatic Press; 1st edition (August 2012)
ISBN: 978-1-93778-500-0

When you hit a rough spot in software development, it's nice to know that someone has been there before. The domain experts at ThoughtWorks share what they've learned in this anthology, bringing together the best field-tested insights in IT and software development. You'll benefit from their experience in areas from testing to information visualization, from object oriented to functional programming, from incremental development to driving innovation in delivery. You'll find yourself referring to this collection of solved problems whenever you need an expert's insight.


97 Things Every Software Programmer Should Know: Collective Wisdom from the Experts

Compiled by Kevlin Henney

Paperback: 258 pages
Publisher: O'Reilly Media (February 2010)
ISBN: 978-0-596-80948-5

Tap into the wisdom of experts to learn what every programmer should know, no matter what language you use. With the 97 short and extremely useful tips for programmers in this book, you'll expand your skills by adopting new approaches to old problems, learning appropriate best practices, and honing your craft through sound advice.

With contributions from some of the most experienced and respected practitioners in the industry--including Michael Feathers, Pete Goodliffe, Diomidis Spinellis, Cay Horstmann, Verity Stob, and many more--this book contains practical knowledge and principles that you can apply to all kinds of projects.

A few of the 97 things you should know:

  • "Code in the Language of the Domain" by Dan North
  • "Write Tests for People" by Gerard Meszaros
  • "Convenience Is Not an -ility" by Gregor Hohpe
  • "Know Your IDE" by Heinz Kabutz
  • "A Message to the Future" by Linda Rising
  • "The Boy Scout Rule" by Robert C. Martin (Uncle Bob)
  • "Beware the Share" by Udi Dahan
  • "Testing Is the Engineering Rigor of Software Development" by Neal Ford

97 Things Every Project Manager Should Know: Collective Wisdom from the Experts

Compiled by Barbee Davis

Paperback: 252 pages
Publisher: O'Reilly Media (August 2009)
ISBN:978-0-596-80416-9

If the projects you manage don't go as smoothly as you'd like, 97 Things Every Project Manager Should Know offers knowledge that's priceless, gained through years of trial and error. This illuminating book contains 97 short and extremely practical tips -- whether you're dealing with software or non-IT projects -- from some of the world's most experienced project managers and software developers. You'll learn how these professionals have dealt with everything from managing teams to handling project stakeholders to runaway meetings and more.

While this book highlights software projects, its wise axioms contain project management principles applicable to projects of all types in any industry. You can read the book end to end or browse to find topics that are of particular relevance to you. 97 Things Every Project Manager Should Know is both a useful reference and a source of inspiration.

Among the 97 practical tips:

  • "Clever Code Is Hard to Maintain...and Maintenance Is Everything" -- David Wood, Partner, Zepheira
  • "Every Project Manager Is a Contract Administrator" -- Fabio Teixeira de Melo, Planning Manager, Construtora Norberto Odebrecht
  • "Can Earned Value and Velocity Coexist on Reports?" -- Barbee Davis, President, Davis Consulting
  • "How Do You Define 'Finished'"? -- Brian Sam-Bodden, author, software architect
  • "The Best People to Create the Estimates Are the Ones Who Do the Work" -- Joe Zenevitch, Senior Project Manager, ThoughtWorks
  • "How to Spot a Good IT Developer" -- James Graham, independent management consultant
  • "One Deliverable, One Person" -- Alan Greenblatt, CEO, Sciova
  • "Developer Productivity: Skilled Versus Average" -- Neal Ford, Meme Wrangler, ThoughtWorks

97 Things Every Software Architect Should Know: Collective Wisdom from the Experts

Compiled by Richard Monson-Haefel

Paperback: 220 pages
Publisher: O'Reilly (February 2009)
ISBN: 059652269X

From the Amazon Description: In this truly unique technical book, today's leading software architects present valuable principles on key development issues that go way beyond technology. More than four dozen architects -- including Neal Ford, Michael Nygard, and Bill de h ra -- offer advice for communicating with stakeholders, eliminating complexity, empowering developers, and many more practical lessons they've learned from years of experience. Among the 97 principles in this book, you'll find useful advice such as:

  • Don't Put Your Resume Ahead of the Requirements (Nitin Borwankar)
  • Chances Are, Your Biggest Problem Isn't Technical (Mark Ramm)
  • Communication Is King; Clarity and Leadership, Its Humble Servants (Mark Richards)
  • Simplicity Before Generality, Use Before Reuse (Kevlin Henney)
  • For the End User, the Interface Is the System (Vinayak Hegde)
  • It's Never Too Early to Think About Performance (Rebecca Parsons)

To be successful as a software architect, you need to master both business and technology. This book tells you what top software architects think is important and how they approach a project. If you want to enhance your career, 97 Things Every Software Architect Should Know is essential reading.


The Productive Programmer

Neal Ford

Paperback: 222 pages
Publisher: O'Reilly (July 2008)
Series: Theory in Practice ISBN: 0-596-51978-8

Anyone who develops software for a living needs a proven way to produce it better, faster, and cheaper. The Productive Programmer offers critical timesaving and productivity tools that you can adopt right away, no matter what platform you use. Master developer Neal Ford not only offers advice on the mechanics of productivity-how to work smarter, spurn interruptions, get the most out your computer, and avoid repetition-he also details valuable practices that will help you elude common traps, improve your code, and become more valuable to your team. You'll learn to:

  • Write the test before you write the code
  • Manage the lifecycle of your objects fastidiously
  • Build only what you need now, not what you might need later
  • Apply ancient philosophies to software development
  • Question authority, rather than blindly adhere to standards
  • Make hard things easier and impossible things possible through meta-programming
  • Be sure all code within a method is at the same level of abstraction
  • Pick the right editor and assemble the best tools for the job

This isn't theory, but the fruits of Ford's real-world experience as an Application Architect at the global IT consultancy ThoughtWorks. Whether you're a beginner or a pro with years of experience, you'll improve your work and your career with the simple and straightforward principles in The Productive Programmer.


ThoughtWorks Anthology

Edited by Rebecca Parsons

Paperback: 240 pages
Publisher: Pragmatic Press (March 2008)
ISBN: 9781934356142

ThoughtWorks is a well-known global consulting firm; ThoughtWorkers are leaders in areas of design, architecture, SOA, testing, and agile methodologies. This collection of essays brings together contributions from well-known ThoughtWorkers such as Martin Fowler, along with other authors you may not know yet. While ThoughtWorks is perhaps best known for their work in the Agile community, this anthology confronts issues throughout the software development life cycle. From technology issues that transcend methodology, to issues of realizing business value from applications, you'll find it here.

  • Solving the Business Software Last Mile by Roy Singahm and Michael Robinson
  • One Lair and Twenty Ruby DSLs by Martin Fowler
  • The Lush Landscape of Languages by Rebecca J. Parsons
  • Polyglot Programming by Neal Ford
  • Object Calisthenics by Jeff Bay
  • What Is an Iteration Manager Anyway? by Tiffany Lentz
  • Project Vital Signs by Stelios Pantazopoulos
  • Consumer-Driven Contracts: A Service Evolution Pattern by Ian Robinson
  • Domain Annotations by Erik Coernenburg
  • Refactoring Ant Build Files by Julian Simpson
  • Single-Click Software Release by Dave Farley
  • Agile vs. Waterfall Testing for Enterprise Web Apps by Kristan Vingrys
  • Pragmatic Performance Testing by James Bull


  • No Fluff, Just Stuff Anthology, Volume II
    What Every Software Developer Shound Know

    Compiled by Neal Ford

    Paperback: 320 pages
    Publisher: Pragmatic Press (April 2007)
    ISBN: 9780978739287

    These essays are a summary of the latest thinking in the industry, and range from the philosophical to the tutorial, covering the topics that the writers felt were the most important for readers today. If you feel like the neatest technology and latest ideas are passing you by, this book can help bring you back you to speed.

    It's all good stuff, without any fluffy filler, as these essays are based on pre sentations given at the incredibly popular "No Fluff, Just Stuff" symposium series. Twenty-six times a year, the symposium visits a city and the speakers and attendees share ideas and perspectives. The speakers are all internationally known experts in their field.

    Twenty-seven weekends a year, the No Fluff, Just Stuff conference rolls into another town, featuring the world's best technical speakers and writers. Up until now, you had to go to one of the shows to soak up their collective wisdom. Now, you can hold it in the palm of your hand. The No Fluff, Just Stuff Anthology represents topics presented on the tour, written by the speakers who created it. This book allows the authors the chance to go more in depth on the subjects for which they are passionate. It is guaranteed to surprise, enlighten, and broaden your understanding of the technical world in which you live.

    The No Fluff, Just Stuff Symposium Series is a traveling conference series for software developers visiting 27 cities a year. No Fluff has put on over 75 symposia throughout the U.S. and Canada, with more than 12,000 attendees so far. Its success has been a result of focusing on high quality technical presentations, great speakers, and no marketing hype. Now this world-class material is available to you in print for the first time.

    • Learn to Love JavaScript by Glenn Vanderburg
    • The Joys of Continuations and Asynchronous Architectures by Rebecca Parsons
    • The Case for Groovy by Scott Davis
    • Give it a REST by Brian Sletten
    • Guerilla Testing with Cobertura, TestNG, and EasyMock by Howard Lewis Shipp
    • An Introduction to the Google Web Toolkit by Davie Geary
    • Web Testing with Selenium by Neal Ford
    • IntelliJ Tips, Tricks, and Techniques
    • Pragmatic Tips, Tricks, and Techniques: Eclipse
    • Improving Code Quality using Automation by Paul M. Duvall
    • Capistrano: Application Deployment and More by David Bock
    • Bootstraping Agility by Venkat Subramaniam
    • The Software Engineer's Guide to Usability by Nathaniel T. Schutta
    • Integrating Ruby with Your Legacy Code by Jared Richardson
    • Executable Documentation with FIT and FitNesse by David Hussman
    • Introducing the iBATIS Persistence Framework by Mark Richards
    • Data Access Using Spring, Hibernate, and JDBC by Scott Leberknight

    No Fluff, Just Stuff Anthology, Volume I
    The 2006 Edition

    Compiled by Neal Ford

    Paperback: 256 pages
    Publisher: Pragmatic Press (June 2006)
    ISBN: 0-9776166-6-5

    Take 13 of the world's best trainers and speakers and ask them to write a chapter on something they care passionately about. The result? A book on software development unlike any other. Fifteen chapters covering the range of modern software development topics, from Domain-Specific Languages through Aspect-Oriented CSS to learning from the past.
    These essays are a summary of the latest thinking in the industry, and range from the philosophical to the tutorial, covering the topics that the writers felt were the most important for readers today. If you feel like the neatest technology and latest ideas are passing you by, this book can help bring you back you to speed.
    It's all good stuff, without any fluffy filler, as these essays are based on presentations given at the incredibly popular "No Fluff, Just Stuff" symposium series. Twenty-six times a year, the symposium visits a city and the speakers and attendees share ideas and perspectives. The speakers are all internationally known experts in their field.

    • Real World Web Services by Scott Davis
    • DSLs and Language Oriented Programming by Neal Ford
    • Shale by David Geary
    • Test Categorization Techniques by Andrew Glover
    • Spring AOP: Read this chapter by Stuart Halloway
    • Dependency Management by Kirk Knoernschild
    • Process Choreography and the Enterprise Service Bus by Mark Richards
    • The Cornerstone of a Great Shop by Jared Richardson
    • Help! I've Inherited Legacy Code! by Jared Richardso
    • Using Code Coverage to Improve Testing Effectiveness by Ian Roughley
    • Extreme Decorator: Total Object Makeover by Brian Sletten
    • From Fragility to Agility: Methodologies and Practices by Venkat Subramaniam
    • The Many Guises of Method Instrumentation by Eitan Suez
    • CSS: A Programmer's Perspective by Eitan Suez
    • Buried Treasure: Read this chapter by Glenn Vanderburg

    As a bonus, many of the authors have contributed to an appendix listing their favorite recent reads, and tools that they find most useful. The book also contains a substantial bibliography of recommended further reading.

       

    Art of Java Web Development
    Struts, Tapestry, Commons, Velocity, JUnit, Axis, Cocoon, InternetBeans, WebWork

    Neal Ford

    Paperback: 450 pages
    Publisher: Manning Publications Company; (November 1, 2003)
    ISBN: 1932394060

    A guide to the topics required for state of the art web development, this book covers wide-ranging topics, including a variety of web development frameworks and best practices. Beginning with coverage of the history of the architecture of web applications, highlighting the uses of the standard web API to create applications with increasingly sophisticated architectures, developers are led through a discussion on the development of industry accepted best practices for architecture.

    Described is the history and evolution towards this architecture and the reasons that it is superior to previous efforts. Also provided is an overview of the most popular web application frameworks, covering their architecture and use. Numerous frameworks exist, but trying to evaluate them is difficult because their documentation stresses their advantages but hides their deficiencies. Here, the same application is built in six different frameworks, providing a way to perform an informed comparison. Also provided is an evaluation of the pros and cons of each framework to assist in making a decision or evaluating a framework on your own. Finally, best practices are covered, including sophisticated user interface techniques, intelligent caching and resource management, performance tuning, debugging, testing, and Web services.

       

    JBuilder 3 Unleashed

    Neal Ford, Ed Weber, Talal Azzouka, Terry Dietzler, Jennifer Streeter, Casey Williams

    Paperback: 1072 pages
    Publisher: SAMS; Book and CD-ROM edition (September 1999)
    ISBN: 0672315483

    Editorial Review from Amazon.com
    JBuilder 3 Unleashed does an excellent job of explaining how to write Java programs in Borland's newest Integrated Development Environment (IDE) for the language. With plenty of code (all of which ships on the accompanying CD-ROM) and lots of documentation on Java classes, this book enables the intermediate-level Java programmer to become more capable with JBuilder and the language as a whole. You'll find good information if you want to write servlets, interface with databases, or do any of dozens of other software development tasks.

    JBuilder 3 Unleashed naturally covers the JBuilder user interface, but the authors don't explain interface elements for their own sake. Rather, they explain the JBuilder interface in the context of doing certain Java programming jobs. Subjects include some fairly exotic aspects of the Java language, including elaborate user interface design, multithreading, internationalization, and client/server architecture.

    Coverage of programming JavaBeans (and especially serialization as it applies to Beans) with JBuilder is exemplary, as are the sections on Remote Method Invocation (RMI) and CORBA. In addition to their coverage of the mechanics of JBuilder and Java, the authors include quite a bit of management and engineering information on using Borland's development environment as the centerpiece of a development team, including versioning, testing, and object-oriented analysis and design. --David Wall

    Topics covered: JBuilder user interface, multithreading, internationalization, client/server architecture, programming JavaBeans, RMI, and CORBA.

    From the Back Cover
    JBuilder 3 Unleashed is designed to help intermediate to advanced level Java developers obtain the information and techniques needed to create mission critical JBuilder applications. The book picks up where most JBuilder books leave off and provides the information needed by developers to create robust and maintainable JBuilder Client/Server and multi-tier applications. Topics covered include: Advanced object-oriented design and programming techniques in Java, Enterprise JavaBeans,... read more

    Book Description
    JBuilder 3 Unleashed is designed to help intermediate to advanced level Java developers obtain the information and techniques needed to create mission critical JBuilder applications. The book picks up where most JBuilder books leave off and provides the information needed by developers to create robust and maintainable JBuilder Client/Server and multi-tier applications. Topics covered include: Advanced object-oriented design and programming techniques in Java, Enterprise JavaBeans, Serialization, Threading, NMI, Multi-tier development: implementation of applications and applets, RMI, CORBA, Enprise's MIDAS technology, N-tier, Application Development, Source code control, Deployment.

       

    Developing with Delphi: Object-oriented Techniques

    Edward C. Weber, J. Neal Ford, Christopher Weber

    Prentice Hall Computer Books; Book and Disk edition (January 1996)
    ISBN: 0133781186 (Out of Print)

    Publisher Blurb:
    This text shows how to apply object-oriented programming techniques using Delphi, Borland's second generation, visual, client/server development tool. It includes insights into creating large applications in a team development environment, and covers advanced topics such as version control, reusable components and client/server connectivity. A toolkit is included on the accompanying disk which contains common application components that can be used immediately saving developers time and money.

    The complete guide to creating large mission-critical applications with Delphi. The authors, all experienced developers, cover the object-oriented concepts underlying Delphi, present examples including a comprehensive case study, and show how Delphi can be used with other technologies, such as OLE 1.0/2.0, DDE, Windows DLLS, and database-related tools.

    The Real Skinny:
    This book was written about Delphi 1.0, which caused a lot of breathless enthusiam in the programming world when it came out. Our publisher was Prentice Hall, which was essentially a publisher of text books. We got the book done, which provided a reasonable overview of Delphi. It was not particularly about Object-oriented Techniques, but the publisher insisted on that title. We sent the book off to the publisher and waited, and waited, and waited...11 months (!) after we had sent them the final manuscript, the book was published, about two months before Delphi 2.0 (the 32-bit version) came out. Needless to say, our book had a short shelf life. Our publisher thought this was OK because no one gets in a hurry for a text book. I found out later, ironically enough, that the California Polytechnic University at Pomona actually used it as a text book!