Within that structure, you also need protocols for standard technical concerns like data management, user experience, and backend services to make sure all contingencies are covered in every project and you aren’t creating technical debt. If any of those concerns fall through the cracks, your project won’t be successful.
At Worthwhile, we use guilds to make sure all of those bases are covered. Each guild is comprised of a team of developers with a primary technical focus, and each developer is a member of one or two guilds.
Guilds allow us to accelerate development by allowing a larger team to collaborate on the solution. By enabling team members to specialize and gain expert skills in a smaller domain the whole team can learn at an accelerated pace. To divide work effectively, we have developed 8 guilds centering on essential focus areas.
Here’s how we break it down:
- Architecture – Design how to divide the problem up into components. This includes finding appropriate name space boundaries, domain research, and diagraming how the different parts of the system will all connect and speak to each other.
- Product Management Office – Facilitate the agile development team and manage processes. This includes the scrum master, project management, and quality management.
- UX Design – Design the user experience and styling by creating prototypes. This includes team wireframing with paper prototypes, mockups, and mid-fidelity prototypes.
- API – Build out backend API services that are responsible for enforcing data integrity, user access controls, and orchestration of backend services. This includes setting up the connections between the data and determining how the frontend can query to display and interact with data.
- Data – Select the best database solution for the use case, create test data and database configuration code and migrations when required. This includes data architecture and database management.
- Mobile – Design and build for mobile applications. This includes contributing to design and prototyping through building the mobile user experience on top of back end services created by the API guild.
- Site Reliability Engineering (SRE) – Keep the system up and running. This team specializes in continuous integration, delivery, and deployment. This includes security, scalability, uptime, and incident response.
The systematic approach we take with these eight guilds allows team members to become experts in one part of the project more quickly as compared with outsourcing developers who use the full stack approach.
How Guilds Support Cloud Native Software Transformation
A microservice architecture is the key to building successful cloud native applications, and guilds streamline that process. In essence, this means we build and deploy individual components independently from each other to facilitate agility and scalability alongside speed of innovation. To ensure the success of each project, we:
- Implement design thinking to focus on customers with empathy.
- Implement DevOps practices to focus software developers on agility.
- Implement microservice architectures as the focus for reusability and integration.
- Bring a software engineering view to operations and automate everything.
Our goal with these four factors is to establish a reliable design approach and deliver successful outcomes for every client.
Using guilds gives us the leverage we need to address every component of the design, handle concerns that may arise, and make sure nothing falls through the cracks.
But what exactly does it look like in practice? Here’s how a typical project might play out:
- Conduct an initial design thinking hills workshop with the client, followed by an Internal Roadmap workshop. In the Roadmap workshop we discuss features and benefits with representation from every guild.
- Conduct follow-up user needs and roadmap/effort evaluation workshops. These workshops will also include multiple roles, but they will flow out of the initial architecture design.
- Develop a UI/UX design prototype. Once this is ready, we review it with sponsor users to validate ease of use, and then share it with the whole team.
- Begin developing individual components. UI/UX works on front-end development, data and API guilds work on back-end development, and SRE starts putting pipelines in place so code can be shared and components can “talk” to each other. The project manager checks in throughout and assists with integration testing.
- Launch solution – The SRE guild and the PMO guild lead efforts of launching the product and getting it to the client for user acceptance testing with other developers supporting.
- Monitor the solution – SRE and product management guilds monitor the solution after the launch and interact with the client as needed for CI/CD, security, error handling, and uptime.
- Mobile – If the client needs a mobile solution, that is usually handled as a singular piece that addresses a native UI that accesses API backends.
Driving Change Through Innovation
Becoming an expert in modern cloud technologies takes time. Guilds help us accelerate development by adding developers to the team and dividing the work. Within each guild, team members specialize and gain expert skills in a smaller domain.
By zeroing in on each of the critical components of the development process, we have deliberately structured our software development agency around a system using our software development life cycle that improves performance both from a technical perspective and from a human perspective. Developers become experts in their guild focus area, enabling stronger technical processes and product innovations. This approach also helps us share knowledge, avoid software technical debt, and collaborate more effectively by organizing guilds around the boundaries that are commonly used to divide up the problem.
Ultimately, we’re aiming for rapid development and higher rates of project success as we drive change through innovation. It’s what we’ve done for 25 years at our software firm, and it’s how we help you align your innovation program with business goals in the real world.