One common complaint about test automation is that it’s too brittle. Small changes in the system can cause lots of rework during the automated checks. In this article, Clint Hoagland shows a way to fix “the brittleness problem” by using the right abstractions in your automation design.
Kristin Cowhey explains how z/OS development has evolved throughout the years and what that means for developers and tech personnel. With legacy developers leaving the workforce, there’s a dire need to replace the knowledge in order to maintain the mainframe systems and applications that are still in use today.
Bob Aiello explains that software engineers and architects do an amazing job designing a system’s architecture that fully represents all of the parts of the system that are created during the development lifecycle. However, one of the biggest challenges is understanding how each part of the system depends upon the others.
Enterprise development organizations are increasingly embracing agile as a concept, if not entirely in practice. That’s because adopting and scaling agile methodologies for large, complex enterprise software projects can seem daunting. Larry Ayres shares some tips for scaling agile development for enterprise software.
One of the most effective approaches to DevOps involves moving the automation of the application build, package, and deployment upstream to the beginning stages of the software development lifecycle—an industry best practice long before DevOps became as popular as it is today.
What happens when defects go unnoticed until it is too late? Mayank provides an insightful view of the true cost of not providing enough test coverage during a software development lifecycle. He also suggests some techniques to ensure that defects are identified and mitigated early.
Agile projects assume that test planning, test creation, and test execution take place throughout a project's lifecycle. So the need for unit testing (and especially automated unit testing) can't be ignored and should be considered as a key responsibility of the entire team—not just the software developers.
When you think of configuration management, build automation and version control usually come to mind. Dave presents a perspective that shows the important role CM plays in the entire product and project lifecycle.
Hans Buwalda's experience covers being a developer, manager, and principal consultant for companies and organizations worldwide. In this interview, Hans talks about using keywords effectively, tests that have too many details, and the changing testing industry.
Greg Avola is the CTO, developer, and cofounder of Untappd, the popular social beer network. In this interview, Greg discusses fast-paced mobile development, crowdsourced testing, and new testing tools that can help you navigate many different mobile platforms.
Josh Michaels is an independent software developer who makes apps for the iPad, iPhone, and Mac under the company name Jetson Creative. In this interview, Josh discusses mobile development, testing aggressively, and keeping users happy.
With twenty years of commercial software development and testing experience, Regg Struyk has developed for several software testing tools including test integrity, iTest, and Polarion QA. Regg is continually analyzing testing trends and their potential impact on software testing.
More than two decades ago, Richard P. Gabriel proposed the idea that “Worse Is Better” to explain why some things that are designed to be pure and perfect are eclipsed by solutions that are compromised and imperfect. This is not simply an observation that things should be better but are...
Transforming an organization to become agile requires more than just changing the development process; it requires a complete culture shift. Yet, the focus of most agile transformations is on changing the process aspect of work. Sustainable, effective agile transformation affects all...
Test-driven development (TDD) is a powerful technique for combining software design, unit testing, and coding in a continuous process to increase reliability and produce better code design. Using the TDD approach, developers write programs in very short development cycles: first the...
Robust configuration management (CM) practices are essential for creating continuous builds to support agile’s integration and testing demands, and for rapidly packaging, releasing, and deploying applications into production. Classic CM—identifying system components, controlling change...