Latest / Entre Chaves / #267 Architecture Decision Records para eliminar a amnésia arquitetural
Transcript
- 0:03Tá começando mais uma entre chaves, o seu podcast
- 0:06desenvolvimento de software. Eu sou a Rafa e hoje vamos
- 0:09começar com uma situação que eu acho que é muito comum na vida
- 0:12de todo desenvolvedor, que é quando você precisa alterar um
- 0:15código. Aí você encontra algo meio
- 0:17confuso, meio estranho, uma solução que não é tão óbvia, e
- 0:21aí você pergunta para o seu colega, para o seu teclead, por
- 0:24que que a gente fez isso aqui? E aí ele fala, Ah, não sei, isso
- 0:28aí é muito antigo, olha no slack, aí você olha no slack,
- 0:31você não acha nada. E aí você roda um Git blame e aí
- 0:35você vai ver OA mensagem do comit e é só um fixo.
- 0:39E aí você encontra a pessoa que fez a alteração e ela saiu da
- 0:43empresa há mais de 2 anos. E aí você se pergunta, por que
- 0:45raios fizeram isso? Existe uma justificativa para
- 0:49essa alteração? É ou isso aqui foi só alguma,
- 0:51algum débito técnico que esqueceram?
- 0:53Bom, essa situação é muito comum e ela é chamada de amnésia
- 0:57arquitetural e ela acontece de forma inesperada.
- 1:00Imagine que você tá ali, é com seu time numa cal, tomou uma
- 1:04decisão que você mandou uma mensagem no slack, é pra decidir
- 1:08alguma coisa com algum colega numa cal, rápida mensagem
- 1:11privada, e aí com o tempo aquilo vai se perdendo e simplesmente
- 1:15evaporou. O conhecimento não existe mais.
- 1:17É, ficou só o resultado ali, a implementação.
- 1:20E para resolver isso a gente tem uma prática chamada ADR, que é
- 1:24arquitecture decision Record. E é uma forma, né, de registrar
- 1:29não só a decisão tomada, mas o contexto daquela decisão, quais
- 1:33foram as alternativas que foram consideradas e também a
- 1:37justificativa para que uma determinada opção fosse
- 1:39escolhida. E para falar sobre isso, hoje
- 1:41estou aqui com o meu colega de bancada, Dudu.
- 1:44E aí, rablo joia? Velho conhecido, né?
- 1:46E também estamos com os 2. Convidados é desenvolvedores
- 1:49aqui da DTI que estão lidando com a situação neste momento.
- 1:54Para contar um pouco mais para gente que a Júlia é bem-vinda.
- 1:58Tudo bem, e o? Sandro Renzo, então vamos lá, na
- 2:03visão de vocês, quais são as dores reais que um time enfrenta
- 2:07quando não há esse rastreio das decisões arquiteturais?
- 2:11E aí, já fazendo um gancho, quais seriam os benefícios da
- 2:15ADR para resolver este problema? Bom, Rafa, AO problema dessa
- 2:20dessa falta assim de uma documentação específica para
- 2:24essas decisões, é que igual você comentou assim na introdução, de
- 2:27forma breve, tem essa questão da amnésia arquitetural.
- 2:30Então, pelo fato da gente não ter muito bem documentado, às
- 2:34vezes uma. Uma decisão de alguma
- 2:36tecnologia, algum padrão de projeto que foi utilizado, acaba
- 2:40que com a com a aplicação escalando, a gente acaba
- 2:45enfrentando esses problemas, né? A gente assim é a questão do gap
- 2:50técnico, que às vezes se tivesse uma coisa assim, mais uma piada
- 2:53mais direcionada, a gente conseguiria dedicar um tempo ali
- 2:57para o time para tirar dúvidas ali, dar uma olhada na
- 2:59documentação e assim falando assim mais dos dessa solução.
- 3:05É que a gente consegue também entender o contexto do porque
- 3:08Ela Foi implementada. Então é muito assim,
- 3:11considerando um time que maioria dos desenvolvedores preferem a
- 3:15tecnologia react ao invés de usar 11 svelt, por exemplo.
- 3:21Então a gente tomou como base a decisão desse desse
- 3:25conhecimento, mais os desenvolvedores da tecnologia e
- 3:29meio que solucionou esse essa esse problema dessa falta de
- 3:33documentação, porque? Foi a decisão ali melhor do
- 3:35contexto. O ponto não é só mostrar que
- 3:37você escolheu x, né? E se o caminho ali que levou
- 3:41essa decisão igual você falou a justificativa, né?
- 3:44Que o time tem mais conhecimento nessa ferramenta.
- 3:46E porque que não escolheu a outra coisa também, né?
- 3:48E assim é muito do dos status mesmo dos ADRs.
- 3:52Os ADRs, eles tem alguns status. Por exemplo, é o ADR que ele é
- 3:57completo. Então, tipo assim, ele foi
- 3:59discutido, foi levado em consideração, foi pensado os
- 4:02prós, os contras, as alternativas também o porquê
- 4:05dessas alternativas terem sido descartadas.
- 4:08Assim, é bem um log mesmo, é bem uma pra evitar esse problema aí
- 4:12de amnésia, arquitetural mesmo do de uma falta ali de uma
- 4:16documentação que a gente vê que é uma coisa muito importante
- 4:19assim hoje em dia, levando em consideração esse.
- 4:22Esse avanço de a dessa, dessa integração da IA indedada no
- 4:26código, esse tipo de coisa, isso facilita demais eu.
- 4:29Fico lembrando, tipo assim, há 20 anos atrás, num num
- 4:32desenvolvimento que eu tinha, teve um momento que eu tive que
- 4:34fazer um comentário desse no código, olha, gente, não mexam
- 4:37aqui. Eu sei que essa linha tá meio
- 4:39maluca, mas por causa disso, disso, disso, eu botei lá o link
- 4:42assim, olha, olhem essa documentação aqui desse bug.
- 4:45Era um bug que tinha lá. Eu realmente tive que fazer um
- 4:47if diz diferente de nu. Eu realmente vou fazer isso,
- 4:51então, tipo assim, imagina um resolvedor?
- 4:55É, tira o script, mas eu não vou falar a linguagem, é tipo assim,
- 4:58era uma JVM específica que a gente usava na época lá nem era
- 5:03oficial, então, tipo assim, tinha esse bug, imagina um
- 5:05devolvedor chegando na lá e vendo cara, if diz igual a nu,
- 5:08claro, claro que isso nunca vai ser nulo, diz.
- 5:11Não pode ser nulo, ele vai tirar aquela linha, tudo começa a dar
- 5:14problema, né? Só porque alguém falou, Ah, não
- 5:16mexe aqui, o cara falou, Ah, o cara tava de brincadeira, né?
- 5:19Numa época não tinha ADR, então a gente teve que deixar alguns
- 5:22comentários, deixar muito bem claro ali naquele código, que
- 5:24aquilo ali precisava ser mantido, né?
- 5:26Mas corre aquele risco, às vezes alguém vai só rodar um script de
- 5:29remover comentários do código, alguma coisa não fica tão tão
- 5:33bem documentado. Então acho que, tipo assim,
- 5:35talvez naquela época teria ajudado ao time do projeto, né,
- 5:38se a gente tivesse uma alguma coisa assim, né, para poder
- 5:41deixar essas decisões, né? Igual você, você até comentou,
- 5:43né, que tem até tipo um fluxo de aprovação aparentemente para Dr,
- 5:48né, que se você consegue. Começar e discutir?
- 5:50Sim, Mano, sim. A gente consegue versionar essas
- 5:53decisões mesmo. Por exemplo, a gente consegue
- 5:55começar discussões dentro de Pure Quest.
- 5:58Por exemplo, alguém tá iniciando 11 atividade de definir as as
- 6:04decisões arquiteturais do projeto de um projeto x.
- 6:07É, a gente consegue criar arquivos marckdown literalmente
- 6:11ter documentado ali é seguindo a estrutura do do ADR, porque ele
- 6:15tem uma estrutura muito fixa de. Título, status, descrição, as
- 6:20alternativas. E assim dá para você versionar
- 6:22isso e discutir com seus colegas de equipe, assim, entendendo a
- 6:26preferência de cada um, entendendo ali porque é de um
- 6:29gerenciador de estado x ao invés de um y, uma versão do do node x
- 6:34ou ou outra, dá para ter essas discussões bem documentadas e
- 6:38assim isso. Eu entendo que isso é muito bom
- 6:41para o projeto, porque você consegue tanto direcionar o seu
- 6:45projeto assim para esses recursos mais de e a esse tipo
- 6:48de coisa, tanto para o seu estudo pessoal, para você
- 6:51estudar ali uma versão específica, o porque de uma
- 6:54versão x é diferente de y, esse tipo de coisa.
- 6:56Porque OADR, você vai gerar um documento próprio, né?
- 6:59Isso? E porque a gente faz isso
- 7:02naquele documento? Ah, eu preciso desenvolver
- 7:05alguma coisa. Eu vou botar aqui uma parte
- 7:07aqui, uma feature nova que vai mexer com com filas e aí eu vou
- 7:11escolher entre é serviços de mensageira, de de de Barramento
- 7:15com garantia de entrega ou serviços de evento.
- 7:17E aí eu tomo a decisão, cara, eu vou fazer evento ou eu vou fazer
- 7:20fila? É por que isso deveria estar num
- 7:24num ADR e não na especificação da história, por exemplo.
- 7:28Eu Acredito que é. Exatamente.
- 7:30Caso essa decisão depois seja questionada de algum jeito.
- 7:33Por exemplo, a decisão que teria sido tomada nesse caso
- 7:36apresentou um desempenho ruim ou alguma coisa desse tipo.
- 7:39Só que está documentado lá que a outra seria pior por por tal
- 7:43motivo. EOADR é um jeito de fazer um
- 7:46template, né? Não é só explicar a situação
- 7:49toda tem um contexto, tem a data, tem o status.
- 7:52Seria lincado com a história, mas não necessariamente teria a
- 7:55ver só com essa história. Não é necessariamente o que você
- 7:58tem que fazer. Né?
- 7:59É sim. Uma coisa que eu vi num artigo
- 8:01que o Martin fala, ele escreveu sobre a Dr. Ele ele comenta algo
- 8:04que eu acho que é muito subestimado, que é o benefício
- 8:07da Dr nem é o documento em si, né?
- 8:09O maior benefício nem é o documento em si, eSIM o ato de
- 8:13escrever, porque você engaja o time.
- 8:16AA ter discussão a ter um aprendizado ali sobre um
- 8:19contexto que muitas vezes ele fica ali.
- 8:22Só na cabeça do arquiteto, né? Então uma forma de você
- 8:24democratizar isso e levar isso pra uma discussão ali, que é
- 8:28algo às vezes que poderia levar horas de reunião, você resolve
- 8:31ali no pow. Request ali nos comentários.
- 8:33Então assim, é bem legal isso. E a reunião tem o negócio, que
- 8:37nem sempre a reunião agravada por algum motivo e tem as
- 8:40conversas rápidas, igual você comentou no privado que fica
- 8:44documentado até a discussão. Várias vezes perguntou por que
- 8:46que foi que a gente falou ali mesmo?
- 8:47Tinham eram 4 itens. Eu só lembro de 3, né?
- 8:50Geralmente umas coisas assim. Sim, sim.
- 8:52Esse comentário brevemente sobre o template, né?
- 8:54O? O.
- 8:55Fala. Ele comenta que precisa ser
- 8:58quase que uma seguir o mesmo princípio da matéria
- 9:01jornalística, né? O que tá no topo é o mais
- 9:03importante. E os detalhes?
- 9:05Vem depois. Existe um template padrão?
- 9:08Existe uma coisa que é ou depende, ou existem abordagens
- 9:12diferentes ou vocês definem o template ou isso existe um
- 9:15padrão, né? Um padrão.
- 9:17Bom, Rafa, hoje sim tem uma template pros ADR. Geralmente o
- 9:21ADR ele tem a questão do título é tem a questão do status dele,
- 9:25se ele tá completo, se ele tá obsoleto, tem a questão da
- 9:28descrição, né? De fato, as alternativas que
- 9:31foram consideradas. E também tem a questão da
- 9:33confiança. Se assim se o time ele tá 90% de
- 9:38confiança de tomar aquela decisão e assim para auxiliar
- 9:43essa essa definição, né? Da template tem algumas
- 9:46extensões, por exemplo, no vers code, que é a Dr touss, a Dr
- 9:50touss é uma extensão que ela vem para padronizar, é uma forma que
- 9:56você definir assim é como se fosse um para não dispersar
- 9:59assim muito de várias templates, várias estruturas, e ela vem
- 10:03para. Padronizar mesmo ADR você
- 10:06atualizar de forma mais fácil através assim de uma linha de
- 10:09comando, facilitando ali mesmo a questão da da padronização da
- 10:14utilização da ferramenta. Aí sai então um corpozão já todo
- 10:18ali, uma redação do Enem pronta ou e tudo onde está as coisas
- 10:21estão ali dentro o. OADR ele é bem para ser direto,
- 10:25né? Assim não é para ser nada prolix
- 10:27não é para ser nada complexo. É mais uma coisa assim.
- 10:30Você colocar lá as alternativas, pai.
- 10:33E principal. A decisão é essa.
- 10:34A decisão é essa, o. Time vai depois.
- 10:37É, o time vai revisando ou ou você tem uma confiança assim,
- 10:40que por ser um time de poucas pessoas, várias pessoas saem em
- 10:43contextos diferentes. Você decide tomar uma decisão
- 10:46ali, você quer documentar aquilo.
- 10:48Então é muito disso. É você ter essa esse log, né?
- 10:51Essa essa parte assim no código versionada.
- 10:54Pelo que a gente conversou antes do episódio de começar, eu sei
- 10:57que vocês já vivenciaram, né? Um contexto em que vocês é,
- 11:00tiveram um pouco dessas dores, viram a necessidade da Dr. E eu
- 11:03queria que vocês contassem um pouco mais pra gente sobre.
- 11:05A gente trabalha um projeto de sustentação, então são vários
- 11:09produtos e todos, a maioria é de 2 anos para cima e todos a gente
- 11:15chegou depois da conclusão do projeto.
- 11:17Então a gente pegou igual você comentou que tem as decisões e o
- 11:21resultado. A gente pegou só o resultado.
- 11:23E tem bastante coisa que a gente precisa mexer, que não tá
- 11:27funcionando, que acontece aquilo de quando tira, quebra por algum
- 11:30motivo e até a gente entender porque que aquilo foi aplicado,
- 11:34demora bastante, porque essas decisões, justamente por causa
- 11:37disso, não foram documentadas. E não só de arquitetura, mas
- 11:40trechos de códigos mesmo, então? A gente viu que se tivesse esse
- 11:45template de documentação, estaria tudo organizado num
- 11:48lugar só, porque o que tem geralmente é pequenos
- 11:50comentários do código ou comentário de Pure Quest ou até
- 11:54na especificação da história, que não fica tudo centralizado
- 11:57num lugar só e num num jeito modular assim.
- 12:01Quando vocês pegaram esse contexto aí e tudo que vocês
- 12:04viram, que que OADR seria interessante.
- 12:06Como que vocês decidem o que que vai para OADRO que que não vai
- 12:09para OADR? Tipo assim, tudo vai para lá
- 12:11tipo, Ah, não, gente, eu vou botar aqui, é?
- 12:13E tentação de 2 tabs No No arquivo.
- 12:17Sabe isso aí, não acho que isso não seria o um caso de uma Dr,
- 12:20né? Ou tipo assim, Ah, vou usar, ou,
- 12:22por exemplo, vou usar arquitetura em camadas, vou usar
- 12:24cqrs, essas coisas acho que talvez possam virar uma Dr. Como
- 12:27é que tem essa essa decisão, tipo assim, tudo vai?
- 12:31Eu Acredito que tem que ir para uma Dr quando começa uma
- 12:34discussão muito grande, então, por exemplo, a escolha da
- 12:37arquitetura em si, arquitetura em camadas ou outra arquitetura.
- 12:41Não precisaria isso fosse um consenso geral.
- 12:43Então só uma documentação explicando essa arquitetura é
- 12:46ok. Agora, quando tem uma discussão
- 12:48muito grande de quais motivos para qual, aí eu acho que tem
- 12:51que levar para esse tipo de documentação para entender.
- 12:54Porque que houve uma? Discussão em primeiro lugar,
- 12:57então, que nem você falou da identitação e seria mais para um
- 13:00Deadline de de name de variável ou coisas assim e arquitetura?
- 13:05Poderia ser só documentação. Então Eu Acredito que é quando
- 13:08tem. Quando surge essa discussão
- 13:10maior? Talvez, acrescentando, eu
- 13:13colocaria também coisas que não são tão óbvias, coisas que
- 13:17foram. Por exemplo, eu tenho uma tabela
- 13:21que, sei lá, por algum motivo, ela ela tem a terceira forma
- 13:25normal aplicada, mas por algum motivo ela tem uma coluna.
- 13:27Que é redundante? E aí isso é parece trivial, mas
- 13:31assim, se existe uma normalização naquela tabela, eu
- 13:34eu vou questionar se eu ver uma duplicação e às vezes eu posso,
- 13:37eu mesma, sem querer, remover uma duplicação e eu travar 11
- 13:41consulta e essa consulta levar parar de funcionar, sei lá, por
- 13:44conta disso, acho que coisas não óbvias, não triviais.
- 13:47Eu acho que seria interessante. Coisas esquisitas, é.
- 13:49Igual esse? If desigual.
- 13:52Eu acho que esquisito, é a melhor.
- 13:53Palavra é. Não necessariamente é ruim, mas
- 13:56uma coisa é diferente do que tá no normal ali.
- 14:00Que todo mundo tá acostumado a ver, né?
- 14:02O que vai chamar atenção e falar, pera aí, tem tem um de
- 14:04errado aqui? Não de errado, mas tem algo que
- 14:07é um padrão que eu não reconheço.
- 14:09O que é diferente de débito técnico, né?
- 14:11Exatamente, exatamente. Um débito.
- 14:13Você vai lá? Não, cara.
- 14:13A gente sabe que isso aqui não é um código que tá tão bom e tal.
- 14:16A gente entende algumas coisas assim.
- 14:18EE vai, né? Mas é débito.
- 14:20Técnico tem que ir pro tem que ir pro gira, né?
- 14:21Exatamente. Principalmente porque dentro do
- 14:23técnico você costuma achar nos nos nos acompanhamentos de
- 14:27projeto, nessa gira azul e debops, ou o que é que seja?
- 14:29Esqueci o nome desses sistemas, mas enfim, é algo assim.
- 14:32Pessoal, o que que vocês consideram uma má prática de de
- 14:35ADR? Ser prolix acho que a questão do
- 14:40ADR você ser o mais claro e você ser o mais direto possível do
- 14:45que você tá pensando. Pra justamente facilitar a
- 14:49discussão e assim não não destoar muito do tópico mesmo,
- 14:55levar a discussão pra aquela decisão daquela, por exemplo, de
- 14:59uma tecnologia x tipo isso. Boa.
- 15:02É tipo aquilo que eu comentei, tipo assim que eu perguntei, né?
- 15:05Não é pra ser uma redação do Enem então, né?
- 15:07Tipo assim, é só pra falar, cara, é isso?
- 15:09É isso? Por causa disso?
- 15:10Por causa disso, a confiança do time assim e foi considerado
- 15:14pensando nisso, nisso e aquilo. Legal você ser direto, boa, acho
- 15:19que é a base do ADR. Boa. Talvez seja um pouco abstrato,
- 15:22mas é. Eu já lidei com uma situação em
- 15:24que a gente teve um randover de um projeto, né?
- 15:27Um time que absorveu um projeto de outro time e tinha 11 lista
- 15:33de ADRs nesse projeto. Mas eu senti, sabe que faltou
- 15:37detalhe de contexto, que tudo bem, é importante você não ser
- 15:40prolixo. Mas é, você bate o olho ali e
- 15:44você, beleza. Quer entender um pouco mais Oo
- 15:46contexto daquela decisão? E aí não tem, só tem informações
- 15:50que são são ali soltas. E eu senti que não foi muito
- 15:55útil. Sabe que eu precisei de pegar um
- 15:56contexto antes para entender o porquê que.
- 15:59Aquela decisão foi necessária, que problema aconteceu que essa
- 16:03decisão foi necessária, sabe? Então acho que é um trade off,
- 16:06né? Você não pode ser prolixo, mas
- 16:08eu acho que é legal você seguir essa pirâmide invertida e
- 16:10colocando alguns detalhes, ou até você linkando um a Dr no
- 16:14outro, né? Eu acho que isso é é uma prática
- 16:17também e. Avaliando mesmo.
- 16:18Eu acho que entendendo assim se vai criar uma nova discussão a
- 16:22partir de uma Dr. Avaliar se aquilo compensa mesmo virar uma
- 16:27Dr ou. Ou se descarta ou se vai para
- 16:30uma guideline mais nesse sentido, facilitando mesmo as
- 16:33discussões e não tornando aquilo uma coisa muito difícil de ler.
- 16:37Algo muito complexo é ter esse Balanço mesmo, tanto da da
- 16:41descrição, não tão assim, extremamente detalhada, mas não
- 16:45algo tão tão simples, né? Legal.
- 16:48Eu acho que entra muito aquilo que você falou, né, Júlia?
- 16:50Tipo, cara, se algo não tá dando discussão, não tem porque ser
- 16:53uma Dr também, sabe? Eu participei de um projeto
- 16:55também, que o pessoal falou, Ah, não vamos discutir, fazer ADR,
- 16:58então cada um do time ficou responsável por uma Dr, então
- 17:00cada um ficava dentro daquele seu contexto e fazia aquilo, e
- 17:03nas deles a gente só falava, Ah, ouvi essa parte, eles ouviram
- 17:06tipo assim, mas fiz essa parte da Dr ou fiz essa Dr, não sei o
- 17:09que tipo assim, depois que aquela pessoa tinha meio que
- 17:11definido, aí ela chegava e pedia para o pessoal comentar alguma
- 17:14coisa, geralmente o pessoal só Ah, ok, sabe, tipo então não
- 17:18tinha discussão, era basicamente a definição arquitetural é que
- 17:21virava tipo uma Dr para tudo, aí tinha um.
- 17:24Cambada de ADR, lá Na Na lista do do Git.
- 17:27É perde a motivação da Dr, que é documentar as decisões em grupo,
- 17:31né? Não é só a pessoa fazer.
- 17:33E às vezes, levando até essa questão da falta de contexto,
- 17:35né, que a Rafa vivenciou, não tendo uma discussão ali, esse
- 17:38tipo de coisa. Eu acho que muito da Dr é você
- 17:42ser conciso e você levar a discussão.
- 17:45Acho que é. Principal assim, é a base de
- 17:47tudo. É, tá.
- 17:48A gente já comentou sobre quem escreve, quem aprova, a gente
- 17:51comentou sobre os PR. Mas e aí, como é que eu eu eu
- 17:54garanto que isso não vire uma burocracia, porque eu acho que
- 17:57talvez seja uma pergunta que os stakeholders faria se a gente
- 18:00fosse começar AAA, usar ADR nos projetos.
- 18:04Bom, Rafa, eu entendo que assim pra pra assim pra dar uma
- 18:09balanceada nesse nessa questão do dessas burocracias e do.
- 18:13No contexto, né? Do dia a dia ali do
- 18:15desenvolvedor, eu tenderia mais ir pela parte de paralelizar o
- 18:20seu trabalho. Então, por exemplo, você tá
- 18:23pensando numa discussão, você conhece os seus colegas de
- 18:27equipe? Então você levariam essa essa
- 18:30discussão ao mesmo tempo que você vai desenvolvendo essas
- 18:33tarefas, você vai atuando ali nessas atividades, não deixando
- 18:36isso. Paralisar o seu, a sua sprint, o
- 18:40seu ciclo, mas também não deixando isso de lado, tendo em
- 18:43vista os prós que essa essa prática traz para gente.
- 18:47Assim com o passar do tempo, né? Com a chegada de novos
- 18:51desenvolvedores dessa questão da aplicação mudando, né?
- 18:54Que às vezes nem sempre AA aplicação está toda mapeada.
- 18:58A gente precisa de algum, alguma outra implementação que seja
- 19:02algo nesse sentido? E aí é bom você ir documentando
- 19:06as coisas assim por etapas. EE.
- 19:09Assim é, é muito nesse nesse foco, assim de fazer essas 2
- 19:12coisas. Entendi de entender o momento
- 19:15certo, né? E tudo até para não ficar algo
- 19:16muito engassado, né? Você falou?
- 19:18Assim, sim, sim, sim. Ah, não tem que falar no
- 19:19processo todo, toda especificação.
- 19:21Tem que ter uma Dr pra essa decisão, alguma coisa assim.
- 19:24É. É, eu acho que AIA também.
- 19:26Ela reduziu muito essa essa Barreira.
- 19:28É porque a hoje pra escrever é muito rápido, né?
- 19:31O processo de escrita de você gerar.
- 19:34Nesses a 10. Isso pode ser automatizado com
- 19:36IA. Agora, uma coisa que a gente não
- 19:38pode confundir é com os pack dreaming develop, né Dudu?
- 19:41Com certeza. Isso aí eu acho que é uma coisa.
- 19:43São coisas diferentes que a gente comentou lá no início, né?
- 19:44A especificação, você vai falar o que você quer fazer aí?
- 19:48Eu preciso fazer isso, eu preciso fazer aquilo.
- 19:50Ah, vou, eu preciso implementar uma feature de fila que vai
- 19:53botar lá usando post sub. E não é não, eventos.
- 20:00Porque que eu vou usar isso no evento?
- 20:02Vai estar numa ADR. É diferente da da da especificação.
- 20:05Pelo menos da minha concepção, né?
- 20:06Só estou falando bobagem. Vocês 2, por favor, podem falar.
- 20:10Eu entendo que OADR ele vem pra complementar, tipo a um
- 20:14adicional ao espec drib. Não sei se vocês têm a mesma
- 20:17visão, caminho, mas com definições mais claras.
- 20:20Com toda essa discussão, eu acho que é é algo para enriquecer,
- 20:25enriquecer o contexto da IA. Dá pra dá pra você?
- 20:30É ali, na fase de de criar spec, você adicionar como contexto
- 20:36aquele arquivo macdown daquele é DRE, ter assim uma especificação
- 20:41mais clara assim pra pra você gerar um pleno ali, mais fácil
- 20:44que aí vai virar as tarefas, né? A implementação e com esse
- 20:48contexto da Dr. Eu entendo que isso ajuda demais, né?
- 20:51Você sempre dando mais contexto, sempre entendendo o que você
- 20:54quer implementar, entra muito nessa pauta, entendeu você?
- 20:58Com a discussão de outras pessoas, dá para considerar, por
- 21:01exemplo, quando você entra ali na parte specie, né?
- 21:03A Rafa mencionou do espec drib é geralmente a ideia.
- 21:07Ela te faz algumas perguntas, ela faz perguntas melhores,
- 21:11tendo em vista as decisões que foram.
- 21:13Discutidas exatamente. Eu acho que é isso que você
- 21:15falou, né, cara? É enriquecer o contexto com a Dr
- 21:19de acordo com a necessidade dentro da especificação também,
- 21:22não é tipo assim, todo a Dr tá lá dentro e julgar tudo ali
- 21:25dentro do baldão também no contexto, não.
- 21:27Da ya, porque senão vai ficar meio.
- 21:29Maluca, vai ficar repetindo a arierra assim?
- 21:32É do velho problema de engenharia de contexto lá que
- 21:35provavelmente vamos estourar, né?
- 21:36Exatamente. E vocês, tem algum alguma
- 21:40sugestão de livro e material curso pra?
- 21:42Bom, tem um artigo do Michael ninger.
- 21:47Que tipo ele que padronizou essa ideia?
- 21:49É até fácil de encontrar. É só jogar a Dr. Michael ninger
- 21:52que você encontra isso fácil qualquer pesquisa, só um Google
- 21:56e assim. Lá tem toda a motivação desse
- 21:59estudo de dos contextos que ele vivenciou.
- 22:02É, é um material assim que dá para você sumarizar.
- 22:05Muito fácil, né? Com todo esse recurso que a
- 22:07gente tem hoje em dia. Então é é um conteúdo assim
- 22:10muito bom, que leva essas discussões, facilita às vezes
- 22:13muito a vida de um desenvolvedor.
- 22:15E eu acho assim, se fosse para recomendar, seria primariamente
- 22:19esse esse artigo. Cara muito legal.
- 22:22Acho que deu para entender, né? Recapitulando que a Dr é um
- 22:25investimento. De baixíssimo esforço,
- 22:28principalmente com o uso de ar. É e de alto impacto, né?
- 22:31Na saúde dos times, para quem ninguém passe por aquela
- 22:34situação que eu descrevi lá no começo, que é.
- 22:36Acho que todo mundo aqui já vivenciou, ainda mais em times
- 22:39de alta rotatividade, né? Então isso é muito frequente.
- 22:42E aí eu deixo uma pergunta para nossa audiência, você já passou
- 22:46por alguma situação engraçada que vocês?
- 22:48Encontrar alguma coisa esquisita não fazia ideia do que de como
- 22:52foi parar. E que tal começar hoje, né?
- 22:55Legal essa ideia também de você pegar alguma, alguma, alguma
- 22:59decisão que já teve no seu projeto e criar sua primeira Dr.
- 23:03E aí, conta para gente nos comentários.
- 23:05Como que foi isso? Foi fácil, né?
- 23:07Se se realmente é tranquilo, EEO que que ajudou, né?
- 23:09Tipo assim, o principal é isso, se você já usou, deixa para
- 23:12gente também, é cara. Isso aqui ajudou bastante nisso,
- 23:15daquilo. Como é que foi a experiência de
- 23:17vocês? Isso, obrigada, pessoal,
- 23:19obrigada e até a próxima. Valeu, pessoal.
- 23:21Muito obrigado, tchau, tchau.