PO – Product Owner – papel no desenvolvimento ágil

PO – Product Owner

O PO (Product Owner) é uma figura extremamente importante em equipes de desenvolvimento ágil. Além de trazer a visão estratégica da empresa, deve ser empoderado a tomar decisões e manter os objetivos organizacionais em priorização.

Podem estar alocados part time ou full time no projeto. Geralmente, o PO está alocado nesta função em mais de um time paralelamente, delegando responsabilidades. Porém, continuam sendo responsáveis pelo valor do produto.

Entre as suas principais atribuições estão:

  • Responsável pelo Product Backlog e priorização dos itens nas Sprint Planning Meetings. Este backlog priorizado é o Sprint Backlog e será trabalhado pelo time.
  • Manter o conteúdo do Product Backlog atualizado e com os principais insights de mercado e do cliente
  • Maximizar o ROI – Retorno do Investimento
  • Visão do Produto
  • Trabalha constantemente com Scrum Master removendo impedimentos
  • Utilizam a Sprint Review para atualizar os stakeholders e previsões de entregas do produto

Também devem ter alta interação com o time, respondendo aos questionamentos de desenvolvedores e escrevendo boas User Stories:

Como um <papel>
Eu quero <objetivo>
Para então <valor>

Veja mais detalhes sobre User Story e as recomendações para criar boas estórias:

  • 3Cs (Card – Conversation – Confirmation) – [Ron Jeffries]
  • INVEST (Independent / Negotiable / Valuable / Estimable / Small / Testable) – [Bill Wake]
  • Estimativas: utiliza técnicas como Estimating Poker baseado em Story Points – número que representa a combinação de Volume, Complexidade, Conhecimento e Incerteza para estimar as tarefas. A modificada sequência Fibonacci é utilizada para refletir a inerente incerteza das estimativas.

E o mindset do Product Owner sob a visão – BE – DO – KNOW…

BE – available / knowledgeable / empowered
DO  product management / project management / leadership / business analysis
KNOW – business value / technical feasibility / user experience
Na visão on page de Roman Pichler, podemos resumir o Product Owner com as interações abaixo:

roman-pichler

 

SAFe – Scaled Agile – Overview and certification

1. SAFE 4.5 – Overview

SAFe 4.5 is a free framework to work with Scaled Agile that synchronizes alignment, collaboration, and delivery for large numbers of teams. Also reflects Lean-Agile thinking, and DevOps practices. The Core Values are:

  1. Built-in Quality: “you can’t scale crappy code”
  2. Program Execution: product portfolio
  3. Alignment
  4. Transparency

safe.png

The big picture seems to be difficult to implement, but when you have a detailed view of each level (Portfolio | Program | Team), it will support you to understand the concepts and how to implement them in your team.

Team Level
F1-Team-level
The Agile Teams (a cross-functional team which consists of Dev Team, Product Owner and Scrum Master) build and deliver value in the Agile Release Train (ART). You can see all the details about Team Levels and Roles in Scaled Agile on the website.

  • Self-organizing, self-managing team of agile teams
  • Delivers working, tested full system increments every two weeks
  • Operates with Vision, architecture and UX guidance
  • Common iteration lengths and estimating
  • Face-to-face planning for collaboration, alignment and adaptions
  • Value delivery via Features and benefits

Program Level
Coordinate the ARTs with an improvement on the Governance: System Architect (define architecture for dev team), Product Management (works with POs to ensure the business needs are included in the program backlog) and Release Train Engineer (a servant leader which facilitates the flow of value through the program).


Large Value Streams
F1-Large-Solution-Level_800
The Large Solution Level is recommended to build large and complex solutions. In this context we have new roles: Solution Architect (define architecture for dev team), Solution Management (represent customer needs) and STE (facilitates the work of all ARTs).

  • Synchronizes multiple ART Value Streams
  • Manages Solution Intent
  • Integrate suppliers as partners
  • Value delivery via Capabilities

Agile Portfolio
F1-Portfolio-Level_WP-1
The Portfolio Level provides the strategy for investment funding and resources to deliver solutions. The focus here is to assure that the business needs meet strategic objectives. It’s necessary to define strategic Themes for a portfolio.

  • Organized around the flow of value
  • Lean-Agile budgeting empowers decision makers
  • Kanban system provides portfolio visibility and WIP limits
  • Enterprise architecture guides larger technology decisions
  • Objective metrics support governance
  • Value delivery via Epics

Agile is… 

  • Time-to-market: your business being competitive
  • Fast adaptation to changes

 

