development lifecycles


Don’t Discard Test-Driven Development in the Cloud

Developing software for the cloud can make test-driven development more complicated, but not impossible. Arin Sime offers advice for continuing good development practices in the face of challenges from cloud hosting and distributed computing.

Arin  Sime's picture Arin Sime
From One Expert to Another: Simon Baker From One Expert to Another: Simon Baker

In this interview, author, speaker, and agile tester Lisa Crispin speaks with Simon Baker, cofounder of Energized Work and recipient of the Gordon Pask award, about the approaches and tools his lab uses.

Lisa Crispin's picture Lisa Crispin
Common branching patterns Branching to Distraction

Branching can be an effective solution for managing change, enabling parallel development and improved productivity. But, working on a branch is a distraction and can decrease agility, productivity, and code robustness. Learn when the value of working on a branch outweighs the cost.

Steve Berczuk's picture Steve Berczuk
flow chart Four Agile Tips to Eliminate Rework in Application Development

Your applications need to meet business needs, overcome complex processes, and provide instant results to customers. And, ideally, they’ll require minimal rework on your part. The first step to success is requirements definition. Here, Filip Szymanski offers some tips from agile methods that will improve your requirements—even if you haven’t otherwise adopted agile.

Filip Szymanski's picture Filip Szymanski
Efficient Preparation and Utilization of Test Data

Good test data is one of the major factors contributing to successful testing. Efficient test data management is imperative in ensuring software quality. Test data plays a vital role not only in testing but also the entire software lifecycle process. By creating quality test data, defects can be detected at an early stage in the software lifecycle process, which in turn helps to reduce cost and time to market and improves quality. The intent of this paper is to discuss an approach for the creation and utilization of test data, thereby improving the quality and coverage of testing software applications.

Getting Empirical about Refactoring

Often when we refactor, we look at local areas of code. If we take a wider view, using information from our version control systems, we can get a better sense of the effects of our refactoring efforts.

Michael Feathers's picture Michael Feathers
Software Is Art

We can measure, study, and understand the interactions between software and individual users, but what tools exist to understand the interaction among software creators, the software itself, and millions of users? Chris McMahon says we can't look to computer science, engineering, or manufacturing for tools to understand the experience of a large audience. Instead we should look to the performing arts for help understanding the audience experience.

Chris McMahon's picture Chris McMahon
Are You Making Progress or Spinning Your Wheels?

While managing a long project, it's easy to lose track of progress. And, when that happens, how do you even know whether you're still making progress? In this article, Johanna Rothman offers suggestions to help you take your project one step at a time and keep it under control.

Johanna Rothman's picture Johanna Rothman
An Unusual Question about Managing Change

Change is disruptive. Even when a particular change leads to a positive outcome, the transition from the old way to the new way can be a time of turbulence. Might there be circumstances in which it's appropriate, or even helpful, to prolong that period of turbulence? That's the question Naomi Karten wrestles with in this column.

Naomi Karten's picture Naomi Karten
The "One Right Way"

For those who believe there has to be one right way to do something, especially in software development - there can be. But that one way isn't likely to come from a single individual. Through collaboration and teamwork, some of the greatest single ideas have evolved.

Lisa Crispin's picture Lisa Crispin


StickyMinds is a TechWell community.

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