View allAll Photos Tagged microservices

muCon: the Microservices Conference 2014, Skills Matter, London

µCon London 2017: The Microservices Conference. Monday, 6th - Tuesday, 7th November at CodeNode, London. skillsmatter.com/conferences/8549-con-2017-the-microservi.... Images Copyright www.edtelling.com

µCon London 2018 - The Microservices Conference. Monday, 5th - Tuesday, 6th November at CodeNode, London. skillsmatter.com/conferences/10336-mucon-london-2018-the-.... Images Copyright www.tellingphotography.com

muCon: the Microservices Conference 2014, Skills Matter, London

3 DAY CONFERENCE

µCon London 2019 - The Conference on Microservices, DDD & Software Architecture. skillsmatter.com/conferences/11982-con-london-2019-the-co.... Images Copyright www.tellingphotography.com

3 DAY CONFERENCE

µCon London 2019 - The Conference on Microservices, DDD & Software Architecture. skillsmatter.com/conferences/11982-con-london-2019-the-co.... Images Copyright www.tellingphotography.com

µCon London 2018 - The Microservices Conference. Monday, 5th - Tuesday, 6th November at CodeNode, London. skillsmatter.com/conferences/10336-mucon-london-2018-the-.... Images Copyright www.tellingphotography.com

Zag - bit.ly/2tNv7rz Two practices for managing a program in product-mode orgs

 

bit.ly/2TRjNFv

 

Why are programs so hard?

 

Organizations operating in product-mode use durable, ideate-build-run teams working on a persistent business issue to continuously deliver value to customers. Over time, through the process of removing waste in their value stream, these organizations structure themselves in a way that decreases the need for coordination across multiple teams often resulting in a microservices systems architecture. It is common for organizations operating in this way to have an organizational structure that mirrors their architecture; small teams with their own backlogs of work, owning and operating the systems that provide their product feature or business capability.

 

Occasionally however, opportunities present themselves that require new features and capabilities to be built in multiple areas of the organization, resulting in the need for cross-team coordination to deliver the value. The coordination effort involved in these initiatives is what we call programs.

 

Programs — where delivering customer value demands orchestration across multiple teams — are a real challenge for product-mode organizations. That’s because :

 

It is hard to identify the change in operating model required to deliver the value of a program;

 

they can challenge the autonomous culture that is common within product teams as programs benefit by standardizing the delivery process across multiple streams of work;

 

leadership styles suitable for single product teams may not translate to the program level where multiple teams with different priorities need to be aligned and kept accountable.

 

In our experience, we’ve observed both successful and unsuccessful programs in product-mode organizations. What follows is a fictional example of the difficulties of coordinating cross-team efforts in one such organization inspired by real issues that we’ve encountered.

 

An example: a digital-first bank wants to enter a new customer segment

 

A modern fintech company in South America has built a successful digital-first bank for everyday transactional consumers. Being a startup, it seeded its business with agile principles and have scaled the culture along with its architecture as it has grown.

 

It now employs around 200 people in its product division and the organizational structure is similar to the widely publicized Spotify model with squads and tribes aligned to the underlying modularized product architecture.

 

After a few months of user research, the bank realized it was in a solid position to offer its services to a new customer segment; business customers. As a result of this insight, the organization decided to put a team together to with the intention of releasing the new offering within a few months.

 

Figure 1: The anticipated program timeline for the MVP delivery of the business banking product

 

The Spotify model

 

Back in 2012 Henrik Kniberg wrote about how Spotify had scaled agile product development across over 30 autonomous product teams within its organization. The highly matrixed structure that he observed came to be known colloquially as the Spotify model.

 

At the time, Spotify had been using a taxonomy of tribes, guilds, chapters and squads to describe the different organizations of its product teams at various levels of abstraction.

 

Tribe

 

Tribes are the highest level of organization in the Spotify model and represent a group of product teams all working towards the same mission. Tribes may have their own revenue targets.

 

Guild

 

Guilds are organic groups that evolve around a common interest within the company and therefore can contain people from across different tribes, chapters and squads. There may a testing guid for example that contains anyone with an interest in testing.

 

