Author

Ian Buchanan

[guest author fields > title]

I am best known as an champion of agile methods in large enterprises. During my career, I have successfully managed enterprise software development tools in all phases of their lifecycle, from cradle to grave. I have driven organization-wide process improvement with results of greater productivity, higher quality, and improved customer satisfaction. I have built multi-national teams that value self-direction and self-organization. Right now, I am a Developer Partisan for Atlassian, focused on helping the software development industry adopt better ways of working.


Warning: Undefined array key “carousel” in /srv/users/atlassian/apps/atlassianstaging/public/wp-content/plugins/curator/dist/feed/render.php on line 68

Warning: Trying to access array offset on value of type null in /srv/users/atlassian/apps/atlassianstaging/public/wp-content/plugins/curator/dist/feed/render.php on line 68

Configuration management for a consistent & resilient dev environment

Shell-based configuration management has kept my dev environment consistent & resilient for years. In this post, you’ll learn how to configure Homebrew, Git, chezmoi, fnm, and other CLI tools, so that you can quickly get through the Forge pre-requisites with fewer problems.

Aliasing authors in Git

So you’ve got a Git repository where the same person has used multiple emails. Maybe some commits were created with a mistake in the Git configuration. Maybe you used a home email address by mistake. Maybe you are merging with a new company so your old email address isn’t valid anymore. However it happened, you […]

Why agile isn’t agile without continuous delivery

Continuous delivery is both part of the agile recipe and a great revealer of inefficiencies. Moreover, in order to reap the benefits of agile, you need to be agile through all phases of the software development lifecycle. Iterative planning and development don’t count for much if your user stories and bug fixes languish in a repository for weeks on end before stakeholders and customers ever get a look at them.

Bumpversion is automation for semantic versioning

Semantic versioning (or just semver) is a specification for communicating about changes in code from one version to the next. It targets the problem of dependency hell. Dependency hell is where you are when version lock and/or version promiscuity prevent you from easily and safely moving your project forward. In short, semver specifies the first […]