<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Thiago Adriano</title>
    <description>The latest articles on DEV Community by Thiago Adriano (@thiago_adriano_ca1b515341).</description>
    <link>https://dev.to/thiago_adriano_ca1b515341</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1938263%2Fce2e2789-5fbb-4c2f-a74a-baec11d60a1c.jpg</url>
      <title>DEV Community: Thiago Adriano</title>
      <link>https://dev.to/thiago_adriano_ca1b515341</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/thiago_adriano_ca1b515341"/>
    <language>en</language>
    <item>
      <title>Manobra reversa: desenhar a jornada para definir como entregar</title>
      <dc:creator>Thiago Adriano</dc:creator>
      <pubDate>Tue, 06 Oct 2026 08:25:54 +0000</pubDate>
      <link>https://dev.to/thiago_adriano_ca1b515341/manobra-reversa-desenhar-a-jornada-para-definir-como-entregar-17gg</link>
      <guid>https://dev.to/thiago_adriano_ca1b515341/manobra-reversa-desenhar-a-jornada-para-definir-como-entregar-17gg</guid>
      <description>&lt;p&gt;Em projetos de tecnologia, uma pergunta costuma aparecer cedo: qual time vai construir cada parte?&lt;/p&gt;

&lt;p&gt;Um time fica com o aplicativo, outro com as APIs e outro com o sistema legado. Cada equipe recebe seu escopo e começa a trabalhar.&lt;br&gt;
O problema aparece quando essas partes precisam funcionar juntas. A tela está pronta, a API responde e o legado processa. Mesmo assim, o cliente não consegue concluir o que precisava fazer.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmfysc2j1ajfewkxjti5d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmfysc2j1ajfewkxjti5d.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Podemos inverter esse raciocínio:&lt;br&gt;
Primeiro desenhamos a jornada que precisa funcionar. Depois perguntamos: que coordenação, responsabilidades e compromissos essa jornada exige?&lt;/p&gt;

&lt;p&gt;Essa é a manobra reversa: partir do resultado esperado para descobrir quais condições técnicas e organizacionais tornam esse resultado possível.&lt;/p&gt;

&lt;p&gt;Imagine uma jornada de investimento. O cliente escolhe um produto, informa o valor, confirma a aplicação e acompanha o resultado.&lt;br&gt;
Descrever essas etapas ajuda, mas ainda deixa perguntas importantes em aberto. Quando a aplicação pode ser considerada concluída? O que o cliente vê enquanto o processamento está pendente? Como ele descobre que houve uma falha? O que acontece se apertar o botão novamente?&lt;br&gt;
A jornada precisa incluir essas situações. Elas fazem parte da experiência que estamos prometendo.&lt;/p&gt;

&lt;p&gt;Também precisamos validar se essa experiência resolve o problema do cliente. Uma jornada desenhada ainda representa uma hipótese. Conversar com usuários e testar o fluxo ajuda a verificar se estamos construindo algo útil.&lt;/p&gt;

&lt;p&gt;A jornada revela responsabilidades&lt;/p&gt;

&lt;p&gt;Considere um exemplo hipotético: o aplicativo informa que a solicitação foi recebida, mas a confirmação da aplicação depende de um processamento posterior no legado.&lt;/p&gt;

&lt;p&gt;Se cada time olhar apenas para sua entrega, todos podem considerar o trabalho concluído. O aplicativo enviou a requisição. A API registrou o pedido. O legado recebeu a informação.&lt;/p&gt;

&lt;p&gt;Mas o cliente continua esperando.&lt;/p&gt;

&lt;p&gt;Ao partir da jornada, surgem responsabilidades que a divisão por componentes pode esconder. Alguém precisa definir os estados da operação, garantir que o resultado volte ao aplicativo e estabelecer como uma solicitação pendente será investigada.&lt;br&gt;
É nesse ponto que precisamos esclarecer quem articula as dependências, quem decide em caso de dúvida e quem responde por cada etapa.&lt;/p&gt;

&lt;p&gt;Uma equipe pode executar sua parte corretamente e, ainda assim, participar de uma jornada que falha. Por isso, acompanhar o resultado completo precisa fazer parte da organização do trabalho.&lt;/p&gt;

&lt;p&gt;Dependências precisam virar compromissos&lt;/p&gt;

&lt;p&gt;“Vamos integrar os sistemas” é uma intenção. Para orientar a construção, precisamos de acordos concretos.&lt;/p&gt;