Chapter

 

Chapters are more like the traditional silos of related skills that are common in functional organizations. Unlike functional organizations, a chapter does not represent an individuals day-to-day team but a working group that they are a member of to facilitate knowledge sharing and provide economies of scale for the organization. Examples of chapters may be the frontend chapter, the backend chapter or the product manager chapter.

 

Squad

 

Finally we have squads. These are autonomous cross-functional product teams with their own backlogs of work. It is common to see squads aligned to a tribe mission by way of a framework such as objectives and key results.

 

Three leaders from existing product teams within the organization were identified to orchestrate the effort: a design lead, a technical lead and a product manager. Over some months the trio worked on a discovery and built a plan to establish the specifics for the first phase of delivery resulting in a definition of the MVP user journey and a high level story map.

 

Sign up for business banking

 

Add business banking product to product catalog

 

Login to homepage

 

Create business bank homepage

 

Create business bank login

 

Add business banking capability to customer api

 

Add business banking capability to auth api

 

View recent transactions

 

Create business bank transaction history page

 

Add business banking capability to transaction api

 

The MVP of the program consisted of a new business account product, the ability to log in as a business customer and view business account transactions. After establishing the MVP user journey, the trio identified the existing product teams who would be required to deliver the scope.

 

Customer

 

Customer CRM, api and database

 

Transactions

 

Transactions api and database

 

Auth

 

Authentication and authorization platform

 

Catalog

 

Product catalog api and database

 

The teams were typical of product teams at the organization: autonomous and self-managing. Each of the teams involved already had a specific delivery process that worked for them; some used a structured agile process working from a product roadmap, leading to epics and stories with estimates. Whereas others were more comfortable working with loosely defined goals broken down into small tasks.

 

In the interest of preserving the culture of self-organization, the trio chose to present the product vision to each of the product teams separately and allow them to figure out what changes they would need to deliver in order to accommodate the new customer segment. This, coupled with the inconsistent delivery methodologies between the teams, meant that the trio couldn’t foresee the number of dependencies hidden in each high-level user story.

 

Add business banking product to product catalog

 

Create business bank login

 

Create business bank transaction history page

 

Web UI

 

log in page

 

view transactions page

 

Customer

 

support for new constituents

 

support for new constituents

 

support for new constituents

 

Transactions

 

support for new constituents

 

support for new constituents

 

Auth

 

support for new constituents

 

support for new constituents

 

Catalog

 

new business banking product

 

Table highlighting the contribution each team needed to make to a piece of user value

 

In order to learn from the experience, at the end of the program the team conducted a retrospective to discover the root causes of the challenges they faced. This is what they discovered:

 

the operating model wasn’t changed to reflect the change in the value stream and due to the trio’s desire to not challenge the culture of self-organization, the delivery teams optimized locally rather than holistically for the flow of value to the customer;

 

the organization’s leaders weren’t empowered to use their influence to help the program as information on the status of the program was difficult to acquire;

 

progress updates focused on individual delivery team updates as opposed to the broader overall working solution addressing the customer needs, which was a missed opportunity for alignment and focus, the teams weren’t aware of their contribution to the program;

 

risk management was left as an implicit task assumed to be managed within the delivery teams, but not as an explicit program-level effort. This meant there were many surprises along the way impacting the delivery date;

 

unmanaged dependencies between teams and a lack of cross-team collaboration led to tensions forming between the delivery teams which degraded the working environment and impacted individual’s morale;

 

program leadership team didn’t change their communication style to suit the situation, the context and the program goals weren’t fully shared by the teams and leadership. There's a false sense of understanding, based on the assumption that everyone has the information needed to do their jobs;

 

overall team motivation and accountability was compromised due to the other problems above.

 

Best practices for managing programs in product-mode organizations

 

While hypothetical, the example above describes what we’ve seen to be common challenges for product-mode organizations when responding to cross-team coordination, program-like opportunities. We’ll use the rest of this article to explain some strategies, practices and principles that we’ve used successfully when working with programs similar to the one described above.

 

