transparency is undeniably more efficient.
Developing products on your own with inadequate checks and balances for long stretches of time might seem acceptable, or even cool, for a while -- if you're inexperienced or a cowboy. But in reality, it's a burdensome and buggy process. It's rife with questionable decisions, bad habits, and shortcuts. Egos get tied too closely with methods and products. Change causes pain. Troubleshooting and maintenance becomes a real killer.And pity those who inherit the lone wolf's pile of work later on.
Lean-Agile's systematic approach helps ensure that the entire team is aware of what is being worked on and how the work is progressing. Tracking tools (we use FogBugz to good effect), Kanban boards, incremental unit- and acceptance-testing, daily standups, iteration planning sessions, retrospectives, and vigilant facilitation at each point in the process help to keep team members from straying off course or going underground.
problems cannot hide.
Agile's transparency can work so well that it is sometimes misunderstood as the cause of dysfunction and antipatterns. What it is actually doing is uncovering quagmires that have been hiding there all along.Shortly into our own Agile implementation, a group of items infested our product backlog and refused to go away. These Zombie Features and Defects made something that we suspected all along abundantly clear: We were spending too much time on certain customizations at the expense of working on far more valuable common-good products and services. It also became apparent in our planning sessions that multiple projects vied with one another for top priority. And of course when several projects are a top priority, none of them are. Lean-Agile gave us the tools to quell priority conflicts and really prioritize -- but I'll say more about that in a future blog post.
everybody is informed. everybody learns.
Agile team members must be highly cognizant of one another's work. They have to be involved in planning iterations, evaluating the team's overall progress, stepping in where needed, developing and agreeing on best practices, and testing and vetting one another's contributions. Cross-functional learning is an integral part of the workflow. Team members develop an ever-increasing understanding -- and a deeper appreciation -- of other specialties.Finally, as a project manager, I have a good idea of where our team is on all projects, what our capacity is at any given time, and what impediments block our progress.
Without this, I'd be pushing a river up a ladder in the dark.