development lifecycles


variations in costs to fix a software defect What Is the Cost of a Requirement Error?

This paper presents a simple, practical calculation of the cost of requirements errors in application software development projects. It also recommends a way to find and fix these costly errors early in a project, when they are least expensive to correct.

Joe Marasco
taking notes Test Software before You Code

Testing doesn't have to begin after the code has been written. In this column, Jeff Patton resurrects the oldest and most overlooked development technique, which can be used to test a product before any piece of it materializes.

Jeff Patton's picture Jeff Patton
Feature-Driven Development: An Agile Alternative to Extreme Programming

Feature-driven development (FDD) has the more traditional progression of a systems-engineering life cycle mode as compared to agile methods. It uses distinct phases in its iterations while still being highly iterative and collaborative. FDD does conduct up-front planning, design and documentation and relies very heavily upon domain modeling.

Brad Appleton's picture Brad Appleton
settings database table How to Merge XML Data with a Database

In his article "Data Crunching Tips and Techniques," Greg Wilson taught us how to translate legacy data into XML. In the second half, he explains how to merge new data into an existing database. Developers will always face these types of data crunching problems, and knowing the standard data crunching tools can save you a lot of time. Greg also shares the basic knowledge about relational databases that every developer should possess.

Greg Wilson
Data Crunching Tips and Techniques

Data crunching is probably the least glamorous part of our jobs, but it has to be done. Someone will always need to recycle legacy code, translate files from one vendor's proprietary binary format into XML, check the integrity of configuration files, or search Web logs to see how many people have downloaded the latest release of the product. Knowing how to compile this data with the least amount of effort can be crucial to a project's success or failure. In this week's column, Greg Wilson looks at some of the existing tools and techniques used to crunch data more efficiently and productively.

Greg Wilson
swing hanging from tree Finish on Time by Managing Scale

When deciding how a user's task is to be supported in our software, we often look at possible design solutions and select one that's best for the product and the user. As the project deadline approaches, however, we might choose to dismiss some features outright. In this column, Jeff Patton suggests we try keeping more features by adjusting their scale.

Jeff Patton's picture Jeff Patton
Interface or Interfere?

One of the Holy Grails of automated quality toolsets is a fully integrated suite that seamlessly tracks the process all the way from requirements to test cases and on through to defect tracking. This fully integrated suite makes for a great marketing pitch and sexy slideware, but in Linda Hayes' experience its functionality usually stops there. The leap from theory to practice seems to fall short, and it makes her wonder whether the concept of a fully integrated suite is fundamentally flawed or if it's just the implementation that needs attention. In this column, she begins her investigation by studying two test cases to decide whether these experiences are anomalies or the rule.

Linda Hayes's picture Linda Hayes
measure customer satisfaction Whipped Cream on Top of the Sundae

Service and a good variety of features are key in developing relationships with the customer. We always want to satisfy our customers. But if we sometimes exceed their expectations, overly satisfied customers will more than likely spread the news about our service or product--we've added whipped cream, and maybe even a cherry, on top of their ice cream. In this week's column, Mike Cohn explains how he measures customer satisfaction using Kano analysis, which categorizes the features customers look for into baseline, linear, and exciter features. Doing so will help us identify which features will delight our end users, and help us surpass the level of simple satisfaction.

Mike Cohn's picture Mike Cohn
Free time Free Time is Not Free

Unpaid overtime has negative personal and business consequences. Although regarded as free time by many organizations, there is a true business cost to not estimating or counting overtime hours, whether paid or not. Ed Weller presents the argument that those who do not count free time in their planning and tracking will make poor decisions and often invest in the wrong projects.

Ed Weller's picture Ed Weller
Ping-Pong Programming: Enhance Your TDD and Pair Programming Practices

Team player Dave Hoover wants to share a software development practice he enjoys. It emerged from the practices of extreme programming as a competitive yet simultaneously collaborative practice. Dave has found that this practice promotes the flow of knowledge between software developers better than any other practice he has experienced. As you might have guessed from the title of this week's column, this practice is called ping-pong programming, or P3 for short.

Dave Hoover


StickyMinds is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.