The Latest

Demystifying Exploratory Testing[magazine]

Exploratory testing is a popular approach, but many testers secretly worry they might be doing it wrong. Jonathan Kohl addresses those concerns by explaining exploratory testing in ways that testers identify with.

Jonathan Kohl's picture Jonathan Kohl
The "One Right Way"[article]

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
Estimation Poker[article]

Planning aoker, an estimating method popular with tgile teams can address some of these issues. Briefly, planning poker involves getting the developers on a team together to estimate stories using a deck of cards that have numbers that represent units of work.

Steve Berczuk's picture Steve Berczuk
Simplicity Before Generality, Use Before Reuse[article]

A common problem in component frameworks, class libraries, foundation services, and other infrastructure code is that many are designed to be general purpose without reference to concrete applications. This leads to a dizzying array of options and possibilities that are often unused, misused, or just not useful. Most developers work on specific systems: the quest for unbounded generality rarely serves them well (if at all). The best route to generality is through understanding known, specific examples and focusing on their essence to find an essential common solution.

Kevlin Henney's picture Kevlin Henney
The Indivisible Task[article]

One of the things that makes agile work well is a daily sense of progress that can be reflected in, for example,  a burn-down chart.  For burn-down charts to be meaningful, the estimate of amount of work remaining in a sprint need to be accurate. Re-estimating work remaining in a task is helpful,  but the best measure of progress is the binary "done/not done" state of the items in your backlog.

Steve Berczuk's picture Steve Berczuk
Quantifying Risk: The Purpose of Testing[article]

Testing is such an integral part of our software projects that we often don't stop to think about why we do it. We must do it. What else is there to know? It is obvious that software that has not been tested is unready for deployment. As painful experience has taught us, testing does not guarantee that the software is fit to deploy. Even rigorously tested software may still have hidden fatal flaws.

Alan S. Koch
The Tools, Processes, and Infrastructure of ALM[article]

Enterprise CM is not a simple feature, process, or edict. It is the establishment of tools, processes, and infrastructure so that management can confidently reap the benefits of CM and ALM across the enterprise.

Joe Farah's picture Joe Farah
Improve Your Communication Skills To Create Better Software[article]

Writing great software requires a lot of communication, and not just the client-to-server variety; person-to-person communication is crucial in a well-performing team. While it's easy to focus exclusively on improving our ability to communicate through the code we write, it's important to remember that building software is a communal experience: developers work with customers, testers, product owners, and other developers.

 

Here are some techniques and articles I use to reflect upon and improve my own communication skills:

Daniel Wellman's picture Daniel Wellman
Managing Successful Agile Build Management Teams[article]

While Agile methodologies have made tremendous advances in programming circles, build and release management teams have traditionally shied away from a “full agile” approach. In informal polling of Build Engineers, I found only one team outside of my own that ran an Agile shop; while there are many out there who do, there are tender points that need special consideration.

 

TechWell Contributor's picture TechWell Contributor
The Truth about Practices and “Being” Agile-Lean[article]

A working definition of “practice” is: A practice is a common and adaptive approach for doing something with a specific purpose in mind. When “being” agile and applying a practice we are focused on value-added not the means.

TechWell Contributor's picture TechWell Contributor
Negative Positive[article]

Testers who point out project risks are often perceived as "negative" thinkers. Software test consultant Fiona Charles (an optimist by nature and a pessimist by trade) writes about how a culture of unthinking optimism pervades our organizations and our society, and describes some of its detrimental effects on software projects.

Fiona Charles's picture Fiona Charles
Real-Time Problem Detection in Software Development[article]

Designing and developing software, it's usually cheaper to prevent problems from ever occurring (by making a decision at design-time) rather than patching them as they happen. But detecting problems in real-time is a useful skill in many professions, including one as different as recording audio books.

Daniel Wellman's picture Daniel Wellman
Empowering Self-Organization and Energizing Project Planning with the Commander's Intent[article]

Things change, and when they do, it's best to be ready to change with them. The best plans are doomed to fail if they aren't malleable. In this column, George Schlitz and Giora Morein take a look at the military concept of "Commander's Intent" and how it can apply to non-military project planning.

George Schlitz's picture George Schlitz Giora Morein
Crowdsource Testing[article]

Through the power of the Internet, people around the world are working together to solve problems in a faster, more cost-effective way than ever before. Crowdsourcing is a term that has been used to describe the process of requesting a crowd to perform a task rather than hiring consultants or contractors. There have been various models used to harness the collective brainpower of the masses, and this article delves into three examples. Thanks to the power of Web 2.0, publicity is easily spread world-wide to recruit participants who will take part in competitions or collaborative events aimed at solving a problem or completing a task.

Yvette Francino
Database Compare and Synchronize Methods as a Part of the Software Release Management Process[article]

By testing migration processes between environments, bugs are able to be found earlier, and before the migration to production. Using automatic packages, and well-thought out staging areas, migration can be a less painful, and more informative process than it may have been for you in the past.

Yaniv  Yehuda's picture Yaniv Yehuda

Pages

CMCrossroads is a TechWell community.

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