Lean-Agile Mindset and The Agile Manifesto
Embracing the Lean-Agile Manifesto and the 12 Principles from Agile Manifesto.
agile-manifesto

Understanding SAFe Principles
#1 – Take an economic view
#2 – Apply systems thinking
#3 – Assume variability; preserve options
#4 – Build incrementally with fast, integrated learning cycles
#5 – Base milestones on objective evaluation of working systems
#6 – Visualize and limit WIP, reduce batch sizes, and manage queue lengths
#7 – Apply cadence, synchronize with cross-domain planning
#8 – Unlock the intrinsic motivation of knowledge workers
#9 – Decentralize decision-making

 

2. Implementing an Agile Release Train

After the overview about SAFe and the main concepts about Agile and the principles, we continue here sharing all the highlights to implement an Agile Release Train. All the steps are available on Scaled Agile Framework website, but below we describe the most important concepts about the implementation:

  • The Agile Release Train – usually a virtual organization of 5-12 teams (50-125 individuals) that plans, commits and executes together
  • Program Increment (PI) – is a fixed timebox – in general 10 weeks
  • Synchronized iterations and PIs
  • Frequently produces valuable system-level solution
  • ART Roles –  RTE (Release Train Engineer) | PM (Product Management) | SA (System Architect) | The System Team | Business Owners
  • PI Planning – two days every 8-12 weeks and PM owns features priorities. Dev Team owns story-planning and high-level estimates
  • Input – TOP 10 features, implemented by stories
  • Output – Team, Program PI Objectives and Program Board
    program-board

 

3. Experiencing PI Planning

All the details to plan and execute a PI Planning area available on the website. It’s very important using as a guide to follow all the instructions and allow your team to obtain the business benefits and desired outputs.

In this event the team will work on names and roles / velocity / features / Draft Plan Review / Planning adjustments / Business Value / Program Board / Final Plan Review / ROAMing Risks / Confidence votes / Retrospective / PI Objectives x Team PI Objectives

 

4. Releasing Value

Other important point is to develop a vision, roadmap and program backlog and prioritize the Program Backlog. The WSJF (Weighted Shortest Job First) is a prioritization matrix to measure cost-benefit to implement all the features.
wsjf

Executing a Program Increment properly is another program event to keep the Train on the tracks. Also release value on demand, considering the Team Increment, System Increment, Solution Increment and Releasable Solution.

 

About Certification…

You need to dedicate yourself doing an authorized course to enable you applying for a test. Further information about courses and locations can be found on Certification link.

The three main Scaled Agile certifications are: Leading SAFe (SA), Implementing SAFe (SPC) and SAFe Release Train Engineer. I was approved in SA certification, and the preparation included to attend yourself in a two-day course in Brazil (Adaptworks was the company in my case). After to conclude the course, you receive a voucher that allows to apply for a test – Community Scaled Agile.

And then you have 30 days to do the test. It’s an electronic evaluation and all the tips are available on Community Scaled Agile. You have the access after you receive the credentials. The test doesn’t have time to conclude, but you cannot access other time, so you need to be prepared to conclude in the first time. Take all the necessary notes and review the big picture considering to study all the steps in details. Good lucky and test!

 

References
http://www.scaledagileframework.com/

Dashboard Power BI utilizando VSTS

Neste post vamos demonstrar como criar Dashboards no Power BI utilizando os dados do VSTS para os times de desenvolvimento Agile que precisam de informações complementares para apoiar a governança do projeto.

O primeiro passo é ter a integração entre Power BI e VSTS. Neste post eu explico como fazer: https://leonardo-matsumota.com/2018/01/08/integracao-power-bi-e-vsts-parte-i/

Com o Power BI conectado no VSTS, vamos agora para o Dashboard. Este é o painel com as métricas que iremos consolidar:

  • [Lado Esquerdo] Projeto – relação de todos os projetos da torre no VSTS (configurados como projeto de equipe) para navegação e acompanhar as informações de todos os projetos da torre
  • [Superior] Dados Gerais –  breve descrição com o nome do projeto, sprint atual, bloqueio (se há) e horas restantes para o fim da sprint
  • [Centro 1]: New, Active, Homolog, Closed – relação das tarefas do backlog
  • [Centro 2]: Estimativa vs Realizado – andamento das tarefas
    Recursos – distribuição de recursos entre as tarefas
    State – distribuição dos status das atividades (para ajudar a equilibrar o  Work In Progress e auxiliar a gerenciar o backlog)
  • [Inferior]: Tasks em atraso – quantidade de horas ou story points para cada desenvolvedor e sinalização de tarefas em atraso (original estimate x remaining x completed work)