Invest time at the beginning to set the program up for success

 

The beginning of the program provides a natural pause point in which to run focused workshops that set the teams and the program up for success. By the end of the program kickoff, business stakeholders and team members should be aware of the initiative and its significance, their role in it, how it’ll be delivered and the high-level scope of the first release. Investing time upfront in a project kickoff like this is proper risk mitigation for a multi-month missed delivery date. We advise setting aside time to run a set of workshops that provide the following outcomes:

 

align all stakeholders on what needs to be done and why (including any changes to the current operating model);

 

define consistent ways of working, ceremonies and best practices;

 

socialize the business, technical and customer context with all teams involved;

 

build trust across the teams by making explicit the roles, responsibilities and motivations of individuals;

 

lay a foundation for building empathy and understanding within the team;

 

shine a light on the risks, dependencies, assumptions and complexity that exists in the delivery.

 

An example schedule for a kickoff intending to address these outcomes might look like this:

 

Mon

 

Tue

 

Wed

 

Thu

 

Fri

 

Morning

 

Context setting (all stakeholders)

 

Target architecture)

 

Non-functional requirements

 

Ways of working

 

Showcase (all stakeholders)

 

Afternoon

 

User journey mapping

 

RAIDs (risks, assumptions, issues, dependencies)

 

Trade off sliders

 

Story mapping & release planning

 

Team outing (all stakeholders)

 

Choose a leadership style that’s appropriate for the program

 

Depending on the organization, the current culture in the product division may not be receptive to the urgency and level of process standardization that the delivery of a program requires. Therefore, program leaders, acting like solution-champions, may find that they need to adapt their leadership style to the demands of the initiative.

 

Involving

 

Team leaders involve the teams in setting their own goals and direction. Communication is multiway, with the team leaders acting as an active member.

 

Clarifying

 

Team leaders clarify team activities, fine-tuning roles and responsibilities. Communication is becoming more multiway between the team leaders and team members.

 

Empowering

 

Team leaders empower the teams to be self-managing, letting the teams establish and modify their own work processes. The team leaders serve as a communication channel to the rest of the organization.

 

Defining

 

Team leaders concentrate on focusing the teams: defining goals, roles and responsibilities. Communication is primarily one way from the team leaders to the team members.

 

As an example, the situational leadership model provides a useful description of some common communication styles in various states of leadership (see sidebar). In the ideal state, leaders of self-organizing product teams will be involving and empowering their teams. However, as the program may require a change in operating model that challenges the self-organizing nature of the product teams involved, leaders may need to adapt their style and spend more time clarifying and defining than they’re used to.

 

In addition to changing their communication style, program leaders will need to keep teams accountable for those changes required to support the new operating model. A commonly used tool to communicate responsibility and accountability is a responsibility assignment matrix (see RACI matrix sidebar). Something like this can be used to help team members understand what’s expected from them with regards to upholding process standards and attending critical program meetings.

 

We're releasing this article in installments. Future installments will continue discussing practices we've learned to help allow this kind of coordination to work effectively..

 

To find out when we publish the next installment subscribe to the site's RSS feed, or Martin's twitter stream

 

Stuff to remember

 

development

 

via martinfowler bit.ly/36t3Vvj

 

January 14, 2020 at 09:15AM

µCon London 2017: The Microservices Conference. Monday, 6th - Tuesday, 7th November at CodeNode, London. skillsmatter.com/conferences/8549-con-2017-the-microservi.... Images Copyright www.edtelling.com

muCon: the Microservices Conference 2014, Skills Matter, London

3 DAY CONFERENCE

µCon London 2019 - The Conference on Microservices, DDD & Software Architecture. skillsmatter.com/conferences/11982-con-london-2019-the-co.... Images Copyright www.tellingphotography.com

µCon London 2017: The Microservices Conference. Monday, 6th - Tuesday, 7th November at CodeNode, London. skillsmatter.com/conferences/8549-con-2017-the-microservi.... Images Copyright www.edtelling.com

