Who is Agile for? — Agile Heretic Episode Two
Software and IT touches every part of our lives, yet software people are usually lacking in understanding of the context where their software will live.
Managers, developers, customers, and the forgotten parts of the team (UX, QA, Ops, etc.) are all crucial to creating working code.
To address each:
Managers — You are anything from a scrummaster to CEO. You are the people tasked with making sure tasks get done. You are responsible for budget, delivery, and “performance.” Your job: make sure people have what they need, that you understand the complexity of their work, and that they understand the goals of the company. You only get this through direct involvement.
Developers — You actually type up the code. Your job is to make sure you understand (very well) what people need from your software and to write as little code as possible to achieve that. You do not bloat. You do not allow technical debt. You worry over bugs before features. You get out of your chair and talk to everyone (customers, managers, UX, testers, ops) until you are certain you know what you are doing — whether its complete code or just a spike. You are responsible for every line of code you write.
Clients, Customers, and End Users — You need to talk to the team often. You want value, but you don’t know what software is capable of providing. Telling a team to provide a feature might get you what you ask for, but that’s all you get. They are capable of providing much more. They are professionals. They know what is possible. You know your context. They don’t. They more they understand you, the better solution you will receive.
UX, QA, Ops, and every other marginalized group in the office — Cross functional teams rely on you for quality. Crummy code is created by developers that don’t have UX to guide them and QA to check. But your value can’t be silo’ed. A cross functional team doesn’t operate in succession. UX, development, and QA need to work together in real time to write code without technical debt. Quality is built in up-front. Otherwise we get what we all get right now, crap code that ignores UX direction and relies on massive rework to get to a stable release.
Dream of the Team
Even my fellow “agile stalwarts” know that it’s nearly impossible to get coders to write unit tests. We also know that we have never been good at obtaining the grail of the cross-functional team. Every agile team I’ve seen still silos people. We still treat coding as an individual event. We know pair programming works. We know collaboration works. We know unit tests work.
We just don’t do it.
These videos are for people, regardless of where they find themselves in the current food chain, who want to build better ways of working.