Tuesday, November 10, 2015

Similarities between Medical teams and Agile IT Teams


From my own knowledge/reading and being married to a health-care professional, I've come to see many parallels that makes a discussion about how the field of medicine tackles teamwork and how it is done in IT.

Parallel 1: Team Based Approach

Over the past several years, health-care has become more of a team sport.  Rather than having one individual tend to patient needs, these responsibilities have been spread out to a team of health-care professionals.  This team is meant to act as one, having to gain a shared mental model of the situation, learn to work together while taking the lead from a central actor, and all have specialist knowledge that needs to be surfaced at the right time.

To me, this is essentially what an agile team has become.  Long ago are the days where a single developer/architect/person could hold the complexity of a solution to themselves.  We now have a clear distinction between front-end and back-end developers.  UX is super important, and generally we have a specialist that deals only with that area.  Integration is a different beast then standard storage options, and generally someone with competency in that area is required.  Not to mention other areas such as security, performance, and testing.  Even when those specialists don't exist, someone has to play that role.  In agile teams, these roles are distributed within the team in a "best-fit" format.  Or short-straw, depending on how your scrums go. 

Parallel 2: Roles are sorta-clearly defined in a dynamic way

From offices to the emergency room, medical teams are created (sometimes on the fly) to attend to patient needs.  Generally in these teams, there is a doctor who essentially is the lead.  They job is not only to be the lead, but also know the most.  Of course we know that isn't possible, and hence there are specialists that also make up the team.  Depending on the situation there may be an array of specialized nurses, technicians, or other disciplines.  With recent developments in patient-centric care, a lot of literature on the subject also includes the patient in the team and defines roles and responsibilities for that individual.

This parallels quite well with how agile works.  Regardless of the size of the agile team, there is generally a team lead or scrum master, several team members with varying skill and specialty, the product owner and the stakeholders.  Agile is about a team lead working closely with a product owner to deliver success in a project.

In both cases above, the roles on the team shift depending on who is on the team and what skill sets they bring in.  For example, you may have a technically weak scrum master who is great at communicating and keeping on top of things.  This person may share the role of "lead" with that of a technical guru also on the team.  The same can happen (although with less frequency) in the medical world.  In the event of an emergency, what happens when there is no doctor there to lead the charge?  Somebody has to play that role.

Parallel 3: Teams form, disband, and re-form with different configurations

At an almost breathtaking pace, as compared to IT, medial teams form to deal with a specific case and then re-form to deal with other cases.  This is essentially what happens in agile teams as they transition between projects.  The main difference here is the speed at which this occurs in the medial arena. 

While there are probably more parallels that can be drawn, I think that it is safe to say that there is a lot of overlap between how medical teams operate and how agile IT teams operate.  The medical community has been trying to tackle these concepts for quite some time now.  What interests me the most is the discussion on competency.