Example: An Embedded Software Team

  • There are two teams that maintain software that runs in a consumer device.

  • There are two team members, one on each team, who were the original designers of the embedded software. They work really well together, and they also behave as natural mentors to other team members. Thus, there is no need for a designated team lead or tech lead. We will call them the team leads, however, since they are de-facto team leads.

  • The software is written in C, and most of the programmers on application teams do not know C, so only these two teams are able to modify the software. That is immaterial though, because these teams want to maintain control of the design to ensure its cohesion and correctness, as it runs on a real time operating system and most application programmers are not skilled in real time programming.

  • Data from the embedded software is sent as telemetry over the Internet to cloud applications that process the telemetry.

  • The team leads have formed relationships with the tech leads of all of the application teams that process telemetry data. Those teams know that whenever they want new features in the embedded software, the embedded team leads are very willing to discuss it and plan for it.

Related Topics