Better Software Articles
Are software development and testing sciences subject to the same kind of numerical measurement that we use in physics? If not, what kinds of measurements should we use? How could we think more usefully about measurement?
While software testing focuses on detection rather than prevention, we can argue that it has become a powerful counter-offensive against bugs. We can equally argue that many of today's software practices impede quality. Ross Collard compares these two positions and invites you to join the discussion.
It's been said that, over time, charismatic movements often evolve to become "bureaucratic"—focused on a set of standardized procedures that dictate the execution of the processes within the movement. Has Scrum evolved to this point or is there still a place for agility in our processes?
Teams benefit from using both IDEs like Eclipse and integration tools like Maven. Steve Berczuk discusses the risks that can occur when IDEs and build scripts diverge, and provides guidelines for keeping the two consistent, so that teams can be more productive.
Pair programming is an Agile practice that has been shown to greatly improve code quality without a huge increase in development time. This article explains the ins and outs of pair programming and some things you need to consider before you tell team members to grab a partner and get programming.
How long do you let your software run during testing? An increasing number of software applications are intended to run indefinitely, in an always-on operating environment. And yet, few test plans include more than a brief memory leak test case. Learn how to test for problems due to the passing of time and problems due to cumulative usage.
Whether you're working on a collocated or a distributed team, it's important to take stakeholder requirements into account: "Who" are they and "where" are they located? In this article, Mary Gorman offers some tips to help you narrow the gap between thinking and acting globally and locally.
Allowing an individual to hold a project hostage to his knowledge and expertise is bad for the project and for the team. Fiona Charles describes one captive project and shows how it could have been remedied.
Ideas about testing can come from many different and unexpected sources, including reductionism, agronomy, cognitive psychology, mycology, and general systems. Michael feasts on Michael Pollan's "The Omnivore's Dilemma" and finds much to whet the tester's appetite for learning about how things work.
Requirements risks are among the most insidious risks threatening software projects. Whether it is having unclear requirements, lack of customer involvement in requirements development, or defective requirements, these troubles are a major culprit in projects that go awry. As requirements expert and agile coach Ellen Gottesdiener explains, agile practice can go a long way in mitigating the top five requirements risks.