Skip to main content

Brad Appleton

Profile picture for user bradapp

Member for

9 years 4 months

Brad Appleton is an Enterprise Agile+DevOps leader, coach & manager, and seasoned DevOps/ALM/CM solution architect at a large Fortune 100 company. Currently he helps organizations and teams scale, adopt and apply lean/agile development methods and DevOps/ALM/CM practices and tools. He is co-author of Software Configuration Management Patterns, a columnist for the AgileConnection (and CMCrossroads) at Techwell.com, the Streamed-Lines branching patterns, and a former section editor for The C++ Report. You can read Brad's blog at blog.bradapp.net.

Company
Walgreens
Job Function
Development
Job Title
Agile Leader/Coach and ALM/SCM/DevOps Solutions Architect
Industry
Computer Software - SaaS
Interests
Agile
Architecture
Artificial Intelligence/Machine Learning (AI/ML)
CI/CD and Containerization
Cloud
Configuration Management
DevOps
DevSecOps
Leadership
Lean
Monitoring/SRE
Open Source
Performance Testing
Process Improvement
Project Management
Release Management
Requirements/Business Analysis
Software Development
Software Security
Test Automation
Testing/QA
Digital Transformation
Country
United States

Brad Appleton is an Enterprise Agile+DevOps leader, coach & manager, and seasoned DevOps/ALM/CM solution architect at a large Fortune 100 company. Currently he helps organizations and teams scale, adopt and apply lean/agile development methods and DevOps/ALM/CM practices and tools. He is co-author of Software Configuration Management Patterns, a columnist for the AgileConnection (and CMCrossroads) at Techwell.com, the Streamed-Lines branching patterns, and a former section editor for The C++ Report. You can read Brad's blog at blog.bradapp.net.

All Articles by Brad Appleton


All Stories by Brad Appleton

Agile Software Configuration Management: Communications and DocumentationAgile software configuration management concepts and right-sizing the documentation on your projects are discussed.
Agile SCM: Basics for Small TeamsA
Agility Throughout the LifeCycle: The Rise of DevOps

DevOps is steadily gaining traction and currency, particularly in the world of web apps. Below you will find an introduction and some pointers to resources and further reading. Many DevOps principles have been around for a long time. This is similar to agile methods and, in some ways, a repackaging of existing principles.

CM as Communication and Coordination EnablerThis article includes some of the material that Geoff Thorpe presented at a BCS CMSG event where he discussed the control of applications using change management, release management, and configuration management techniques. He discusses applications control from a hardware and software perspective.
The Decline and Fall of Agile SCM—and the Rise of Lean SCMThere are definite signs of Agile methods (with a capital A) may be losing mind share or, at the very least, suffering from a certain amount of perhaps over-hype or over familiarity. Or maybe it is just the rise in cases of AFS (Agile Fatigue Syndrome). For some, agile is giving away to the rise of lean software development. Where will it end?
How Does Software Development Fit in with ITIL's Configuration Management Database?H
Sometimes, You Just Need to Slow DownWhile it may seem that slowing things down is undesirable, such approaches often work very well and produce a higher throughput than the original (seemingly more active and energetic, if perhaps rather more frenetic) process. The downside of these experiences is that they make it easy to confuse manage with control, and even easier to interpret control as inhibit.
Beware the IDE: The Risks of Standardizing on One IDE

Two topics that are likely to launch a development team into an impassioned discussion are development standards and development environments (IDEs, editors, etc). Combining the two topics into that of standardizing on development environments, is even more likely to spark debate. Decisions about development tools affect the day to day workings of each person on the team as well as the productivity of the team, and as such are important to discuss as a team organizes itself.