&lt;p&gt;No exemplo do investimento, os times precisam combinar:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;O significado de cada status da operação.&lt;/li&gt;
&lt;li&gt;O prazo esperado para apresentar a confirmação.&lt;/li&gt;
&lt;li&gt;O tratamento de solicitações repetidas.&lt;/li&gt;
&lt;li&gt;O procedimento quando uma operação fica sem resposta.&lt;/li&gt;
&lt;li&gt;As informações necessárias para investigar uma falha.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Esses acordos influenciam a arquitetura.&lt;/p&gt;

&lt;p&gt;Se o processamento acontece depois da solicitação, pode ser necessário consultar o status ou receber uma notificação. Se uma tentativa pode ser repetida, precisamos evitar aplicações duplicadas. Se há uma falha entre sistemas, precisamos conseguir rastrear a operação.&lt;/p&gt;

&lt;p&gt;A tecnologia passa a responder a uma necessidade identificada na jornada. Temos um motivo concreto para discutir integração, processamento assíncrono, idempotência e observabilidade.&lt;/p&gt;

&lt;p&gt;O que muda para quem lidera&lt;/p&gt;

&lt;p&gt;Esse raciocínio amplia as perguntas da liderança.&lt;br&gt;
Além de acompanhar tarefas, precisamos verificar se os times conseguem tomar as decisões que o fluxo exige. Uma aprovação depende de três áreas? Uma mudança precisa de alinhamento manual? Uma falha chega à operação sem contexto suficiente?&lt;/p&gt;

&lt;p&gt;Esses pontos revelam necessidades de coordenação, autonomia e acesso à informação.&lt;/p&gt;

&lt;p&gt;A resposta pode envolver ajustar uma responsabilidade, estabelecer um contrato entre serviços ou simplificar uma aprovação. Cada mudança deve responder ao problema encontrado.&lt;/p&gt;

&lt;p&gt;Uma forma prática de começar é escolher uma jornada importante e percorrer tanto o caminho esperado quanto as principais falhas. &lt;/p&gt;

&lt;p&gt;Em cada passagem entre equipes, perguntar:&lt;br&gt;
Quem assume a próxima etapa e qual compromisso permite que ela aconteça?&lt;/p&gt;

&lt;p&gt;Essa pergunta ajuda a transformar um desenho de fluxo em um acordo de entrega.&lt;/p&gt;

&lt;p&gt;O critério de conclusão também fica mais claro. No investimento, entregar a tela e publicar a API são marcos da construção. Concluir a jornada exige demonstrar que o cliente consegue solicitar, acompanhar e conhecer o resultado da aplicação, inclusive quando algo sai do esperado.&lt;/p&gt;

&lt;p&gt;Antes de distribuir o trabalho, precisamos compreender o caminho que queremos fazer funcionar. É esse caminho que dá sentido às responsabilidades, aos compromissos e às decisões de arquitetura.&lt;/p&gt;

</description>
      <category>agile</category>
      <category>architecture</category>
      <category>softwareengineering</category>
      <category>systemdesign</category>
    </item>
    <item>
      <title>PDLC e SDLC: conectando produto e desenvolvimento de software</title>
      <dc:creator>Thiago Adriano</dc:creator>
      <pubDate>Sat, 03 Oct 2026 15:01:01 +0000</pubDate>
      <link>https://dev.to/thiago_adriano_ca1b515341/pdlc-e-sdlc-conectando-produto-e-desenvolvimento-de-software-2228</link>
      <guid>https://dev.to/thiago_adriano_ca1b515341/pdlc-e-sdlc-conectando-produto-e-desenvolvimento-de-software-2228</guid>
      <description>&lt;p&gt;Imagine desenvolver uma aplicação com uma arquitetura bem definida, testes automatizados e deploy funcionando. Mesmo assim, depois do lançamento, poucas pessoas utilizam o sistema.&lt;/p&gt;

&lt;p&gt;O software funciona, mas ele resolve um problema relevante para o usuário?&lt;/p&gt;

&lt;p&gt;Essa pergunta ajuda a entender a relação entre &lt;strong&gt;PDLC&lt;/strong&gt; e &lt;strong&gt;SDLC&lt;/strong&gt;, dois conceitos que conectam decisões de produto à construção de software.&lt;/p&gt;

&lt;h2&gt;
  
  
  O que é PDLC?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;PDLC — Product Development Life Cycle&lt;/strong&gt; é o ciclo de desenvolvimento do produto. Envolve descobrir problemas, validar hipóteses, definir uma solução e acompanhar seus resultados.&lt;/p&gt;

