It’s probably a little pedantic to argue about terminology used for a time-boxed process to deliver software, but hear me out.

For most teams following an Agile process, that time-box is called a Sprint. It’s meant to convey that the team “sprints” during a short period of time to solve story problems. By the end of the sprint, the team has not only delivered business value, but they are then ready to do it again, and again.

Where’s the problem? Would the term “iteration” generate as much visceral imagery? Does it convey an intended reality or motivate a team to…


Many years ago, I worked for a consulting company that was asked to provide “best practices” for their software development teams. Dutifully, I helped put together what I thought were some best practices that they should follow.

Today, I don’t remember what best practices I captured for that client, but I’m guessing that I’d probably cringe if I were to see them, now. Were they that bad? At the time, they were probably reasonable, but they certainly won’t be useful anymore. Today, you can find all sorts of best practices. A quick search on Google will find you 680 million…


There’s a process improvement approach that I like to use to help reduce the friction for a development team to deliver software. Since I’m a fan of “it’s not done until it’s running in production,” reducing the friction to get software to production is a pretty big deal. So, I analyze the “one line of code” process.

It’s a simple question: what is the process to get a single line of code change into production?


(You’ll want to read The Core Process before reading this article.)

While the Core Process gives us the basics upon which to understand software development methodologies, there’s more to explore. While the Core Process can be used to build a new, custom software development methodology, generally speaking, teams and organizations already have a process, so building a new one isn’t needed or even feasible. However, improving an existing process using the insight of quality’s relationship to the core Process can be profound.

If quality is the objective for building on the Core Process, defining and understanding what quality means is…


Software development is an interesting world in which no formal education, certification, apprenticeship, examination, or even much in the way of financial cost is required to get started and even to be successful. Children, teenagers, and adults of any age can get involved, tinker, build, and solve problems. Over time, “coding” has become easier, requiring less skill, money, and time than it used to. …

Dan Shellman

Broad experience in software development, from testing to development to management. Passionate about improving how we build software.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store