Markus Gärtner is a tester and the author of ATDD by Example. In this interview with Zeger van Hese, Markus talks about his new book, the software craftsmanship movement, and “Beyond Testing,” a workshop he’ll be delivering later this year.
In this interview, author, speaker, and agile tester Lisa Crispin speaks with Simon Baker, cofounder of Energized Work and recipient of the Gordon Pask award, about the approaches and tools his lab uses.
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.
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.
In August, Knight Capital Group lost $440 million in one day. But there weren’t any traders to blame—at least no human ones. The loss was the result of a software system upgrade gone awry. What can we learn from this and other software catastrophes in the financial sector, and how can we prevent them in the future?
What makes a team agile? Is it in the way it plans projects or how it engineers its products? In this article, Steve Berczuk explains how agile code and technical practices can help a team stay agile across the product lifecycle.
Jesse Dowdle sat down with us recently to discuss the benefits that embracing "massive" continuous integration and deployment brings to testing. Jesse is presenting the session "Massive Continuous Integration and Light Speed Iterations" at the 2012 Better Software Conference East.
Agile teams move faster when cycle times are short and code deployments are frequent. To release often, a robust suite of automated tests is a must-have. Tests are the safety net that enables fearless change. Throughout a software system's lifespan, its test suite grows, evolves, and decays.
Continuous integration (CI) has become a buzzword, with most engineering organizations claiming they've adopted the practice. However, the sad truth is that unreliable tests, long feedback loops, and poor configuration management block their efforts and minimize CI's potential benefits. Jesse Dowdle shares how AtTask radically redesigned its engineering pipeline and, through massive CI scaling, drove three days of testing to just minutes. Learn the pros and cons of different CI systems and how to integrate them with the cloud. Watch a live demo of AtTask's internal test and CI systems, which they’ve designed to make "Every commit a potential release candidate"-meaning that every commit is an iteration. Arm yourself with the talking points to sell massive CI to executives.
Many software people look at creating great user experiences as a black art, something to guess at and hope for the best. It doesn't have to be that way! Jennifer Fraser explores the key ingredients for great user experience (UX) designs and shares the techniques she employs early-and often-during development. Find out how Jennifer fosters communications with users and devs, and works pro-actively to ensure true collaboration among UX designers and the rest of the team. Whether your team employs a formal agile methodology or not, Jennifer asserts that you need an iterative and incremental approach for creating great UX experiences. She shares her toolkit of communication techniques-blue-sky brainstorming sessions, structured conversation, and more-to use with different personality types and describes which types may approach decisions objectively versus empathetically.
Using an analogy to the building codes followed by architects and contractors in the construction of buildings, Rick Spiewak explores the fundamental principles for developing and delivering high quality, mission-critical systems. Just as buildings are constructed using different materials and techniques, we use a variety of languages, methodologies, and tools to develop software. Although there is no formal "building code" for software, software projects should consider-and judiciously apply-the recognized "best" practices of static analysis, automated unit testing, code re-use, and peer reviews. Rick takes you on a deep dive into each of these techniques where you'll learn about their advantages, disadvantages, costs, challenges, and more.