Cluster Programming presents lean deliveries, agile development & test driven methodology from an entirely new perspective.
We are practicing and inspiring others to practice market friendly (delivered well in time, agile & lean), cost friendly (fixed cost of lean & agile development. Yes, you read it correct.), team friendly (stress free environment for entire team) ways of delivering software products and platforms on time (Plan & scheduled deliveries are always met) that simply work.
A cluster must necessarily be a group of Volunteers, instead of being resources assigned to the project, project or task in hand. A cluster can be a team, a group of teams, a technology group within organization, a merged team originating from any of these, external resources, consultants, product owners and just about anyone ready to look at the project, product or task in hand as a challenge they would like to volunteer for. A volunteer will always be agile and come forward for contributing their best skills.
Lean deliveries are a significant key to cluster programming. Delivery early. Deliver small. Deliver quicker. Each cluster member contributes proactively, diligently and voluntarily. For cluster member, agility becomes in their way of life, not just a term they refer to during development or when they are at work. Each cluster member continuously and perpetually improves their skills at every opportunity they get. Be agile and empower your cluster to be agile. Seek opportunities to help the cluster.
Planning and scheduling is the next significant strength of cluster programming. Nothing can be more chaotic than a group of people collectively taking up a task, without having a plan & schedule to accomplish it. Poker planning (SCRUM) or similar techniques can be used to estimate the complexity of the task, plan to accomplish it and scheduled lean deliveries.
Product owners or clients are inherent part of the cluster. Before the cluster begins to achieve a task, it must be agreed mutually with the stake holders for its plan & schedule. Approval for the estimated time & schedule is must for the cluster to stay focused when taking their foot forward to volunteer. This specially helps product owners to keep the expenses in budget. A task should never cost than its worth (as approved) just because a cluster is working on it instead of an assigned resource.
Quality comes first. Market drives all products. Behavior (BDD) and test (TDD) driven development are the techniques to keep the cluster focused, precise and lean. Even a code as simple as a single expression can become the reason for a product tumbling in the market, if the code is not covered by test scenarios. Do not write the code before the test scenarios. Quality assurance is not confined to the code developers write. It must be visible in the delivery. The cluster must be ready with a proof of fully functional delivery within the constraints of requirements approved by the stake holders.