&lt;p&gt;Uma forma de organizar esse ciclo é:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Descoberta:&lt;/strong&gt; entender o público, suas necessidades e o problema.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Validação:&lt;/strong&gt; buscar evidências de que o problema existe e a solução proposta faz sentido.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Priorização:&lt;/strong&gt; definir o que será entregue primeiro.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Construção e lançamento:&lt;/strong&gt; disponibilizar uma primeira versão.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Evolução:&lt;/strong&gt; acompanhar o uso, coletar feedback e ajustar o produto.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A validação pode começar com entrevistas, protótipos e experimentos, antes de investir na implementação completa.&lt;/p&gt;

&lt;h2&gt;
  
  
  O que é SDLC?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;SDLC — Software Development Life Cycle&lt;/strong&gt; é o ciclo de desenvolvimento do software. Organiza as atividades necessárias para construir, operar e manter uma solução.&lt;/p&gt;

&lt;p&gt;As atividades mais comuns são:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Requisitos:&lt;/strong&gt; definir os comportamentos esperados e os critérios de qualidade.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Projeto e arquitetura:&lt;/strong&gt; planejar componentes, dados e integrações.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Implementação:&lt;/strong&gt; desenvolver as funcionalidades.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Testes:&lt;/strong&gt; verificar comportamento, segurança e confiabilidade.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Implantação:&lt;/strong&gt; disponibilizar o software no ambiente de uso.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Operação e manutenção:&lt;/strong&gt; monitorar, corrigir problemas e evoluir.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Essas atividades podem ocorrer de maneira iterativa, com entregas pequenas e feedback frequente.&lt;/p&gt;

&lt;h2&gt;
  
  
  Comparação prática
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Aspecto&lt;/th&gt;
&lt;th&gt;PDLC&lt;/th&gt;
&lt;th&gt;SDLC&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Foco&lt;/td&gt;
&lt;td&gt;Necessidades do usuário e valor do produto&lt;/td&gt;
&lt;td&gt;Construção e qualidade do software&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pergunta central&lt;/td&gt;
&lt;td&gt;O que vale a pena construir e por quê?&lt;/td&gt;
&lt;td&gt;Como construir, entregar e operar?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Evidências&lt;/td&gt;
&lt;td&gt;Entrevistas, experimentos e métricas de uso&lt;/td&gt;
&lt;td&gt;Testes, métricas técnicas e comportamento em produção&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Decisões&lt;/td&gt;
&lt;td&gt;Público, proposta de valor e prioridades&lt;/td&gt;
&lt;td&gt;Arquitetura, implementação e implantação&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Exemplo: um sistema de métricas de treino
&lt;/h2&gt;

&lt;p&gt;No &lt;strong&gt;PulsoNexo&lt;/strong&gt;, meu projeto de acompanhamento de treinos com integração ao Polar, podemos aplicar os dois conceitos.&lt;/p&gt;

&lt;p&gt;No &lt;strong&gt;PDLC&lt;/strong&gt;, uma hipótese seria: reunir frequência cardíaca, zonas de esforço e volume semanal pode ajudar o atleta a compreender sua rotina de treino.&lt;/p&gt;

&lt;p&gt;Para validar essa hipótese, podemos apresentar um protótipo e observar se essas informações são compreendidas e úteis. O resultado orienta quais funcionalidades devem entrar na primeira versão.&lt;/p&gt;

&lt;p&gt;No &lt;strong&gt;SDLC&lt;/strong&gt;, transformamos essa proposta em software: integração com o Polar, API, armazenamento dos treinos, dashboard e testes. Também precisamos tratar autenticação, falhas de sincronização e proteção dos dados.&lt;/p&gt;

&lt;p&gt;Depois da entrega, o uso pode revelar que os atletas consultam mais o histórico semanal do que os detalhes de cada treino. Esse aprendizado retorna às decisões de produto e orienta as próximas entregas.&lt;/p&gt;

&lt;h2&gt;
  
  
  Como os ciclos se conectam?
&lt;/h2&gt;

&lt;p&gt;PDLC e SDLC são complementares. Em um produto digital, o desenvolvimento de software participa da construção e da evolução do produto.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;As decisões de produto orientam as entregas técnicas, e os resultados dessas entregas ajudam a revisar as decisões de produto.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>product</category>
      <category>software</category>
      <category>softwaredevelopment</category>
    </item>
  </channel>
</rss>
