Acceptance criteria can be helpful in expanding on user stories in order to capture requirements for agile projects. However, acceptance criteria should not be a route back to long, detailed documents, and they are not a substitute for a conversation. This article tells you how and when acceptance criteria should be written and employed.
This article details a team’s experience in implementing pair programming as a way to get work done as part of its agile transformation. It delves into the many positive results from the pairing experiment, as well as some of the negatives that were encountered, and weighs whether developers think pair programming is a worthwhile endeavor.
Software developer Laurent Bossavit delivered the second keynote presentation, about why we need to think more critically about software development. He began his presentation by saying his intention was to make you question what you know—or what you think you know.
It is possible to find a new, innovative use for a tool, but it’s much more likely that you’ll do better using the tool in the way its creators intended. And whenever you reach for a tool, check that it’s actually going to help solve the challenge you’re facing. This article explains why first and foremost, conversation is more important than a shiny new tool.
Most software needs to be "maintainable" and have high "internal quality." But what does that mean in practical terms? Code smells form a vocabulary for discussing code quality and how well suited code might be to change. The smells also provide good indications as to what to refactor and how.
Mistakes happen. It's how you respond to them that matters. Teams might react to a bug with panic and blame, leading to a quickly hacked fix and possibly more issues. Taking time to investigate and learn leverages problems into process and practice improvement and a higher quality product.
Revisiting your old code can be an enlightening experience. Pete Goodliffe encourages us to look back at our old code to see how our technique has improved, how our programming skills have progressed, and what we can learn from it.
Josh Michaels is an independent software developer who makes apps for the iPad, iPhone, and Mac under the company name Jetson Creative. In this interview, Josh discusses mobile development, testing aggressively, and keeping users happy.
Joe Justice is a consultant at Scrum Inc. and inventor of the Extreme Manufacturing project management method. He also is the founder of Team WIKISPEED, an all-Scrum volunteer-based, "green” automotive prototyping company.
"Fun" and "kindness" aren't the first things that come to mind when thinking of the mob, but in software development—they're mandatory. Woody Zuill discusses how mob programming takes a very agile and collaborative effort at delivering great software on time, and with the respect of everyone on board.
To be most effective when managing a large program, the component projects should limit their batch size, create networks of people, and report status in a way that works for the entire program. For those of you who are not quite ready for agile, Johanna Rothman explains how to use staged...
What is the best way to learn a new programming language or improve coding skills with the language you already use? Cory Foy has developed a new method for learning—and teaching—new programming languages and improving programmer expertise on their current languages.
The demand to deliver more software in less time is increasing. Give in to the pressure without thinking, and you end up facing burnout, stress, business risk, and, most likely, even more demands. Refuse, fight the good fight, and it is likely the business will replace you with someone else.
Sometime in your career as a test manager, you’ll be assigned to lead the effort for a program so large that the CEO and board of directors monitor it. These are programs that bet the organization’s future and come with a high degree of risk, visibility, pressure, and fixed deadlines.