Agile SCM - Review of 2008 and Predictions for 2009Brad Appleton, Steve Berczuk, and Robert Cowham look back at the world on software configuration management for 2008 and make predictions for 2009.
God Rest Ye Merry GentlemenAs a piece of Christmas cheer we bring you a traditional olde English carol. It is believed that this particular carol was sung to programmers by configuration managers to earn additional money during the Christmas season. The lyrics (including mention of Mil-STD-973 and CMM among other themes) are reputed to date back to the 15th century although the author is unknown. We have been lucky enough to track down a recording of this traditional carol—click the start button.
Getting Started with Agile SCMA prerequisite to any of the Agile SCM practices, such as integration build, private build, unit tests, and the like, is being able to set up a developer’s private workspace with the right code and tools so that you can code, build and test. In this article, we discuss the important, and often overlooked process of creating a development workspace, which is to say, getting started.
Defining Agile SCM: Past, Present & Future (2008)We would like to revisit our definition of Agile SCM. In our earliest articles on the topic, we defined Agile SCM as, "The pragmatic application of sound CM principles and practices in accordance with agile values and lean thinking to serve the needs of the business!" We wish to elaborate what that means in terms of SCM for agile development, but even more importantly in terms of how we should apply agile, lean, and their related principles to SCM processes and procedures.
Breaking News: Build Still Important, but Deployment Is King!

Brad Appleton, Robert Cowham, and Steve Berczuk continue to explore the role of build and deployment in configuration management. While the details may change from year to year as technology evolves, the underlying principles remain the same. Regarding building, we are going to take the opportunity to provide a guide to some of our previous articles that still hold true.

Product and Project Software Configuration Management (SCM)

In this article, the authors discuss how software configuration fits into products and projects, beyond managing and controlling source code and other developer assets. They look at the differences between internal and external products and where project fit into the equation.

An Agile Approach to Release Management

For teams practicing Agile Software development, value working software over other artifacts, a feature from the release plan is not complete until you can demonstrate it to your customer, ideally in a shippable state. Agile teams strive to have a working system ("potentially shippable") ready at the end of each iteration. Release Management should be easy for an ideal agile team, as agile teams, in theory, are ready to release at regular intervals, and the release management aspect is the customer saying, "Ship it!."

Transparency improves Governance

The article discusses IT governance and compliance, which tends to suggest more formal and rigorous processes. The authors explore how you can agile practices with in the framework of governance and compliance rules and regulations.

Agile SCM - Review of 2007 and Predictions for 2008

In this January article, the authors look back at the software development landscape in 2007 and make predictions for 2008.

Testing's Role in the Software Configuration Management ProcessIn this article, the authors cover how testing can support any SCM environment and how testing can be part of the SCM process. They outline at patterns, roles, automation, and the never-ending search for simplicity.
Testing is Essential to Agile SCMRather than being an afterthought for SCM, an appropriate testing strategy is what enables an SCM in an agile environment. To be more agile, you need to avoid the silo-based perspective of development, SCM, and testing being three different disciplines. Instead, think about how the processes in one part of your development ecosystem affects what you can do in the others.
Lean-Agile Traceability: Strategies and Solutions

For some lean/agile practitioners, the idea of maintaining traceability among different development artifacts is nonsense. There are times, though, when traceability is required and other times when it's highly valuable. We need to develop a value mindset of transparency in our processes and approach so that traceability requirements can be satisfied with minimal effort.

Lean Metrics for Agile Software Configuration Management

Taking an lean-agile slant on metrics for configuration management, the authors focus on ways to measure the value CM and SCM adds to the project and product and how to measure flow and waste.

Agile SCM - Relating Patterns to OOD, TBD and POB PrinciplesThe authors look at SCM patterns and consider the relationships between those patterns and object-oriented design principles of version-control for task-based development (TBD). They then move on to explore SCM principles for codelines, branching and promotion—project-oriented branching (POB).
Principles of Agile Version Control: From Object-oriented Design to Project-oriented Branching

In this article, the authors explore translation of object-oriented design principles to codelines, branching, and promotion. In addition, they expand on the concept of moving from task-based development (TBD) to project-oriented branching (POB).

