Articles

Gold-plated leaves Build Just Enough of a Feature with ATDD

Developers have a tendency to overbuild their code. This is frequently due to not knowing exactly when they're done and not knowing how robust a feature needs to be. Acceptance test-driven development (ATDD) is a great way to avoid this practice because when the acceptance test passes, the developer knows they're done building that particular feature.

David Bernstein's picture David Bernstein
Partially open computer showing a bright screen Software Development: An Industry of Amateurs

David Bernstein says the software industry is an industry of amateurs. It's a young field, and he doesn’t think it's yet graduated into a true profession. Here, David contrasts the software industry with other, more established fields, and he talks about what software professionals need to do in order for the industry to become accepted and esteemed.

David Bernstein's picture David Bernstein
Mob Programming Getting Started with Mob Programming

Mob programming is a software development approach where the whole team works on the same thing at the same time, in the same space, and at the same computer. Collaborating like this can have great benefits for everyone involved. Here, Woody Zuill details some practices his team uses to make this collaboration work for them.

Woody Zuill's picture Woody Zuill
Making Agile Leaner Making the Agile Extra Lean by Adopting New Practices

Prakash Pujar writes about his team's experience adopting some of the best agile practices to make their process extra lean and increase efficiency by increasing throughput—all without any change to the agile framework his team was following before and after. Here, he talks about some of the lean practices that worked for them.

Prakash Pujar's picture Prakash Pujar

Better Software Magazine Articles

How to Avoid Unnecessary Technical Debt in Mobile App Development Projects

When task completion falls behind and more work is lined up for later, you've entered the land of technical debt. This is particularly true in mobile app development. Brian Westendorf presents practical advice to avoid this situation.

Brian Westendorf's picture Brian Westendorf
Does Your Code Suffer from Broken Windows?

Common practice suggests that lower severity defects shouldn't hold up a product release. Jennifer Gosden believes that, just as broken windows in a home can invite crime, letting lower severity defects linger results in poor
overall product quality.

Jennifer Gosden's picture Jennifer Gosden
How Does Security Testing Fit in My QA Process?

Alan Crouch addresses the question most commonly raised by those who are new to security testing: "How does security testing fit in my QA process?" Alan explains that security testing shouldn't be limited to the QA process, but instead should be applied throughout the entire software development lifecycle. Read this FAQ column for suggestions on how to improve your chances for success in catching security issues.

Alan Crouch's picture Alan Crouch
The Rules for Writing Maintainable Code

We've all been burned working with software code that, if not designed for long-term maintainability, results in expensive support over a product's lifetime. Kaushal explores three approaches that provide guidelines to ensure that software is designed with maintainability in mind. If you're a software developer, read this!

Kaushal Amin's picture Kaushal Amin

Interviews

Clean code proponent Andrew Wulf Making Testers Miserable: An Interview with Andrew Wulf

Andrew Wulf runs TheCodist blog, is the lead iOS programmer for Travelocity, and owns Idle Diversions—an iOS game company. In this interview with Noel Wurst, Wulf discusses his role as a coder to "make testers miserable," the need for clean code, and practicing agile before it was a term.

Noel Wurst's picture Noel Wurst
Agile and lean software developer Cory Moy How to Hear Your Unhappy Code: An Interview with Cory Foy

Cory Foy uses more than a decade of experience with agile and lean development to help developers create cleaner code, and also be able to know—or "hear"—when their code is unhappy. In this interview, Cory shows why constantly learning and evolving your language skills is so important.

Noel Wurst's picture Noel Wurst

Conference Presentations

DevOps West 2018, Agile Dev West 2018, Better Software West 2018 Managing Microservices Using Terraform, Docker, and the Cloud
Slideshow

Much has been written about how to write microservices, but not enough about how to effectively deploy and manage them. Microservices architecture multiplies the number of deployables IT has to manage by at least ten. In that world, tooling to manage cloud deployments and related infrastructure has become essential for success, and Terraform and Docker are increasingly being leveraged to facilitate microservices environments. Derek Ashmore will share his hard-learned best practices for deploying and managing microservices in production. He will leverage true infrastructure as code using Terraform, the leading coding framework for building and managing change in cloud environments. That code is easily reused and makes it simple to deploy and scale software, including Docker images. You will learn not only how to establish that environment initially, but how changes can be effectively managed.

Derek Ashmore
Mobile Dev Test Connected Devices, Connected Code, and Connected Teams: The Challenges of IoT Software Delivery
Slideshow

Developing software for the Internet of Things (IoT) comes with its own set of challenges and issues, including security, privacy, and unified standards. Each IoT product is comprised of (at least) three separate application components: the software embedded in the device, the backend...

Anders Wallgren
Mobile Dev Test IoT—Let’s Code Like It’s 1999!
Slideshow

Everyone is drawn to the cool new ways to connect devices to the Internet and make life easier—and a little more futuristic. But, do you know that IoT has been around since the past century? Theresa Lanowitz is one of the early advocates of what is now IoT and is thrilled that the pace of...

Theresa Lanowitz
Collocated West Logo The Soft Skills of Great Software Developers
Slideshow

Are you creating clean, high performing code? Are you following the right development practices, but still don’t feel you are getting the recognition or success you deserve? The truth is that working harder and improving your programming skills are not enough. Great developers must...

Raul Suarez

AgileConnection is a TechWell community.

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