Agile Principles
The Agile manifesto proposes four principles to craft software:
- Individuals and interactions over processes and tools: the job must be done as efficiently as possible, so tools and processes should be adapted to the team, instead of the other way around.
- Working software over comprehensive documentation: working software is the best indicator of a project’s progress.
- Customer involvement over contract negotiation: a system aims at providing values to customers, so customers should be involved in the making through short feedback loops.
- Responding to change over following a plan: change is inevitable, so adapting the plan to them when necessary should be part of our development methodology.
Even though Agile methodologies have become the de-facto way to produce software, the way they are implemented across different organizations greatly varies.
On a personal note, I use a variation of the Agile Kanban methodology to organize my work.
Combined with the accountability provided by a public Trello board, regular blog posts, and my Makerlog feed, it helps me consistently get things done while acquiring feedback and marketing my projects.
I like this combination because it also gives me an overview of the work I’ve done and where I’m headed, without being too complicated to apply on a daily basis.
I could still improve my Agile workflow by automating it more using webhooks and APIs. It would be nice to have my Github commits parsed and merged into weekly blog posts, for example.