Team Organization
With defined roles in place, the next phase involves outlining how these diverse professionals can collaborate effectively. Our team’s workflow has continuously adapted to meet its evolving requirements while remaining faithful to our core principles.
Methodology
As our team expanded, it became essential to establish clear sub-roles and sub-groups within the entire team to delineate responsibilities and boundaries for both groups and individuals. Drawing inspiration from the Agile methodology, as outlined by Henrik Kniberg and Anders Ivarsson, closely aligns with how our team operates, providing the added advantage of a standardized terminology. However, our team’s organizational structure also incorporates specific modifications to accommodate our unique requirements.
The team is structured into several units, namely Squads, Chapters, Guilds, and Areas.
Squads
A squad is a cohesive, cross-functional team assembled to tackle specific projects, whether they are for clients or internal purposes. Typically, a squad consists of diverse members, including a Product Manager, a UX/UI Designer, an Engineering Lead, a Team Lead Developer, and several developers. This blend of roles ensures that the squad possesses the necessary expertise to handle all aspects of the project effectively.
- Squads serve as the foundational units for project teams.
- Each project, whether for a client or internal purposes, consists of a dedicated cross-functional squad comprising:
- 1 Product Manager (PM)
- 1 UX/UI Designer
- 1 Engineering Lead (EL)
- 1 Team Lead Developer
- 2-3 developers
- Squad members are responsible for the entire project, similar to a mini-startup.
- Squads have the freedom to make product and technical decisions, guided by the client’s or company’s mission.
- The Product Manager collaborates with squad members rather than overseeing them.
- Squads adhere to regular rituals, including:
- Daily standups
- Weekly sprint planning
- Weekly sprint reviews
Chapters
Chapters regroup individuals who share mastery in a skill and/or domain, i.e., people who do similar work. The team has the following chapters:
- Product Chapter
- Web Chapter
- Android Chapter
- iOS Chapter
Purpose of Chapters
The purpose of a chapter is to share knowledge, learn from each other, and reduce the silo effect and sense of isolation. Since not all chapter members are part of the same squad, chapters help reconnect all members and share knowledge across projects.
Chapter Leadership
Chapters are led by a Chapter Lead, with leadership rotating every six months. Chapter Leads are not bosses but are servant leaders whose main purpose is to support and nurture chapter members as individuals and as a group.
Chapter Ritual
Each chapter has one ritual: Bi-weekly retrospectives.
Guilds
A guild is an open group centered around a specific interest, allowing anyone to join or leave at any time. Some of the existing guilds are:
- Infrastructure Guild (devops)
- Security Guild
- Node Guild
- React JS Guild
Purpose of Guilds
The purpose of a guild is to share knowledge and instigate new initiatives. Guilds provide a platform for members to collaborate on common interests and foster innovation within the team.
Guild Leadership
A guild is led by a Coordinator. The Coordinator is responsible for guiding the guild and facilitating its activities.
Guild Rituals
Guilds have no compulsory rituals, but each Coordinator can decide to hold Monthly retrospectives if they find it beneficial for the guild.
Areas
The company superstructure consists of four business areas:
Business Operations
- Managed by: CEO
- Sub-areas:
- Office Operations
- People Operations
- Talent Acquisition
- Each sub-area is managed by a manager and is comprised of associates.
Engineering
- Managed by: CTO
- Supported by: Engineering Leads
- Comprised of: Software developers
Product
- Managed by: CPO
- Comprised of: Product managers and UX/UI designers
Sales
- Managed by: CEO
- Supported by: Sales Managers
- Comprised of: Business development associates
Common Rituals
Each area has distinct rituals, but the following rituals are usually followed across all areas:
- Daily standups
- Weekly or monthly planning sessions
In Practice
Each teammate can be a member of multiple squads, chapters, guilds, and tribes as they can be involved in many internal and external efforts. These overlaps - which are quite normal - could be very confusing and create inefficiencies without a proper nomenclature.
Developer
A Developer has these standard memberships:
- Client-Project Squad: One client-project squad, as clients are provided with dedicated squads, ensuring that developers work on only one project at any given time.
- Chapters: At least one Chapter (Android, iOS, or Web), or multiple based on their skill sets.
- Guilds: One or more Guilds based on their interests.
- Engineering Area
Product Manager
A Product Manager has these standard memberships:
- Client-Project Squads: At least one but usually multiple client-project squads. Contrary to development, Product Management is not always a full-time activity, hence the involvement of Product Managers in multiple squads.
- Product Chapter
- Guilds: One or more Guilds based on their interests.
- Product Area
UX/UI Designer
A UX/UI Designer has these standard memberships:
- Client-Project Squads: At least one but usually multiple client-project squads. Contrary to development, UX/UI is rarely a full-time activity during the whole lifetime of a project, hence the involvement of UX/UI designers in multiple squads.
- Product Chapter
- Product Area
In addition, a UX/UI Designer might have the following optional memberships:
- Other Chapters: One or more other Chapters (Android, iOS, or Web) based on their skill sets.
- Guilds: One or more Guilds based on their interests.