Better Software Articles

Please enter an article title, author, or keyword
Developers ... Start Your Engines: Reuse with Source Code Searches

Source code search engines can help you find chunks of reusable code. These search engines differ from generic text search engines by organizing the results to reflect the way code is organized—into functions, classes, packages, etc. These reviews of some popular engines can help you rev up reuse in your work.

Alan Berg
Incremental and Iterative Development

People get wrapped around the axle trying to understand the difference between incremental and iterative development. The Unified Process authors in the 1990s didn't help by indiscriminately calling everything iterative development. The two are different and must be managed differently. Successful teams do both at the same time, usually without thinking about it. Then someone starts thinking about it and does one without the other. Bad news follows.

Alistair Cockburn's picture Alistair Cockburn
Learning the Hardware Lessons

Systems and software aren't just about correctness; they are also about solving problems for people. According to the context-driven software testing movement, a problem isn't solved if the product doesn't work. Michael's experience in a hardware store drives that lesson home.

Michael Bolton's picture Michael Bolton
The Art of Persuading Management

You can't get your manager to give you what you want if he won't listen to you. Naomi suggests some strategies-including being methodical, gathering data, properly timing your requests, and practicing what you plan to say-that can help you make your case to the powers that be.

Naomi Karten's picture Naomi Karten
Modern Distributed Teams

Traditionally, managing distributed teams has been perceived as difficult. But the advent of effective modern processes and tools is breaking through the obstacles and making distributed teams a viable—and valuable—option. Find out how to make the most of people, processes, and tools to create and maintain a successful distributed team.

Chris McMahon's picture Chris McMahon
How Much Is Enough?—Exploring Exploratory Software Testing

Exploratory testers design and execute tests in the moment, starting with an open mission and investigating new ideas as they arise. But how do we know when to stop? The first step is to recognize that we can't know when we're done, because any approach to answering the stopping question is necessarily heuristic.

Michael Bolton's picture Michael Bolton
What's In a Word?

Evolution of a word's meaning through common misuse is a reality of human communication. In the software industry, by using the phrase quality assurance to refer to what is more properly called quality control (i.e., testing), we may have lost our ability to answer the question "does our process work?"

Antony Marcano's picture Antony Marcano
Mind the Gap

The requirements composition table is an effective technique comprising six steps that will help you assess an application's test coverage and identify gaps in your test suite even if you don't have any software requirements specifications.

Yuri Chernak
Software Development Worst Practices

While some debate which, if any, industry practices deserve the designation "best practices," this tongue-in-cheek look at the horrors of some of software's "worst practices" drives home the value of the good ones and may help us improve the quality of our software.

Gregory pope12's picture Gregory pope12
Breaking Ground on SOA: How to Build and Test Your First Web Service

Web services are the foundation of today's service-oriented architecture. This article will teach you how to build a Web service from the ground up as well as how to test it using the three pillars of Web services testing—functional, performance, and interoperability tests.

Mamoon Yunus

Pages

Upcoming Events

Apr 28
Jun 02
Sep 22
Oct 13