development

Articles

Three different colored keys 3 Keys to Mastering Test-Driven Development

From his decade of teaching thousands of professional software developers how to be effective with test-driven development, David Bernstein has learned that there are three key ingredients for mastering TDD: understanding what it really is, making code reliably testable, and getting hands-on experience. Let’s look at each of these factors to see what it takes to use TDD effectively on your projects.

David Bernstein's picture David Bernstein
Hand drawing automation gears For Sustainable Test Automation, Look beyond the Surface

When it comes to achieving sustainable test automation, having an appropriate test automation team structure in place is the most important first step to take. This article has some proven practices for a few different test automation adoption scenarios—led by an automation team or a regression team, and with agile adaptations—that have helped organizations enjoy long-term test automation success.

Maximilian Bauer's picture Maximilian Bauer
Car steering wheel photo by Nicolai Berntsen A Case for Test-First Development

You may feel you don't have time to write unit tests, but you really don't have time not to. Steve Poling makes the case that writing tests first not only will yield better code, but will help you get that code working right sooner. Here's how using a test-first approach changes your thinking about coding, lets you see mistakes immediately, and helps you create more testable code.

Steve Poling's picture Steve Poling
Icon showing an automated system Why You Need to Be Doing Continuous Integration

It’s usually easy and inexpensive to set up a continuous integration environment for either an agile or a waterfall project. Perhaps the most obvious benefit of CI is the elimination of the integration phase that existed in traditional waterfall projects, where we typically slip the worst on deadlines. But there are many other benefits to continuous integration that you may not have considered.

David Bernstein's picture David Bernstein
Cloud with tools graphic Fixing a Broken Deployment Process

When you have hundreds of applications performing various functions across several environments, it's tough to push all the code when it needs to be. Here are some steps to help your own team develop the internal tooling it requires to deploy thousands of applications if needed, all in a reliable, efficient manner.

Colleen Stock's picture Colleen Stock
Development, operations, and QA DevOps: Collaboration with a Purpose

Development, operations, and QA have long recognized the importance of coexistence, but they've still had weak or unbalanced relationships. DevOps emphasizes collaboration, rejecting the "us versus them" mentality. Every department needs information, feedback, and support from every other department, helping everyone see how they enable each other.

Douglas Fink's picture Douglas Fink
DevOps You Can’t Buy DevOps

There are organizations that want to “buy DevOps,” like it is a plugin to add to the development process. They often create a new role, team, department, or infrastructure. But you can't buy DevOps, and it's not a designated team, either. It is the idea of people working together. Here are some approaches to get you there.

Matthew Heusser's picture Matthew Heusser
version one Use Version Control to Unlock Your Development Velocity

Effective source code management provides a basis for every essential development best practice, including continuous integration and continuous delivery. The key is realizing just how much valuable metadata is being created in your source code management system and establishing the tools and procedures to make this information available.

Tamir Gefen's picture Tamir Gefen
man bending over backwards Create an Agile DevOps Environment That Fosters Flexibility over Features

When a company makes the move from software as a service (SaaS) to an API-first platform, a change in mindset is required. The successful transitions come from those who shift from features to flexibility. Technology teams should look to remove constraints and broaden the possibilities of their platform by constantly exploring ways to make their platform as flexible as possible.

Steve Davis's picture Steve Davis
start, continue, and stop doing signs When Postmortems Meet Retrospectives: Improving Your Agile Process

If you want secure, reliable systems, you need all stakeholders actively communicating. This means involving both IT operations and developers in discussions after deployments, to ascertain if anything went wrong and can be avoided, and what went well or could be refined. Integrating your postmortems and retrospectives facilitates collaboration and improves processes.

Bob Aiello's picture Bob Aiello

Pages

CMCrossroads is a TechWell community.

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