|
|
|
The following is a collection of books, articles, and websites that those interested in Agile, XP, Scrum, etc. might find interesting and informative. We don't necessarily endorse, or even agree with, all of the content of all of these, but that doesn't mean they don't have value. Please feel free to offer additions, updates, or corrections to info@agilerules.com.
Books
| This is a book about the subtle thinking process that experienced software designers go through when they are combining the requirements of their customers with established object oriented concepts to create a mental model of the new software. Every software architect fights a constant battle between getting sucked down into overwhelming complexity and keeping the design supple enough to stay viable through expected kinds of change. There is no step by step guide for this, but Eric's book is filled with ideas and examples in the form of stories from his experience. Refactoring and incremental design play a key role. Best of all, he recognizes that small refactorings cannot always get you where you need to go - the chapter "Breakthrough" explains why you sometimes have to do substantial redesign, and how to communicate this to managers. - njv |
| | Software development should be about creating business value - but how exactly to quantify and measure it has been elusive at best. This book uses the vocabulary of accounting (net present value, internal rate of return, etc.) and combines it with a software designer's understanding of agile development techniques. The result is a set of calculations you can use to prioritize software features in terms of ROI. The idea is based on incremental delivery of value (can you say "Scrum"?) and the authors give a guide to their "Incremental Funding Method", a business method for estimating and planning software projects that will be delivered incrementally. - njv |
|
| Contains very practical advice the author has gleaned from many years as a consultant. The focus is on building a consulting practice that adds real value for clients, and leads to long term mutually beneficial relationships between consultants and their clients. - njv |
| | Two TDD projects are presented from start to finish to give an annotated example of what it's like to use this method of software creation. The basic idea of TDD is simple - write a test for the code you're about to write. But like most 'simple' things, many questions arise as soon as you actually try it. There are explanations for the types of issues that arise, and even a section called "Patterns for Test-Driven Development" that describes standard TDD techniques (assertions, mock objects, exception testing...) you can use in many situations. - njv |
|
| Martin gives a practical explanation of why it makes sense
to improve the design of software after it is written - that
is the definition of refactoring. Good software developers
have always done this, but this book makes the techniques
explicit and provides a vocabulary for talking about them. - njv |
| | Issues like cyclic compile-time dependencies, and inappropriate inheritance hierarchies are addressed in this book on practical issues that arise in large software systems. Often, these practicalities have to be considered in the software design: for example, packaging subsystems in order to minimize the cost of linking to other subsystems. These issues are not addressed in books that teach C++ as a language, but an understanding of them is vital as systems grow in size. - njv |
|
| "Now I understand!" That's what you'll often be saying to yourself after reading sections of this book. This book shows how the principles behind successful lean thinking have impacted various industries, and shows why properly applying lean principles to software development is what the agile movement is all about. This is a must read. |
|
|
People
Websites and mailing lists
Contact us at info@agilerules.com.
|