One of the twelve principles behind the Agile Manifesto is “Simplicity—the art of maximizing the amount of work not done—is essential.” Why is this principle called an art, while the others aren’t? And why should we maximize the amount of work "not" done? This article analyzes the importance of simplicity in agile projects.
When developing products, features, and enhancements, you have to have your customers’ best interests at heart. “We’re not just creating software,” speaker Jeff Patton said. “We’re changing the world.” You need to better understand the people you’re building things for, and the only way to do that is to spend more time with them.
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.
This article addresses a process where a team moved from a traditional waterfall model to using agile elements in order to deliver a product to a government agency. It talks about typical problems that come up in a transition to agile, complications from distributed teams, and the advantages and disadvantages of the process for government or nongovernment clients.
Web APIs have opened up a brave new world for app collaboration. James Higginbotham presents a series of guidelines that every programmer should consider in the design and implementation of a great API developer experience.
Chris Nodder explores the emerging need to focus on a software app’s user experience. It doesn’t have to cost a fortune to perform some basic user experience analysis as long as it is done early and tested throughout a project’s lifecycle.
With mobile and small embedded devices extending the reach of modern computing, the predictions are that wearable computing is definitely the next biggest thing. If you want to know more about the wearable device revolution, Mukesh presents facts that will convince you this is the next hottest trend.
Better Software magazine editor Ken Whitaker highlights the contents of the July/August issue with two articles featuring mobile and wearable intelligent devices and the challenges they present to typical software development. Ken also provides information on ordering a print copy of Better Software.
In this interview, BlazeMeter founder and CEO, Alon Girmonsky, digs into why modern businesses must adopt agile methodologies. He talks about the advantages agile has over waterfall as well as how shorter iteration windows within the testing process affect manual hand-offs.
In this interview, LeanDog cofounder Jeff Morgan talks about both the current state of agile and how we can shape its future. He digs into the different ways that people are watering it down, as well as the possibility for some other methodology to break out in the near future.
Joe Townsend has been working in the configuration management field for fifteen years and is a regular contributor to CMCrossroads. In this interview, Joe discusses how configuration management has changed over the years, the trouble with tools, and trends in IT.
Joe Justice is a consultant at Scrum Inc. and inventor of the Extreme Manufacturing project management method. He also is the founder of Team WIKISPEED, an all-Scrum volunteer-based, "green” automotive prototyping company.
Software design is about change. A good design facilitates adding features—and adding new developers to the team. Yet any change to the code impacts design and can damage existing functionality. Without design idioms and practices, the code can degrade into a maintenance nightmare...
The question of how much design to do up-front on a project is an engaging conundrum. Too much design often results in excess complexity and wasted effort. Too little design results in a poor architecture or insufficient system structures which require expensive rework and hurt more in the...
Implementing non-functional requirements is essential to build the right product. Yet teams often struggle with when and how to discover, specify, and test these requirements. Many teams neglect non-functional requirements up front, considering them less important or unrelated to user...
Software design is about change. A good design facilitates adding features—and adding new developers to the team. Yet any change to the code impacts design and could damage existing functionality. Without design idioms and practices, the code can degrade into a "big ball of spaghetti”...