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
Sticky tags that say "Hello, my name is," photo by Jon Tyson What's in a Name? Build Better Software by Naming Classes and Methods Clearly

One of the most important things to pay attention to when writing software is how we name our symbols. Data and behavior should be named in a way that represents the essence of what we're trying to do. Naming affects understandability and reflects code quality, so use names that clearly communicate your intentions, and refactor those names when your intentions change.

David Bernstein
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
Gardening photo by Benjamin Combs Find Your Metaphor for Agile Software Design

How you think about software design can have a big impact on how effective you are when you do it. All of us have different criteria for success, and some of them aren’t even conscious. We have to figure out what resonates for us so that we make the right choices, and we can get a clue about the right choices for us by looking at the metaphors we use when we talk about software.

David Bernstein

Better Software Magazine Articles

DevOps and the Culture of Code DevOps and the Culture of Code

Migrating an organization to continuous integration requires adoption new processes, tools, and automation. DevOps relies on dramatic culture change to encourage total transparency and collaboration among all project stakeholders.

Patrick Turner
Developers and testers 5 Ways to Pair Developers with Testers

Some agile practices stress the importance of pairing team members together to achieve better team performance. Try these five suggestions for pairing key resources.

Jeffery Payne
Building Autonomous DevOps Capability in Delivery Teams

After setting up a DevOps team and adopting continuous delivery practices, product releases may not be as smooth as they could be. The missing ingredient requires empowerment and autonomy.

Miiro Juuso
Automation’s Role in the Fall of Software Testing

Has the rise in test automation resulted in product releases of lesser quality? Besides adopting more comprehensive automated scripting, there are process and organizational dynamics to consider.

John Tyson

Interviews

Mike Faulise Giving Control Back to Software Developers: An Interview with Mike Faulise
Video

In this interview, Michael Faulise, the founder and managing partner at tap|QA, explains how the move toward DevOps and away from release management is giving control back to developers, then details why major companies often need partners to leverage CI, CD, and other modern techniques.

Jennifer Bonine
Melissa Benua How to Adapt to the New Age of Testing and Development: An Interview with Melissa Benua
Podcast

In this interview, Melissa Benua, a senior technical lead at mParticle and senior backend software engineer at PlayFab, explains how the speed of development and testing has changed, as well as how to adapt to the new era of software.

Josiah Renaudin
TJ Usiyan How Ideas and Assumptions Impact Applications: An Interview with TJ Usiyan
Podcast

In this interview, TJ Usiyan, an instructor with Iron Yard, talks about whether development and testing teams need to be on the same page. He also explains how subjectivity influences our systems and applications and why teams overlook subjectivity.

Josiah Renaudin
Naga Jayadev Accelerate Testing and Development with Continuous Delivery: An Interview with Naga Jayadev
Video

In this interview, Naga Jayadev of CA Technologies digs into continuous delivery, continuous testing, DevOps, and virtualization. He explains what he does at CA Technologies, the trends when it comes to testing, and the value of velocity within your development lifecycle.

Jennifer Bonine

Conference Presentations

Sustaining Agility—After the Consultants Leave
Slideshow

Organizations transitioning to agile often hire external consultants to help them become more agile. However, what tends to happen six months after the consultants leave is that the organization is often left with more—and different—problems than they had before. Susan Lin says this...

Susan Lin
BSE Testing Balance Discovery and Delivery with Dual-Track Agile
Slideshow

Do your product teams frequently struggle to have groomed and well-defined stories ready for the developers? Do you find yourselves frequently in “feed the beast” mode to keep your development teams busy? Do your product teams have problems gaining shared understanding across product...

Sean McKeever
BSE Testing Databases in a Continuous Integration/Delivery Process
Slideshow

DevOps is transforming software development with many organizations adopting lean development practices, implementing continuous integration (CI), and performing regular continuous deployment (CD) to their production environments. However, the database is largely ignored and often seen as...

Steve Jones
BSE Testing Use Mind Maps to Increase Team Velocity and Communication
Slideshow

Ever sit in a strategy review session and get little or no participation from others? Or feel like you left a planning session with a different understanding of what was agreed to? If you feel there must be a more effective way to communicate important information around your strategy and...

Jennifer Bonine

AgileConnection is a TechWell community.

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