power-bi

Veja abaixo como criar cada uma das métricas no seu Dashboard:

  1. [Lado Esquerdo] Para criar o menu de navegação entre os projetos, utilizei o Chiclet Slicer (App da Microsoft) que está disponível para download em https://appsource.microsoft.com/en-us/marketplace/apps?product=power-bi-visuals. Após o download, utilize a opção “Import from file” em visualizações dentro do Power BI. Arraste o controle criado do Chiclet Slicer e com ele selecionado, marque a coluna “Node Name” que é a coluna no VSTS que representa os projetos criados na sua torre.
    bi-dash-01         bi-dash-02
  2. [Superior] O controle multi-row card foi criado utilizando os campos: Node Name / Iteration Path / Blocked / Remaining Work
    bi-dash-03
  3. [Centro] O controle Card é utilizado para demonstrar a quantidade de itens no backlog (utilizando o filtro na coluna State = New, Homolog, Active e Closed para template CMMI). O campo utilizado neste controle é Original Estimate
    bi-dash-04
    No quadro Active foi criado um gráfico Clustered Column Chart para representar as atividades em andamento com melhor visibilidade
  4.  [Centro] Os controles Gauge e Pie Chart foram utilizados nos gráficos abaixo, considerando os seguintes campos do VSTS:
    Estimativa vs Realizado: Completed Work e Original Estimate
    Recursos: Assigned To e Original Estimate
    State: State e Count of Titlebi-dash-05
  5. [Inferior] O último controle utilizei a Tabela para exibir o nome dos recursos (Assigned To) que estão desenvolvendo, ordenando pela horas completas (Completed Work). E o outro quadro sinaliza se há alguma tarefa em atraso para que alguma medida seja considerada – utilizamos o multi-row card com os campos Title / Completed Work / Original Estimate, considerando a exibição se a realização já ultrapassou a estimativa

pbi-01

Integração Power BI e VSTS

Integração Power BI e VSTS

O Power BI é uma ótima ferramenta para construir os Dashboards de seus projetos, principalmente quando o trabalho é em conjunto com o VSTS que registra informações dos templates Scrum, CMM e Agile para consolidar suas métricas.

O download do Power BI pode ser feito no site da Microsoft na versão Desktop ou para celulares – https://powerbi.microsoft.com/pt-br/downloads/.

Segue então um passo-a-passo para realizar a integração entre as ferramentas:

  1. Conexão – Get Data

Ao iniciar o Power BI, acesse a opção Get Data > Online Services > Visual Studio Team Services

bi-1

  1. Dados de acesso

Preencha o nome da sua conta, projeto e area path (opcional):

  • Nome da sua conta (Team Services Account Name)

É o nome da conta registrada no VSTS. Por exemplo, se você cadastrou https://empresa-brasil.visualstudio.com/, basta colocar empresa-brasil neste campo

  • Project name

Digite o projeto criado no VSTS e que será utilizado para acompanhamento

  • Area path

Não é obrigatório, mas você pode adicionar a Area Path para ser mais direto ao time que você deseja extrair informações, de acordo com a estrutura criada no VSTS. Utilize * para todos os times ou Projeto\Time para especificar o time.

bi-2

Importante: para conectar o Power BI no VSTS você pode utilizar dois tipos de autenticação:

Cenário 1 (Basic): utilizar a mesma conta do Azure Active Directory (AAD). Pode inserir as credenciais neste momento ou em qualquer outro na opção “Sign In” no canto superior direito do Power BI.

Cenário 2 (Organizational Account): utilizar sua MSA (Microsoft Account / Live ID) para autenticação. Sendo assim, você pode na opção login utilizar sua conta corporativa (criada via office 365) ou conta pessoal que é sua conta Microsoft.

bi-3

Os detalhes de configuração e permissão de contas podem ser vistos no site da Microsoft:

Acesso: https://docs.microsoft.com/en-us/vsts/report/powerbi/connect-vso-pbi-vs
Permissões: https://docs.microsoft.com/en-us/vsts/report/analytics/analytics-security

  1. Utilização do Power BI

Pronto! Agora no canto direito “Fields” já temos as tabelas do VSTS e assim podemos trabalhar com a projeção de gráficos e a construção do Dashboard Agile. Entre as principais facilidades estão: agregação de dados, gráficos de tendência, widgets e exploração de metadados.

bi-4

Nos próximos artigos demonstrarei como construir Dashboards utilizando o Power BI conectado com o VSTS. Não deixe de acessar.