Table of contents
[Skip to any section because you can]
I have been working in software development a long time. Early on I recognized the need for Process as a way of re-using best practices for teamwork. At that time, Process implied for most of us the Waterfall model, which divides a development project into discipline based phases, each to be visited once in turn, in a kind of cascade: Requirements; capture the requirements, do the Design, Implementation, Verification and Validation, Deploy, then shift into Maintenance mode. Most people still follow that model implicitly, it has stayed in the everyday consciousness of process, much like Newton's laws instead of the Theory of Relativity, much like the theory of Creationism over the scientific Theory of Evolution kicked off by Charles Darwin. Yep, Waterfall often creeps in even when people say and even when people think they are using Agile. Of course, project difficulties and even failures based on the extremely high propensity (40% minimum) for requirements to change within the life-cycle of a project highlighted the dire need for at least an Iterative and Incremental model. And when that became too top-heavy, at least in its wonderful, eye-opening but hard to tailor and work with Rational Unified Process, I moved on to a kind of personal synthesis of CMMI (love that continuous improvement and organization wide adoption!) and Agile and Scrum approaches. More recently I have loved the simpler work in process and visual approach of the Kanban as a lean variety of Agile:
“Some Agile methods take a more flexible approach to time than Scrum does. (For example, Kanban does away with the notion of a two-week batch of work and places the emphasis on single-piece flow.) But you can still make time within a Scrum sprint in which creative activities can take place.” Gothelf, Jeff (2013-02-22). Lean UX: Applying Lean Principles to Improve User Experience. O'Reilly Media.
Updated code in a repo ready to run for two great and useful Node.js Express CouchDB (and MongoDB) tutorialsThu, 2011-06-23 08:54 — victorkane
Up-to-date, executable code for two great tutorials on rolling a blog with express, Node.js and a noSQL database: https://github.com/victorkane/couchblogtut
The first, Blog rolling with mongoDB, express and Node.js, takes you "through the steps required to get a fully-functional (albeit feature-light) persistent blogging system running on top of node. It was first published on February 18, 2010 by Ciaran Jessup and last updated May 14, 2010.
The second, Blog rolling with CouchDB, Express and Node.js, was published on February 7, 2011 by Ian Wootten, and was commented on just this last April.
This pedagogical repo brings it up to date (as of June 22, 2011), makes a MongoDB branch basing the persistence on MongoDB; and a CouchDB branch (ultimately merged into Master) after the more recent article.
Due to the complexity of modern software development, you absolutely have to use software for agile project management. For the simple reason that the human brain cannot by itself separate the trees from the forest, cannot zoom in to be able to concentrate without distraction on a current task, then zoom out by degrees to see the various bigger pictures.
Any software you feel helps you is fine. The lighter the better, generally speaking.
Since one of the most important considerations is that it all be as close as possible to the code, and allow full traceability from requirements to commits and back, my latest experience is making use of GitHub itself for a self-contained, light agile process tracking experience.
You can take a look at an open source example here: https://github.com/victorkane/lit/issues