This photo was captured at the 2018 edition of Great Indian Developer Summit (#gids18), April 24-28, Bangalore, India.

Chris Richardson is a developer and architect. He is a Java Champion and the author of POJOs in Action, which describes how to build enterprise Java applications with frameworks such as Spring and Hibernate.

muCon: the Microservices Conference 2014, Skills Matter, London

This photo was captured at the 2018 edition of Great Indian Developer Summit (#gids18), April 24-28, Bangalore, India.

µCon London 2017: The Microservices Conference. Monday, 6th - Tuesday, 7th November at CodeNode, London. skillsmatter.com/conferences/8549-con-2017-the-microservi.... Images Copyright www.edtelling.com

µCon London 2017: The Microservices Conference. Monday, 6th - Tuesday, 7th November at CodeNode, London. skillsmatter.com/conferences/8549-con-2017-the-microservi.... Images Copyright www.edtelling.com

µCon London 2017: The Microservices Conference. Monday, 6th - Tuesday, 7th November at CodeNode, London. skillsmatter.com/conferences/8549-con-2017-the-microservi.... Images Copyright www.edtelling.com

3 DAY CONFERENCE

µCon London 2019 - The Conference on Microservices, DDD & Software Architecture. skillsmatter.com/conferences/11982-con-london-2019-the-co.... Images Copyright www.tellingphotography.com

µCon London 2017: The Microservices Conference. Monday, 6th - Tuesday, 7th November at CodeNode, London. skillsmatter.com/conferences/8549-con-2017-the-microservi.... Images Copyright www.edtelling.com

µCon London 2017: The Microservices Conference. Monday, 6th - Tuesday, 7th November at CodeNode, London. skillsmatter.com/conferences/8549-con-2017-the-microservi.... Images Copyright www.edtelling.com

µCon London 2018 - The Microservices Conference. Monday, 5th - Tuesday, 6th November at CodeNode, London. skillsmatter.com/conferences/10336-mucon-london-2018-the-.... Images Copyright www.tellingphotography.com

µCon London 2017: The Microservices Conference. Monday, 6th - Tuesday, 7th November at CodeNode, London. skillsmatter.com/conferences/8549-con-2017-the-microservi.... Images Copyright www.edtelling.com

µCon London 2017: The Microservices Conference. Monday, 6th - Tuesday, 7th November at CodeNode, London. skillsmatter.com/conferences/8549-con-2017-the-microservi.... Images Copyright www.edtelling.com

µCon London 2017: The Microservices Conference. Monday, 6th - Tuesday, 7th November at CodeNode, London. skillsmatter.com/conferences/8549-con-2017-the-microservi.... Images Copyright www.edtelling.com

3 DAY CONFERENCE

µCon London 2019 - The Conference on Microservices, DDD & Software Architecture. skillsmatter.com/conferences/11982-con-london-2019-the-co.... Images Copyright www.tellingphotography.com

This photo was captured at the 2018 edition of Great Indian Developer Summit (#gids18), April 24-28, Bangalore, India.

This photo was captured at the 2018 edition of Great Indian Developer Summit (#gids18), April 24-28, Bangalore, India.

This photo was captured at the 2018 edition of Great Indian Developer Summit (#gids18), April 24-28, Bangalore, India.

Chris Richardson is a developer and architect. He is a Java Champion and the author of POJOs in Action, which describes how to build enterprise Java applications with frameworks such as Spring and Hibernate.

This photo was captured at the 2018 edition of Great Indian Developer Summit (#gids18), April 24-28, Bangalore, India.

This photo was captured at the 2018 edition of Great Indian Developer Summit (#gids18), April 24-28, Bangalore, India.

This photo was captured at the 2018 edition of Great Indian Developer Summit (#gids18), April 24-28, Bangalore, India.

3 DAY CONFERENCE

µCon London 2019 - The Conference on Microservices, DDD & Software Architecture. skillsmatter.com/conferences/11982-con-london-2019-the-co.... Images Copyright www.tellingphotography.com

This photo was captured at the 2018 edition of Great Indian Developer Summit (#gids18), April 24-28, Bangalore, India.

1 2 ••• 17 18 20 22 23 ••• 79 80