Characteristics of the Agile SCM SolutionThis article focuses on the characteristics of SCM solutions, tool, and environments that are necessary to for agile development to succeed, particularly about agile SCM striving to be as transparent and "frictionless", automating as much as possible.
"Agile" Change Management: From First Principles to Best PracticesThis month we will discuss what agile change management is, what it means, and how to do it. First, we will describe what we mean by agile change management and give some examples of the relevant parts of some agile methods. We will then discuss how to make change management agile and some of the principles and techniques behind it.
Agile SCM: It’s All RelatedIn this article, the authors the use of basic patterns that can help build a software configuration management process that works well with your agile development environment. They discuss how codeline policy, private work spaces, smoke tests, private system builds, integration building, unit testing, and regression testing all work together to enable you to maintain an active development line.
Is Continuous Integration Just Another Buzz Word?Last month we wrote that we would be addressing some questions and concerns raised by readers who gave us feedback on previous articles. We still intend to address these concerns. However, since the theme for this month (continuous integration) is one of the core "enabling practices" of agile methods like extreme programming, we felt it necessary to shift our focus this month to cover it instead of what we had originally intended.
Agile SCM – Build Management for an Agile TeamA number of people work together to develop a software application. The application is useful only when the components each person works on come together: the process of integration. The mechanics of integration happens during a build. Last month we discussed continuous integration. Integration implies building and this month we'll talk about the various kinds of builds one does during a development process.
Continuous Staging: Scaling Continuous Integration to Multiple Component TeamsThis month we will discuss some of the difficulties encountered when attempting continuous integration for multiple component teams working together to develop a large system. We describe the concept of a staging area to help coordinate the teams and stabilize the interdependencies between built versions of components.
Best Practices of Agile SCMThere is a good amount of training, discussion and many articles concerning software configuration management (SCM) standards that tell us to implement configuration identification, status accounting, routine auditing, etc. All of this information is good and very important because it helps us understand the overall objectives. Rarely, though, do you find real tangible approaches for "how" to actually implement solutions that accomplish the objectives. This article will discuss a typical SCM Implementation engagement focusing on some practical best practices in order to achieve the objectives of the many CM standards out there. These best practices won't apply to all situations.
Software Configuration Management PatternsPatterns and pattern languages are tools that can be used to help a team be more effective and agile. They can lead to robust, effective solutions, because the solutions that patterns can lead you to take the environment into account. They also solve problems in a way that makes the system work better. This article will show you how you can use existing patterns to improve your SCM process. It will also help you to understand where existing patterns and pattern languages have gaps.
Principles of Agile Version Control: From OOD to TBDIn this article, the authors discuss the principles of version control that help enable agile development. With an understanding of the principles of object-oriented design, as well as the principles of agile development, they can derive the principles of agile version control. We focus on the principles of object-oriented design (OOD) and how we can use them to derive corresponding version control principles for task-based development (TBD).
Feature-Driven Development: An Agile Alternative to Extreme ProgrammingFeature-driven development (FDD) has the more traditional progression of a systems-engineering life cycle mode as compared to agile methods. It uses distinct phases in its iterations while still being highly iterative and collaborative. FDD does conduct up-front planning, design and documentation and relies very heavily upon domain modeling.
Learning from Concurrent, Parallel, and Distributed Systems Design

This month we do a bit of a context switch from the world of parallel development to the world of concurrent, parallel, and distributed systems design (and then back again). The purpose is to see if any of the same patterns of concurrent, parallel, and distributed processing apply to the case of concurrent, parallel, and distributed development.

Agile Build Promotion: Navigating the Ocean of Promotion NotionsIn this article Brad Appleton delves into the realm of build status accounting to discuss various build promotion models and how to choose an appropriate and effective implementation of a build promotion lifecycle.
The Agile Difference for SCMThe authors describe what they believe are the root causes of key differences between agile and traditional development and how they change certain assumptions SCM has about software development.
Agile Configuration Management Environments

How can software configuration management be compatible with agile software development? Aren’t the two diametrically opposed to one another? Sometimes it may seem that way. There is a commonly perceived tension between SCM and development agility that makes it difficult to achieve an effective yet precarious “equilibrium” between the two:

Codeline Merging and Locking: Continuous Updates and Two-Phased CommitsThis month we will discuss the subject of merging our changes with the codeline. First we will outline the basic process to use. Next, we'll mention some of the obstacles that arise, and strategies to overcome them. We will conclude with a discussion of how to decide which strategies are right for you!
The Need for Agility in SCMWhat is agility? Summarizing from last month's article agility is “The ability to both create and respond to change in order to profit in a turbulent business environment…. What is new about agile methods is not the practices they use, but their recognition of people as the primary drivers of project success, coupled with an intense focus on effectiveness and maneuverability.” [2]