Rainy Sundays

Rich Gwilliam's digital shed

Agile

Most offices don't use Agile as proscribed by the documentation, nor should they. Agile is a collection of many practices and god knows enough people have wanted to make their contribution to the doctrine.

I have, in the past, been threatened with events including Lego. If that sounds fun, remember that the fun of pizza parties was killed by turning them into an apology for late work. I don't want my Lego to go the same way.

The truth is, I think, that Agile is a box from which any company should thoughtfully select a toolset that fits their work, their management, and their team. Here's a couple of the tools that I've encountered.

Scrum and Sprints

Scrum is an approach to Agile development techniques in which the team iterate over a regular schedule of events - a "sprint" - during a fixed period of time (most approaches I've seen use sprints of two weeks). These sprints typically include, each iteration, a couple of features:

Stand-up meetings

Originally standing up was intended to keep everyone uncomfortable, and so keep the meeting short. I've not encountered many offices where this is observed, but a short daily meeting to register intents for the day, obstacles and expectations is often a great idea.

Sprint planning

These vary. While some regard this as a simple opportunity to brief developers on the tasks that are planned for the sprint, I've seen it used as a very effective opportunity for knowledge-sharing, discussion and analysis of each ticket.

I would say one of the limitations of an Agile approach is the implicit assumption that every developer has something approaching equal knowledge of the codebase and that's simply not true. But by using spring planning in this way knowledge sharing becomes inherent, and it quickly becomes clear if a task is best suited for one specific person.

Sprint retrospective

This is an opportunity to reflect, to perhaps comiserate, or maybe to brag. Each developer takes stock over their own accomplishments during the sprint, whether it was what they hoped for, or the pitfalls they learned about.

This is absolutely NOT for recriminations, rather to learn about potential hazards in the codebase, and problems in the development cycle, and to improve personally next sprint.

I've been using Agile since Jun 2020 (5 years).

Engagements using Agile

Senior Web Developer

Vivedia

Jun 2020 - Jul 2021

At Vivedia I worked on high-volume API systems providing on-demand streaming video to customers. As a personal project, I updated internal systems to greatly improve the efficiency of services supporting the vital ops team.

  • PHP
  • Laravel
  • Vue
  • Agile
  • API development
  • DataTables
  • Ops Development
  • Git
  • Jira
  • Project planning
  • CICD

Full-stack Developer / Devops Engineer

Hidden

Jul 2022 - Jul 2023

At Hidden, I filled the role of an API Developer as well as a Devops Engineer. I updated and expanded existing legacy code to run on AWS Lambda functions for increased efficiency, and created Jenkins build servers for the Unity development team.

  • HTML
  • Vue
  • CSS
  • Javascript
  • Typescript
  • LAMP Stack Admin
  • Linux
  • Agile
  • Ops Development
  • Git
  • PHP
  • Amazon EC2
  • Amazon S3 Buckets
  • Amazon Lambda Functions
  • AWS Suite
  • Amazon API Gateway
  • Amazon Cloudflare
  • Postman
  • API development
  • High capacity systems
  • Stable Diffusion
  • Figma
  • FTP
  • Git
  • Phinx
  • Database Migrations
  • Jira
  • Project planning
  • CICD
  • Jenkins
  • Technical writing
  • Generative AI

Contract Senior Full-stack Developer

Polygon

Jul 2024 - Nov 2024

Maintenance and upgrade of a legacy native PHP 5.6 API with massive data sets to provide new functionality for clients both inside and outside the company.

  • PHP
  • HTML
  • CSS
  • Javascript
  • API development
  • Postman
  • Vue
  • Apache
  • Database Migrations
  • Agile
  • Git
  • SQL
  • NPM
  • Jira
  • CICD