|
Software Teamwork Articles Business Tips People Tips Process Tips PM Tips QA, Test, CM Tips Analysis, Design Tips Compendium Archives Recommended Books
Recommended Books
The following are books
that are highly recommended by Clarrus. In each case, we have provided what we
believe to be a reasonable description of the book, why we think it would be
valuable for you, and a link to Amazon.ca to allow you to purchase the book.
Contact us if you have additional titles to recommend or have thoughts you
would like to share regarding any of our recommendations. Check back
periodically, as we will continue to add titles and descriptions of great books
as they crop up.
Change |
Communication | Software Development |
Leadership, Management & Organization |
Quality & Testing
Peter
Senge brought the notion of a learning organization to us with The Fifth Discipline,
and helped us understand how we could all work together to continuously improve
as a group - the whole becomes a great deal more than the sum of the parts. When
the practices in this book are embraced , any organization can drastically
improve its effectiveness and competitiveness.
The Dance of Change
clarifies and addresses the issues that Peter Senge found when bringing The
Fifth Discipline into organizations. It is a great treatise for understanding
the barriers to change that most organizations face, and exposes the mechanisms
that need to be managed in order to sustain change and growth. Great insight!
Leading Strategic Change: Breaking Through the Brain Barrier:
Of all the books on the market that discuss the topic of change, this one has
come the closest so far to hitting the nail on the head. One of the key premises
of the book is that “to change the organization, first change the individual”.
The authors note (and I would agree from experience) that most change
initiatives fail, and one of the primary root causes is that key individuals
have not embraced the change sufficiently to see it through.
They provide a reasonable model for change that makes good sense and clarifies
the challenges we may face as change agents, and walks through the potential
pitfalls along the way with clear advice on how to mitigate these issues. This
is an easy read and a very useful book.
It sounds like Love
is the Killer App by Tim Sanders sends a message that people are quite
receptive to – selfless dissemination of knowledge and compassion wins out over
fear and greed. Very inspirational speaker, I saw him in Seattle recently
(easily 1/3 of the group lined up for copies of this book afterwards). You can
check out his website
for some videos of his chats. He’s a bit off the wall, which can be easier to
take as a speaker than as a writer, but it’s a quick inspirational read
nonetheless...
Getting to Yes
is the classic guide to negotiation, from the Harvard Negotiation Project. It
helps you recognize the pitfalls around most failed agreements, and shows you
techniques for working with 'the other side' to arrive at that win-win position.
A great deal of valuable advice in a small, easily read book.
In Getting Past No,
William Ury picks up where he left off in Getting to Yes. Here, he recognizes
that there will be times in negotiations where the other side really isn't
interested in the win-win, and offers approaches to converting the relationship
to one of co-operation.
On Writing Well
is a great book that puts structure around a process that many people approach
in an undisciplined fashion - communication with the written word. It is well
laid out with great examples and insights into how to put an article, story,
report, or book together with a lot less grief. For anyone that writes for a
living, this is mandatory reading.
For those who provide advice to clients for a living, The Trusted Advisor
by David Maister clearly explains that you are not likely to have a receptive
audience until you have gained their trust. Once the point is made, it does dig
deeper to provide guidance in how to gain that trust and retain it over the
entire relationship with the client. As with anything that Maister has written,
this is a super, insightful book.
Linked:
The New Science of Networks: A very entertaining perspective of
Network Theory as it exists today, and its ability to explain an extremely wide
variety of phenomena, from human interaction to the Internet to biological
processes. If you are involved with
LinkedIn or any of the
other social networking apps in vogue, this book will give you insights into why it
behaves the way it does, and how to use that to your advantage.
Written by a former CIA analyst (for what that's worth) The Thinker's Toolkit
walks through a number of different problem solving and decision making
techniques that work for a wide variety of applications other than catching the
bad guys. It is clearly laid out with plenty of examples, and can be used to
help you arrive at a defendable answer to a difficult question that has a large
number of complex challenges - it is vastly superior to rolling the dice!
How To Read a Book
explains just that - reading a book for understanding or pleasure, scanning it
in the bookstore to determine if you want to buy it, reading across an entire
topic full of books for deep understanding of the topic. It is hard to believe
that something we all take for granted can have such a rich disciplined
approach, but this book covers the topic very well. At last look this was out of
print, but it is well worth finding a copy.
Code Complete: Absolutely
required reading for anyone that wants to be part of the software development
game, this focuses on the implementation stage but puts it in a greater context
of the remainder of the development lifecycle. Excellent set of checklists
included that can be used as a basis for internal checklists to kickstart an
organization's common understanding of how to do business. Originally tied to a
companion website that has evolved to a commercial product (CX One) for Steve's
company, Construx Software Builders.
Rapid Development
: An excellent book that looks at software
development from the project perspective, it provides an overview of best
practices that have been collected over the years and presents them in an
accessible form. The last half of the book is 27 mini-chapters, each briefly
describing an acknowledged industry best-practice.
Constructing Superior Software
is a collection of essays devoted to the breadth of issues in building high
quality software systems. It addresses the system level, the design level, and
the project level in one volume, and is produced by the Software Quality Institute
at the University of Texas at Austin.
eXtreme Programming Explained
: The original book in what has
become a long series of books on the latest trend in software development
lifecycles. Still the best at describing the core of what XP is all about,
should be required reading for anyone that thinks they are doing XP, or to
understand what this is all about.
Software
Requirements is a good book for covering the breadth of requirements
engineering practices, and provides a strong survey of techniques that may be
brought to bear on requirements challenges as the need arises. This second
edition provides a great more detail over the first edition - more examples,
more explanation, more depth. This book is the basis for Karl's extremely well
received course In Search of
Excellent Requirements, and has helped many organizations improve in this
critical area of software development
In Agile Software Development Ecosystems,
Jim Highsmith takes us on a tour of a variety of the 'new' approaches to
software development that are loathed or loved by people that write software:
eXtreme Programming, Scrum, Crystal Methods and others. This book is interesting
in that Jim presents the structure of each of the approaches, and also exposes
the motivation behind each by interviewing the original authors (the tables are
turned as he is interviewed by Alistair Cockburn to describe his own Adaptive
Software Development).
Agile
Project Management is a strong presentation of a system of management
practices that addresses one of the perceived downfalls of agile approaches – "how do you manage such
a project?" We finally get a viable alternative to the misunderstood requirements/design/code waterfall model by
acknowledging that in many projects a process of iterative, creative discovery where these things are
activities rather than phases makes a lot more sense. The book brings process to the right level, with
an emphasis on guiding principles and a few strong practices rather than a huge prescriptive approach
that stifles innovation in the name of repeatability. Well structured and clear in its treatment, a
superb addition to the Agile Software Development Series, I’m sure there will be more of this flavour
to follow.
This book is not a pitch for a particular flavour of
software development (though there are chapters that dissect eXtreme
Programming and Alistair’s own Crystal Methods), but rather a dissection of team
development along two lines: how people interact with one another and what is a
methodology all about. For these alone, the book is worth its weight in gold.
For anyone that is involved in the building or repairing of an approach for
developing software,
Agile Software Development will provide deep insights into
why different elements would or would not work, as well as how all those
elements hold together. While it’s full of many references and can at times be
a challenge to wade through, it is definitely a worthwhile read.
Virtuoso Teams takes seven stories about
leadership that are just about as diverse as could be – from Roald Amundsen’s
conquest of the South Pole to Thomas Edison’s Menlo Park facility to Sid
Caesar’s comedy troupe – and distills a number of common attributes that have
made each of these teams virtuoso in their fields. Not necessarily for the weak
of heart, and at times making recommendations that would be counter to the
notion of long-lived teams, the book captures the essence of what each of these
teams leveraged for greatness. A fun and diverse read, with a distillation of
team practices at the end that can be used to kick-start your own Virtuoso Team.
The
Tipping Point by Malcolm Gladwell is simply a great book. It starts out by
discussing how Hush Puppies suddenly became more popular, then meanders all over the
place: from crime in New York to the ‘stickiness’ of kids TV shows to our
attempts to get people to quit smoking, it describes the mechanisms that play in
getting things to happen – to get them past the tipping point. A very readable
and insightful book.
True Professionalism
takes a collection of essays from David Maister and builds them into a cohesive
treatise on professionalism, from the perspectives of yourself, your firm, and
your clients. Leaning heavily on the notion of ethical behaviour, it is provides
a lot of food for thought about your practices, and the practices of those
around you.
There are too few books that adequately address the issues surrounding team dynamics
of software development organizations. Karl Wiegers' first book,
Creating a Software Engineering Culture
does a good job at exposing the challenges and identifying solutions for
building a great team. Very accessible and well laid out. Might be tough to find
in the stores, which is too bad - it deserves more coverage than it has had.
Software Project Survival Guide: Steve
McConnell's third book, and a
great book to hand to managers to help them understand the breadth of proper
practices in software development in an accessible manner. No deep new insights,
but a good summary of what should be done. Has actually been used as a process
guide in some organizations, which is quite a bit of a stretch.
The Essential Drucker
distils 60 years of experience into an extremely powerful collection of essays
and articles about management and professionalism. Though some of the examples
are a bit dated in articles from 50 years ago, the principles and insights
captures remain as valid today as they were originally. This book provided
amazing insights even before the preface was completed!
Debugging the Development Process
provides Steve Maguire's spin on how to manage software teams to produce high
quality code on schedule. Based on his experience at Microsoft, It gives good
insight into team dynamics and challenges that can hit a team that is pushing
hard to deliver, and sustain them from project to project. A good read.
In Managing the Professional Services Firm,
David Maister provides excellent advice on setting up and maintaining a group of
professionals. Based on his experience with legal firms, it is just as
applicable to other service-based groups, especially those in the technology
field. While perhaps too rich for individual consultants, there is still value
in recognizing all the issues and the approach for managing them effectively.
Against the Gods: The Remarkable Story of Risk: A good introduction to the
nature of risk and how society has evolved to a point where we can manage risk
and recognize it as both challenge and opportunity. It gets into the technical
details, but still written for the popular press.
Cool Time: A Hands-on Plan for Managing Work and Balancing Time
: I’ve been conscious about personal efficiency for some time, and have worked to
train groups on how to best organize their time through appropriate balancing of
activities, but I still learned a great deal with this book. Steve goes beyond
the standard ‘Touch it Once’ and ‘Do-Defer-Delegate-Dump’ suggestions, and
clearly describes how to take control of your day so that you can be much more
effective. An easy read with specific advice, the best value that I’ve found
(beyond the ‘standard stuff’ that was already in place) was to explicitly plan
time for me within my day, and to set and manage expectations with others so
that this time is truly mine. By far the best resource in the genre that I have
read.
Philip
Crosby's Quality is Free
is one of the classics that captures the essence of quality management for
organizations (rather than the superficial end-of-process quality control that
most software organizations practice). This is the basis of a lot of thinking
that has gone on in this area over the past 25 years, and is a great foundation
to start from.
A Discipline for Software Engineering
is Watts Humphrey's guidance for approaching the Personal Software Process. On
first glance it could easily be dismissed as a theoretical text, but give it a
good read. The Personal Software Process is an extremely well thought out
approach for helping software practitioners understand their capabilities, and
this book thoroughly captures this in clear, extremely detailed form. This
serves as the text for undergrad level courses in the PSP and is structured to
fit in a standard curriculum size, but there are many that would gain
tremendous value from learning what this book and the PSP can teach about
individual performance.
Testing Computer Software
does a good job of covering the breadth of the software testing spectrum while
still diving down into sufficient detail to provide some meat that you can
really sink your teeth into. It has a small section on printer testing and dives
deeply into localization testing, but the greatest value likely comes from the
comprehensive appendix that describes a wide variety of common software errors.
Despite its age, I think that Glenford J. Myers' book,
The Art of Software Testing,
is still one of the strongest available to give you a strong basis for this very
difficult art. From the opening exercise that really opens your eyes to the
complexity of thorough testing, through discussion of equivalence cases and other
solid principles for testing, it is indeed a classic. Might be tough to find
these days, but well worth the hunt.
Automated Software Testing
presents a structured approach for designing and executing testing (the
Automated Test Lifecycle Methodology). This approach covers the breadth of
automated test practices, and addresses such issues as planning, team dynamics,
reuse, and most importantly, the acquisition of management support for such an initiative.
Copyright Notice
All information and articles on this website
are Copyright © 2002-2008
Clarrus Consulting Group Inc. All rights reserved.
Information may be reused in its entirety with permission and appropriate
attribution to the author and Clarrus Consulting Group Inc.
Send comments about this web site to
webmaster@clarrus.com
Copyright © 2002-2008
Clarrus Consulting Group Inc
Page last modified
02 Sep 2007
|