Developer Testing: Building Quality into Software Early in my career as a programmer, I remember coming across the phrase, “You can’t test quality …
4 Reasons to Include Developers in Story Writing Participants in my Certified ScrumMaster courses are often surprised when I recommend that …
Selecting a Development Process With so many agile processes available, it can be hard to tell what is right for you. When the …
Estimating Non-Functional Requirements Doing performance testing creates some amount of overhead on the team (the tax). This overhead or …
Reflections on the 10 Years Since the Agile Manifesto Ten years from now I hope we’ve stopped calling it agile. I hope we’ve stopped calling it anything …
Mix the Sizes of the Product Backlog Items You Commit To Scrum teams learn to work by doing a little of everything all the time.
Reduce Manual Test Technical Debt The first priority of a team with technical debt is to stop the bleeding, stop things from getting worse.
The Forgotten Layer of the Test Automation Pyramid Even before the ascendancy of agile methodologies like Scrum, we knew we should automate our tests. …
How to Know if Scrum Is Right for Your Project After years of studying the problem, I've come up with a foolproof way to determine if Scrum is …
The Chivalrous Team Member In seeking to improve how we develop software, we continually inspect and adapt. While thinking …
Patterns of Agile Adoption There are many ways to transition to an agile process. Choosing the approach that is most likely to …
Everyday Scripting with Ruby: For Teams, Testers, and You During the mid– and late–1980s I was was working in C and eventually C++. During that period I …
Sprint Planning Many teams try to divide and conquer when it comes to sprint planning, often with disjointed and …
The Role of Learning and Expected Cost of Change An academic paper that describes the importance of using more than just the vaguely defined …
Incorporating Learning and Expected Cost of Change An experience report presented at XP2006 covering why it is not as simple as telling product owners …
Change Is Good…Or is It? Change may be a constant, but it doesn't have to be constant. By following some simple guidelines, …
Agile Java Development with Spring, Hibernate and Eclipse Agile Java Development with Spring, Hibernate and Eclipse is a very good book. Right in the preface …
Scrum Shouldn’t Be a Burden Scrum was designed to be lightweight, so if your team is complaining that it's too heavy, you need …
Selecting the Right Iteration Length A key consideration in adopting an iterative process is selecting how long your iterations will be. …
Refactoring Databases: Evolutionary Database Design This is an excellent book that, in my opinion, serves two purposes. First, it is a compendium of …
.Net Generics Until reading this book, I had been nervous about the introduction of generics into .Net. First, I …
Estimating With Use Case Points Too much work goes into use cases to not employ them to their full potential. By assigning points …
JBoss at Work: A Practical Guide The subtitle for this book is “A Practical Guide.” That subtitle is perfect. This is one of the …
Fit For Developing Software: Framework for Integrated Tests This is a wonderful book. I first saw Fit during its infancy and I didn’t “get it.” This book will …
Stop Listening to Your Users Users are often kept at arm's length. We ask them for their input on the design, but then we, as …
Effective Enterprise Java This is an amazing book that does not disappoint in any way. It is full of wonderful well–written …
JUnit Recipes: Practical Methods for Programmer Testing My initial uses of JUnit are probably not unique. I found it a wonderful tool and a great way to …
What’s Holding You Back? I was honored to be the guest editor of a special issue of Better Software magazine that was …
Refactoring Workbook Most books about programming teach us about a specific technology or two. Right now I’m staring at …
Introducing An Agile Process to an Organization The transition from a plan-driven to an agile process affects not only the development team …
UML for Java Programmers This is a great book for learning or improving with UML. Topics are introduced at a level …
Lean Software Development Books written during the first phase of agile software development have been about very specific …
Configuration Bugs that Bite Over the years we've come up with many useful database development techniques. This article …
The Need for Agile Project Management Ken Schwaber and I co-wrote this article to help counter the misperception that agile projects do …
The Upside of Downsizing This article describes how a project was successfully downsized from 100 to 12 developers. To make …
Software Configuration Management Patterns I knew this book would be different from the use of “Teamwork” in its subtitle. Many of the …
Testing Extreme Programming This book is fantastic. I’m only a tester to the extent that everyone doing XP is a tester but I …
4 Metrics to Support Project Estimates This article describes some very useful metrics that are probably worth collecting on any project.