testdriven.com Wrangling quality out of chaos

Posts Tagged ‘To be published’

Becoming Agile in an Imperfect World

10.24.2007 · Posted in Links

Agile principles have been a breath of fresh air to many development teams stuck in the middle of a rigid, process-driven environment. Unfortunately, it’s not so easy to bring Agile into an existing organization with established people and practices. Becoming Agile shows you practical techniques and strategies to move from your existing process to an Agile process without starting from scratch.

Many books discuss Agile from a theoretical or academic perspective. Becoming Agile takes a different approach and focuses on explaining Agile from a ground-level point-of-view. Author Greg Smith, a certified ScrumMaster with dozens of Agile projects under his belt, presents Agile principles in the context of a case study that flows throughout the book.

Becoming Agile focuses on the importance of adapting Agile principles to the realities of your environment. While Agile purists have often discouraged a "partial-Agile" approach, the reality is that in many shops a "purist" approach simply isn’t a viable option. Over the last few years, Agile authorities have begun to discover that the best deployments of Agile are often customized to the specific situation of a given company.

As well, Becoming Agile addresses the cultural realities of deploying Agile and how to deal with the needs of executives, managers, and the development team during migration. The author discusses employee motivation and establishing incentives that reward support of Agile techniques.

Becoming Agile will show you how to create a custom Agile process that supports the realities of your environment. The process will minimize risk as you transition to Agile iteratively, allowing time for your culture and processes to acclimate to Agile principles.

Author: Greg Smith
Expected publication date: Manning, April 2008
400 pages
(Early Access Program available)

The Art of Unit Testing (with examples in .Net)

10.24.2007 · Posted in Links

Most developers recognize the value of unit testing — the independent testing of individual chunks, units, of code by the developer while an application is being written. Unit testing leads to easier maintenance, troubleshooting, refactoring, and integration testing of the application. To facilitate unit testing, the developer uses unit-testing frameworks such as NUnit along with various helper frameworks for more advanced testing of interaction between objects — often called "Mock Object frameworks."

Because there are few clear and defined ways on how to write unit tests well, many shops try to implement unit tests on their code, realizing too late that the tests hinder the coding cycle more than they help. This book will help you avoid mistakes when writing unit tests, and show you how to do it right — from the beginning steps to the most advanced techniques.

The Art of Unit Testing guides the reader on the journey from beginner to master in the subtle art of unit testing. Based on expert author Roy Osherove’s real-world development experiences, this book shows developers how to make sure the code that they write actually works as expected, and how to make these verifications as automated as possible. Not only that, the book shows techniques that help to make sure that the tests are maintainable, readable, and test the right thing over time, avoiding the "throw-away tests" phenomenon that plagues many shops that try to write unit tests without clear guidelines. In this way it helps you make your development process — and your business — more agile.

The Art of Unit Testing starts out with the basics of how to write unit tests, what makes a good unit test, and how to avoid the pitfalls you may encounter when you try to write unit tests. You’ll learn to build tests that are readable, accurate, and maintainable. Along the way, you’ll pick up a set of best practices and how-tos for key subjects, from using test frameworks to using Mock Objects to writing tests that run against a database.

The author establishes five rules for good unit tests built upon the three major principles that any good test be maintainable, trustworthy, and readable. You’ll find clear sections presenting established best practices to ensure that your tests will adhere to these principles. The book also provides clear guidance on what to test and where to start testing when you’re going into a legacy code project.

Unlike other books on this topic, this book trades theory for real-world examples. It’s designed so that you, a working developer, can start writing better unit tests now.

Author: Roy Osherove
Expected publication date: Manning, April 2008
400 pages
(Early Access Program available)

Refactoring, Ruby Edition

01.24.2007 · Posted in Links

The content found on this site will eventually be compiled into Refactoring, Ruby Edition. With Martin Fowler’s permission, the existing examples found in Refactoring: Improving the Design of Existing Code are converted from Java to Ruby and explore any additional Refactorings that may pertain to Ruby development. The first phase of the project is the conversion process and the second is the Ruby specific content addition.

This website will be continually updated to show our progress.

Authors: Ali Aghareza, Stephen Chu, Jay Fields & John Hume

The Art of Agile Development

09.22.2006 · Posted in Links

James Shore has been writing a book on agile development to be published by O’Reilly. It’s called The Art of Agile Development and is a joint effort between James and chromatic, author of the Extreme Programming Pocket Guide.

Sections of the book have been published to allow Agile developers to be part of the review process.

The book’s aim is to provide an intensely practical reference that shows mainstream development teams how to adopt and use agile software development.

The book is divided in three sections: The Big Picture, Practicing XP, and Beyond XP. Part 2 is the heart of the book, containing all of the practices to form a complete agile methodology; it’s divided into six chapters: Thinking, Collaborating, Planning, Managing Code, Developing, and Deploying.

Authors: James Shore, Shane Warden
Expected date of publication: O’Reilly, November 2007