Silos, silos everywhere ... and plenty of data to link!
Wikipedia has a pretty damning definition of an informationsilo: http But thinking about how we got here, I’m not convinced it’sall bad, and don’t agree with the premise that silos, in and of themselves,need to be eliminated. We are surroundedby software that is increasingly complex and interconnected. How can any oneteam contain the amount of detail needed to build even a single component ofall this interconnected stuff? As I say, almost daily, my brain can’t holdanymore! We humans manage to build thesecomplicated systems by breaking them down into smaller chunks which we looselycouple. Well then, someone has to know everything about their smallchunk, but can’t possibly understand the whole system at that level of detail. Doesn’t the same apply with disciplines of softwaredevelopment such as requirements, development and test in that there is so muchdetail that we need to divide and conquer? I’ve started thinking about softwareteam silos the way we think about our doctors. We have a specialist for thingslike cardiology, neurology, orthopedics, etc. And just like the health care industry is starting to notice thatthere’s no whole body doctor to align the different specialists, we need a wayto rise above the details in software specialties to enable whole teamcollaboration, but only at the right level of detail. There’s an old cliché that “no detail is toosmall” and that is true for us when we are specializing, but in order tocollaborate effectively across teams that care about different details, we needto find a common language, common vision and surface the right level of detailto enable collaboration. Oh, silly me, I just described Application LifecycleManagement (ALM). Indeed, in my view, assoon as teams get large enough (which is usually sooner than you think) thatthey cannot share all details about what they are building, the more likelythey are to need some help in collaborating. And while being co-located andeven better, in a team room, definitely helps, what if you are out sick? What ifyou’re not in the team room when some design decision happens? Even if the teamis dedicated and efficient, you may be out of the loop. And then there’s theall-too-common reality that teams are often not co-located and mostly not evenin the same time zone. The more complex the system being built the more scalingfactors to consider, like projects of projects, large teams with deeptechnicity and specialization to help us handle the ever-growing complexity. When everyone is co-located and teams are small, the singlesource of truth is often “handed down” like family stories. And this mostlyworks in the way that we all know some story about a long dead ancestor. Ofcourse, we will never know how many ways that information has changed with eachhand down. For software development, we need an incontrovertible single sourceof truth. And this is where ALM tools play a big part by documenting the collaboration that enableseveryone on the team to see the information they need, at the right level ofdetail they want, exactly when they need it. To me, this is the technology that allows teams to deliver on the visionof being self-directed. Information is power and it’s the power to make good,business oriented decisions. So sharing the information means teams are trulyempowered AND making good decisions. In fact, I don’t believe that there aretruly self-directed teams making good choices without access to all the rightinformation. So, maybe it’s time to stop worrying so much about creatingsilos and accept them for the value they provide. They create a wealth ofdetail that allows us to build really complicated stuff. Where would we bewithout that heart surgeon? I sure don’t want my primary care physicianoperating on me! But let’s also couple it with ALM to offset the dangers ofsilos – lack of communication and collaboration. Maybe we can lead the way andshow other disciplines (medicine included), how to leverage silos and actuallycreate better collaboration for an even better outcome.
|