Desenvolvimento de software

Tamanho: px
Começar a partir da página:

Download "Desenvolvimento de software"

Transcrição

1

2

3

4 Desenvolvimento de software sempre foi uma atividade bastante dolorida. Já nos anos 70 se falou na primeira crise do software, onde pela primeira vez as dificuldades e armadilhas de se desenvolver sistemas complexos foram discutidas francamente. As causas dessa crise eram projetos estourando prazos e orçamentos, projetos que não atingiam os objetivos de negócio, com baixa qualidade, e que os tornava praticamente insustentáveis de se manter no médio / longo prazo. Nascia nesta época a engenharia de software, o modelo Waterfall, futuramente processos de desenvolvimento e gestão, o RUP então o SCRUM, agora o KANBAN. Por um lado, uma tentativa incessante de se melhorar as práticas de engenharia de software olhando por dentro a arquitetura, o código, a gerência de configuração, a integração contínua, as automações de build, teste e deploy, por outro, como conduzir, motivar e reter talentos. Tentamos fazer de tudo! Nos reinventamos a todo o momento para

5 nos livrar da tal crise do software que parece não ter nos largado até hoje. Do ponto de vista de negócio, os resultados da indústria de software são terríveis. Apenas um terço aproximadamente dos projetos de software no mundo são bem sucedidos, segundo o Standish Group, no seu estudo intitulado The Chaos Manifesto, que vem medindo ano a ano os resultados da indústria de software desde Os critérios para que os projetos sejam considerados bem sucedidos incluem serem concluídos dentro do prazo, do custo e com o escopo previsto. Imagina se somássemos a estes critérios o índice de felicidade das pessoas que trabalharam nestes projetos, da família destas pessoas e ainda dos usuários que utilizam os sistemas que desenvolvemos. Qual seria o resultado? Está na pauta de qualquer CIO hoje em dia tratar de ALM (gerenciamento do ciclo de vida da aplicação) e agilidade, sempre pensando em como mudar os resultados históricos obtidos. Uma visão recente sobre como mudar a forma tradicional de se produzir software e que vem ganhando força é o conceito de Continuous Delivery, que ganhou o mundo a partir de 2010 com a escrita do livro que leva o nome do conceito, por Jez Humble e David Farley. Falar de continuous delivery significa reduzir o tempo entre um código pronto e seu uso pleno pelos usuários reais, através de automação e melhoria dos processos de desenvolvimento e liberação de software. Técnicas como automação de testes, integração contínua e automação de build e deploy, permitem o desenvolvimento de software de alto padrão, de fácil empacotamento e distribuição. Isso habilita levar, com baixo risco e com um mínimo de intervenção humana, as melhorias e correções de bugs aos usuários, de forma rápida, confiável e repetível. Podemos falar de continuous delivery sob várias perspectivas, mais ou menos técnicas, focado na escrita de software, de ALM ou de negócios. Esta matéria aborda a discussão na perspectiva do ciclo de vida das aplicações. Ela vai contar a história de um time, os Aspiras, abreviação de Aspirantes, que partiu do zero e que foram evoluindo, melhorando suas práticas, processos e ferramentas até alcançar o estado de entregar software de valor continuamente. Uma coisa que precisa ficar claro neste tipo de leitura, que aborda a discussão sobre níveis de maturidade, é que a análise deve ser feita sempre no contexto de projetos, nunca das organizações. Normalmente, uma mesma organização possui vários projetos em diferentes níveis de maturidade. Outra coisa importante de ser dita é que nem todo projeto precisa praticar continuous delivery. Para alguns isso pode simplesmente não fazer sentido por uma série de fatores. Por isso, quando estiver lendo, tente imaginar um dos seus projeto onde pareça fazer sentido. Uma última questão a ser considerada é que os níveis descritos neste artigo não refletem nenhum padrão definido de mercado. Os níveis são baseados na observação de inúmeras organizações onde o autor do artigo teve a oportunidade de discutir sobre produção e entrega de software. O primeiro passo do time Aspiras foi escolher um conjunto de ferramentas para suportar o desenvolvimento do seu projeto. À disposição havia diversas ferramentas como Redmine, Jenkins, GIT, junit, jmeter, Selenium, Maven, Nexus, também ferramentas completas de ALM como o Team Foundation Server, que trata todo o ciclo de vida de aplicações em uma só suíte. Após escolherem a ferramenta, eles estruturaram os códigos-fonte no repositório para utilização do source control. Os desenvolvedores passaram então a trabalhar com códigos versionados, possibilitando voltá-los a um estado anterior, quando necessário. Não existia muita preocupação com metodologias e processos de desenvolvimento. O método utilizado por eles era o famoso EGH (Extreme Go Horse), onde ambos, stakeholders e times de desenvolvimento agiam de forma caótica em busca dos resultados esperados. Não havia nenhum nível de automação. Gerar o build da aplicação, por exemplo, significava dar um F5 na IDE de desenvolvimento. O processo de deployment era completamente manual. Na verdade, um evento especial, altamente orquestrado, com participação de diversas pessoas de diferentes áreas. O processo de qualidade também era completamente manual, estilo La Garantia Soy Yo. Não existiam testes unitários, funcionais, ou de qualquer outro tipo. Os testes, quando feitos, eram exploratórios. A cada nova versão, alguns testes eram feitos dependendo do tempo que se tinha. Se a versão estivesse planejada para ir para rua em três semanas, eles testavam por três semanas, se fosse há dois dias, testavam por dois dias. A Tabela 1 traz uma visão sintética dos marcos alcançada pelo time neste nível por disciplina. Depois de algum tempo, os Aspiras já estavam bem habituados em trabalhar com os repositórios de fontes. Nessa altura do campeonato, o controlador de versão já havia os salvado de algumas enrascadas. Eles perceberam o valor disso e passaram a enxergar o repositório como sua cesta de ovos e então quiseram protegê-la. Começaram então a definir políticas de check in para, através de análise estática de código, barrar códigos que não atendiam

6 aos padrões de codificação estabelecidos pelo time ou códigos mal cheirosos (code smell) que eram caros de se manter. Também obrigaram os desenvolvedores a comentar seus check-ins, e a associa-los a requisitos, garantindo rastreabilidade entre código e demandas. Nesta etapa, eles descobriram que não dava mais para trabalhar sem definir uma estratégia de branches. Algumas vezes, quando hotfixes eram solicitados para produção, as correções tinham que ser feitas no estado atual do código e publicadas imediatamente para apagar o incêndio. O problema é que, quando isso acontecia, frequentemente mais bugs iam para o ar, uma vez que após as publicações, os times continuavam escrevendo novas funcionalidades e corrigindo bugs, e códigos que ainda não estavam prontos ou estáveis acabavam indo parar em produção. Em função das dificuldades enfrentadas na condução do projeto, eles começaram a praticar o SCRUM, que normalmente é por onde a agilidade começa a emergir dentro das organizações. Descobriram por eles mesmos o significado da famosa frase do Ken Schwaber de que SCRUM é um framework fácil de entender e muito difícil de praticar. Começaram a surgir indícios de automação, começando pela parte de Build. Eles haviam se cansado do trabalho árduo e manual de empacotar uma nova versão, com todas as suas dependências, e que só dava certo quando era gerada na máquina do João, já que somente lá todas as dependências estavam corretas. Um servidor de Build foi então implantado, e um build noturno agendado, gerando os binários da aplicação, com todas suas dependências, de forma suave, diariamente às 3h da manhã. O processo de deployment da aplicação continuava longo e manual. Eles começaram a descobrir as métricas de qualidade do código, como complexidade ciclomática, coesão e acoplamento de classes, profundidade de herança, número de linhas, etc., e que a soma de tudo isso, lhes dizia sobre o índice de manutenibilidade de um código, ou seja, quão caro ou barato era manter o código. Isso, então, acabou virando uma política de check in. Um novo código não podia mais ir para o repositório se o índice de manutenibilidade dele fosse menor que sete. Eles então perceberam que o nível de cobertura do código deles por testes automatizados era de 0% e isso os incomodou. Começaram então a escrever testes automatizados para cobrir qualquer novo bloco de código escrito. Em paralelo, por aonde iam passando para corrigir bugs ou refatorar, eles também escreviam testes unitários para cobrir aquelas áreas. Isso fez com que, aos poucos, o percentual de cobertura daquele projeto começasse a subir, momento no qual eles estabeleceram a meta de ter 30% do código coberto. Essa meta foi crescendo futuramente até chegar a 50%, 70% e 80%. Eles começaram nesta etapa também a criação de planos e casos de testes funcionais que cobriam os principais cenários de negócio da aplicação, de forma que, a cada nova versão, eles sabiam exatamente o que não podia deixar de ser testado em cada um dos módulos da aplicação. Assim, pelo menos os cenários mais críticos estavam cobertos e o índice de problemas em produção foi reduzido drasticamente, já que o time passou a pegar os problemas ainda dentro de casa. Veja na Tabela 2 as principais evoluções do time neste nível. Na parte de gestão de fontes / SCM, os Aspiras resolveram um grande problema que o time tinha: o do big bang integration, ou a dificuldade que eles tinham de integrar os códigos produzidos por diferentes pessoas do time para que uma versão pudesse ganhar a rua. Imagina sete pessoas escrevendo novas funcionalidades e fazendo manutenções evolutivas e corretivas durante três meses e, de repente, eles têm que integrar todo o código modificado, em um uma versão única para ser publicada. Era tanto trabalho, dava tanto problema na hora de fazer os merges, que os resultados quase sempre eram códigos perdidos, horas extras, pessoas estressadas, etc. Para resolver isso, eles implementaram um processo de integração contínua, que forçou que, a cada novo check in, o código do desenvolvedor fosse integrado com a versão oficial do repositório e que qualquer conflito tivesse que ser resolvido naquele momento. Ou seja, como a integração era feita continuamente, elas normalmente eram pequenas e fáceis de resolver. Começaram também a definir padrões modernos de arquitetura, criando projetos de exemplo para demonstrar o padrão que deveria ser seguido pelos desenvolvedores, a fim de resolver problemas conhecidos de componentização, regras de negócio e persistência de dados. Em termos de processos e metodologias, neste nível, os times já haviam atingido um bom nível de maturidade. Estavam rodando o SCRUM de forma fluida e sem grandes fricções.

7 Nesse momento eles já haviam descoberto que ser ágil ia muito além do que diz o Scrum Guide. Começaram a entender que a mistura de stakeholders, artefatos, demandas, usuários, times, infraestrutura, etc., formava um sistema, um sistema complexo, complexo e adaptativo, e que nestes tipos de sistemas, nem sempre as coisas acontecem como esperado. Neste nível, os Aspiras levaram para o nível de consciência que desenvolver software é uma atividade complexa. Aceitaram, por exemplo, que não existe nenhuma ciência de estimativa, e que não é possível uma pessoa determinar em quanto tempo exatamente algo ficará pronto, já que ela é apenas um componente do sistema. Passaram a exercitar um pensamento muito mais estatístico e probabilístico do que determinístico. Na parte de automação, os Aspiras passaram a utilizar a integração contínua como gatilho para a automação de Build. Agora a cada novo check in, um novo build passou a ser enfileirado no servidor de Build. Falando de qualidade, eles permaneceram avaliando continuamente as métricas e os níveis de cobertura do código por testes automatizados. Os planos e casos de testes agora eram extensivos. Durante o último período, foi possível colecionar centenas de casos de testes, tornando impraticável executar manualmente cada um deles a cada nova versão liberada. Eles partiram então para um processo de automação destes testes, utilizando engines de testes de interface, que simulam o uso de uma pessoa na aplicação, clicando aqui e ali, fazendo os inputs de dados e validando de forma automática os resultados esperados. Assim ficou mais fácil garantir a entrega de software de alto padrão de qualidade. A Tabela 3 traz os novos desafios vividos pelo time neste nível. configuration management. A novidade aqui é que eles perceberam que, reduzindo a cadência de entrega, eles reduziam o tempo em que novas funcionalidades chegavam aos usuários, acelerando o processo de aprendizado e consequentemente de feedback e de novas demandas. Nesse ritmo era impossível pensar em big design up front. O time aqui entendeu que o melhor a ser feito era ficar bom em modificar a arquitetura da aplicação sob demanda, e que a arquitetura agora era emergente. O processo ágil deles estava a todo vapor, rodando de forma fluida, melhorando continuamente a cada Sprint executada. A consciência de que estavam inseridos em um sistema complexo aumentava e eles começaram a criar modelos de relações de causa e efeito. Um modelo onde ficam evidentes coisas do tipo: se mais isso, menos aquilo, se menos isso, mais aquilo. É como se eles começassem a descobrir o efeito que cada torção de parafuso tinha dentro do time. O que motivava o time, o que desmotivava, o que acelerava a entrega, o que desacelerava. Um exemplo: se paralelizassem as atividades do time a partir de um ponto, eles aumentavam o lead time, diminuindo o throughput, consequentemente diminuindo a previsibilidade de entrega do time. Esse tipo de modelo é fundamental para um time alcançar um alto desempenho. Normalmente, existe uma grande preocupação em gerir ocupação de pessoas, em garantir que os recursos estejam sempre 100% alocados. Isto é um pensamento 1.0, herança maldita No nível 400 pouco se discutia sobre fontes. O time já estava com alta proficiência na disciplina de SCM - source and

8 do modelo fabril que tomou conta da indústria de software durante quase um século. Agora existe muito mais uma preocupação em gerir o throughput e o lead time do time, do que em garantir que as pessoas estejam alocadas 100% do seu tempo. Entenda como throughput a quantidade de itens que o time coloca para fora da máquina em um determinado período de tempo, o quanto de itens prontos (production ready) é entregue. E lead time como o tempo que o item fica dentro da máquina, do sistema, desde o momento em que o item é aprovado para produção até o momento em que ele é entregue. O lead time serve para medir a eficiência do sistema como um todo, envolvendo todos seus componentes (desenvolvedores, tecnologia, demandas, stakeholders, impedimentos, etc.). Um erro comum é tentar utiliza-lo como medida de esforço. Mas não é o objetivo no momento. O fato é que, com um modelo causal estabelecido, e com o time trabalhando focado em throughput e lead time, foi possível chegar num ponto onde era possível afirmar com até 90% de certeza de que uma demanda aprovada, uma vez no sistema, entre quatro e seis dias, estaria disponível para produção. Nesse nível de entrega, os Aspiras já haviam deixado de trabalhar por iterações e estavam rodando em ciclos contínuos de entrega. Não eram mais baldes de coisas ficando prontas (sprints), era como se fosse uma torneira aberta, com fluxo contínuo de entrega. Com isso, eles descobriram a diferença entre sistemas puxados e sistemas empurrados. Vêm as demandas de negócio e elas são empurradas ao time, sem compasso, sem entender a capacidade de entrega dele (número de pessoas, número de projetos em desenvolvimento / sustentação, maturidade do time, habilidades técnicas, multidisciplinaridade, km rodados, disciplinas automatizadas por ferramentas, motivação, etc.). Isso faz com que o time tenha que trabalhar cada vez mais horas para dar conta de entregar as demandas de negócio dentro do tempo esperado. O efeito é o contrário do esperado: pessoas desmotivadas, cansadas, sem criatividade, com baixa produtividade, o que leva a um alto turnover, que abaixa ainda mais a entrega, e um novo ciclo de reforço negativo começa. Em sistemas puxados, o funcionamento é diferente. O time puxa trabalho para dentro do sistema de acordo com a capacidade de entrega que eles têm naquele momento. Fazem isso limitando o volume de trabalho em progresso (wip limit) para cada etapa de sua cadeia de valor, ou seja, para cada etapa de sua esteira de produção, o time passou a ter um limite de atividades que podiam ser executadas em paralelo. Outros tópicos mais avançados passaram a atuar no estado de consciência dos times como, por exemplo, entender qual a sua liquidez e qual efeito sistêmico que ela tem sobre os resultados (throughput e lead time). Entenda como liquidez, neste contexto, o casamento entre um determinado tipo de trabalho e a disponibilidade de mão de obra especializada dentro do time para executá-lo. Por exemplo, quando o time tem muitas atividades de arquitetura ou de gestão de configuração e poucas pessoas treinadas para executá-las, eles têm baixa liquidez. E pensando em sistemas complexos, baixa liquidez aumenta os gargalos, aumentando o lead time, reduzindo o throughput, a previsibilidade, além de aumentar a dependência de pessoas, criando heróis, desmotivando pessoas, etc. Um time multidisciplinar, onde todos são capazes de executar qualquer tipo de atividade é mais eficaz e eficiente. Os Aspiras passaram a trabalhar também com classes de serviço, que variavam de acordo com os SLAs de cada tipo de atividade. Classes de serviços estabelecem formas diferentes de o time atuar, dependendo do tipo de demanda que está em pauta. Se for um requisito planejado, ele simplesmente segue o fluxo planejado. Se for um bug em produção que está afetando o funcionamento da aplicação, ele pode entrar com prioridade maior dentro do sistema, furando restrições e limites de trabalho em progresso estabelecidos. Se for um bug crítico, que está impedindo a execução da aplicação em produção, ele pode fazer inclusive com que os membros do time parem o que estão fazendo naquele momento para resolver o problema, até que o ambiente de produção seja reestabelecido. Tudo depende de qual classe de serviço uma determinada demanda pertence. Outro ponto que caiu na atenção do time é a alta depreciação quando o assunto é sistema de informação. É muito comum fazermos diferentes estoques na nossa linha de produção. Estoques de arquitetura, estoques de requisitos, de artefatos (casos de uso, diagramas), de conversas e discussões, enfim... estoques. O que a gente não percebe é que o custo de criar e manter estes estoques são muito elevados e arriscados, já que a qualquer momento, uma nova informação, um novo aprendizado, uma nova ordem, pode mudar tudo de ponta a cabeça e você perder horas e mais horas de trabalho. Tente postergar ao máximo qualquer trabalho. Leve tudo até o último momento responsável (LRM Last Responsible Moment), onde a partir daquele momento, o custo de atraso é maior do que o benefício do atraso. Para entender a curva do custo de atraso, funciona mais ou menos assim: se um item não for feito até tal data, tudo bem, a partir de tal data, o negócio começa a azedar. Passando de outra data, ele começa azedar rapidamente, até chegar um momento em que não tem mais o que fazer, azedou de vez. Para finalizar estes tópicos avançados, outra coisa que ficou bastante evidente para os Aspiras foi o tempo médio de reparo (MTTR Main Time To Repair). Nessa altura do campeonato, eles adotaram políticas de só caminhar pra frente. Nada de rollback de versão. Como estavam em um estágio avançado de entrega contínua, vez ou outra alguma coisa mal cheirosa acabava parando em produção. Quando isso acontecia, o caminho era reproduzir o bug, então criar os testes unitários pra cobrir aquele bloco de código, criar novo caso de teste que cubra aquele cenário de negócio, então corrigir o erro e disponibilizar a versão em produção. O tempo entre o erro ter sido reportado e a correção publicada, é o que chamamos de tempo de reparo, e monitorar este indicador é fundamental quando falamos de entrega contínua de software. Eles descobriram recentemente o Management 3.0 e passaram a praticar suas seis visões dentro do time (como

9 energizar as pessoas, delegar responsabilidades, alinhar restrições, desenvolver competências, crescer o time e melhorar continuamente). Quando o assunto é automação, a novidade é que eles também automatizaram o processo de deployment e passaram a fazer deploy automático para o ambiente de homologação no contexto do check in, ou seja, quando um desenvolvedor fazia check in, um build era enfileirado e quando executado, os binários além de serem gerados, eram distribuídos para o ambiente de homologação para que o time de qualidade pudesse realizar seus testes, sempre em cima da última versão disponível, eliminando o gap de tempo, entre estar pronto na máquina do desenvolvedor e disponível para testes. Como o processo automático de deployment foi estabelecido, eles passaram a utilizar a mesma tecnologia para também efetuar deploy em produção, porém não de forma automática. Eles continuaram passando pelo processo de gestão de mudança estabelecido, mas no momento do deploy em si, ao invés de reunir todas aquelas pessoas, durante todo aquele tempo, simplesmente eles apertam um botão fazendo one-click deploy para produção. Uma coisa interessante que passou a ser necessário neste nível foi gerir, de forma dinâmica, os ambientes virtuais de testes. Já que eles estavam trabalhando com geração de build e deploy automático, isso significa que a cada check in, um build era enfileirado no servidor, compilando a aplicação, executando as centenas de testes unitários. Tudo dando certo, ele fazia o deploy automático da aplicação para um ambiente de teste, similar ao de produção, onde executava as centenas de casos de testes automatizados por testes de interface para garantir que todos os cenários críticos de negócio estavam funcionando e que não havia ocorrido nenhum problema de integração. Isso tudo a cada check in de cada desenvolvedor. Tudo dentro do contexto do build. A demanda de infraestrutura aqui era grande. Agora imaginem gerenciar todos esses ambientes de testes manualmente. Acho que não seria possível. Falando de qualidade, os times já estavam praticando desenvolvimento orientado a testes TDD. Nenhum novo bloco de código era escrito, sem que antes um teste unitário tivesse sido criado. Como já existia alta rastreabilidade entre código, requisito, testes, bugs, build, o time passou a utilizar análise de impacto para garantir que uma mudança no módulo um do sistema não estava quebrando o módulo seis, por exemplo. Eles agora praticavam code review, e um código só ia para o repositório depois de atender todas as políticas de check in e também de passar pela revisão de outro desenvolvedor do time. Dessa forma, se estabeleceu uma propriedade coletiva do código. Aquela coisa de que naquela classe só o João podia mexer ficou para trás.

10 Para que o time conseguisse realmente entregar valor, foi fundamental que eles reduzissem os ciclos de feedback. Afinal, eles não estavam otimizando todos seus processos para estarem sempre certos, e sim para detectar rapidamente quando estavam errados. É possível se ter feedback em segundos através dos testes unitários, em minutos através de code review com seus pares e em horas, quando estabelecemos um processo automatizado e leve de feedback dos stakeholders. Isso fez com que o time fosse mais assertivo em suas entregas, maximizando o valor e elevando o moral do time. A Tabela 4 deixa claro o quanto o time evoluiu do nível 300 para o nível 400. Neste momento, quando o time realmente atinge o estado de continuous delivery, grandes mudanças acontecem. Na parte de fontes, a principal delas tem a ver com a estratégia de branch do time. A estratégia agora passa a ser no branch. Isso mesmo. Por mais retrógrado que possa parecer, quando o time chega neste nível, o que eles fazem é ter apenas um branch, o main. Todo código produzido é comitado no main e deployado em produção. Isso mesmo, check in, produção, check in, produção. A segregação de código que nós estamos acostumados a fazer por ambientes (desenvolvimento, testes, homologação, pré-produção, produção, etc.) passa a ser feito agora por código. Os times passam a trabalhar com flags de configuração, para habilitar ou desabilitar funcionalidades ou comportamento do sistema, para públicos alvo específicos. Para tentar ilustrar, imagine que seu sistema possui uma funcionalidade de busca e que um novo sistema de busca está sendo produzido com muito mais recursos e filtros. Desde o primeiro check in da nova busca o código foi parar em produção, mesmo não estando pronto. No início, isso pode parecer que não faz muito sentido, mas pra desfazer este nó mental, precisamos compreender que disponibilizar um código em produção é diferente de lançar uma nova versão do sistema. O fato de colocar código em produção não significa que os usuários vão ter acesso a ele. É como se fossem dark releases, que estão seguros pelas flags de configuração colocadas no código. Imagina que você tem um parâmetro no seu arquivo de configuração chamado novabusca com valor off. Isso significa que ninguém, absolutamente ninguém terá acesso à nova funcionalidade de busca. Agora imagina que o valor deste parâmetro é DevTeam, BusinessTeam. Somente os usuários contidos nos grupos de desenvolvimento e de negócio terão acesso à nova busca quando acessarem o sistema. Outra opção de valor para este parâmetro poderia ser MárcioSete, JoaoPereira, MariaJoão. Neste caso somente estes três usuários teriam acesso à nova busca. Poderíamos também colocar como valor do parâmetro 30%. Neste caso, a funcionalidade já estaria pública, mas ainda com acesso limitado, já que poderíamos não saber como ela se comportaria com alto volume de acesso. Dessa forma, apenas 30% dos acessos seriam roteados para cair na nova busca, os outros 70% seriam direcionados para a busca velha. Assim, poderíamos monitorar o comportamento do sistema, aumentando gradativamente o volume de acesso para 50%, 75% e 100%, quando o valor do parâmetro passaria então a ser on, quando 100% do tráfego público do sistema seriam roteados para a nova busca. Para que esse ramp up de usuários aconteça, é fundamental que o time tenha feedback contínuo de operação. Normalmente através de um dashboard com diversos indicadores, que mostrem coisas básicas como características de hardware dos servidores de produção, thresholds das principais funcionalidades do sistema para identificar problemas de performance, número de transações realizadas, etc., até coisas menos óbvias como por exemplo, número de posts no fórum de bugs do sistema. Praticar continuous delivery sem estes tipos de feedbacks é como pilotar um avião sem instrumentos. Falando de qualidade, os requisitos passaram a ter também o definition of ready, além da definition of done, que indica quando os requisitos estão prontos para que alguém trabalhe neles. Os desenvolvedores só commitavam com testes unitários, funcionais, com code review, atingindo a definição de pronto do time e os critérios de aceitação do requisito. Em termos de metodologia, neste nível, os times já estavam praticando o desapego. Para eles, não interessava mais como se chamava a metodologia que estavam praticando. Neste nível de entrega, eles estavam praticando um mix de metodologias. Estavam utilizando várias práticas do SCRUM, do XP, do KANBAN e até mesmo do RUP, da mesma forma que estavam deixando de utilizar várias práticas destas mesmas metodologias. É como se eles tivessem alcançando o RI do ShuHaRi, um conceito das artes marciais japonesas, que medem os estágios de aprendizado até a maestria. O SHU significa aprendizado,

11 você segue os modelos estabelecidos. O HA significa quebrar com as tradições. Você já domina tanto aquilo que faz, que já é capaz de modificar a forma com que o faz. Sabe o efeito sistêmico de cada modificação que faz no processo. O RI significa que não há mais técnicas, todos os movimentos são naturais, é onde acontece a transcendência. Um time de alta performance como este é movido muito mais por autonomia, maestria e propósito, do que por recompensas e punições. A gestão e retenção de talentos aqui demanda alguém fora da caixa, que compreenda o valor individual de cada um, o valor do time como um todo, que tenha coerência, seja sensato, se comunique extremamente bem, se preocupe com o próximo, com o negócio, tenha poder de decisão e que, principalmente, esteja a fim de fazer algo diferente de tudo que vemos cotidianamente por ai. Os Aspiras passaram a praticar melhoria contínua, rodando Kaizens periodicamente. Dentre os principais indicadores do time está o Happiness KPI, afinal de contas, de que adianta fazer tudo isso se não estiverem todos felizes? A Tabela 5 mostra o momento onde o time realmente alcança o estado de entrega contínua de valor. Depois de tudo que você leu, se você fosse desafiado a aumentar a velocidade de entrega do seu time, de forma sustentável, o que você faria? Algumas pessoas neste momento, certamente estão com a cabeça girando a mil por hora, cheio de ideias e com uma energia incrível de mudança. Outras um pouco mais céticas devem estar pensando, isso não é pra mim ou para a minha organização. Uma coisa é certa, continuous delivery não é pra qualquer projeto, contudo viver a experiência de entregar continuamente software de valor ainda não é para qualquer um. Em 10 ou 15 anos, talvez este seja o modelo predominante de se desenvolver software no Brasil, enquanto isso, para viver uma experiência dessas, é preciso coragem para combater o status quo existente, liderança com autonomia e poder para questionar regras existentes, além de patrocinadores que enxergam valor em um ciclo de vida de aplicações moderno e que entendam que investir em ALM é caro e que não investir é mais caro ainda. Seja como for, um pontapé inicial é necessário para fazer as pessoas pensarem sobre como estão produzindo software hoje, e onde desejam chegar. Normalmente este pontapé é feito por um agente de mudança, que pode ser você. Crie situações para discutir sobre como estão trabalhando hoje. Consiga a presença dos principais influenciadores da sua organização, convide especialistas de fora para participar da conversa, participe dos principais eventos de agilidade e engenharia de software para oxigenar a mente e leia, leia bastante, assim como você está fazendo agora.

Freelapro. Título: Como o Freelancer pode transformar a sua especialidade em um produto digital ganhando assim escala e ganhando mais tempo

Freelapro. Título: Como o Freelancer pode transformar a sua especialidade em um produto digital ganhando assim escala e ganhando mais tempo Palestrante: Pedro Quintanilha Freelapro Título: Como o Freelancer pode transformar a sua especialidade em um produto digital ganhando assim escala e ganhando mais tempo Quem sou eu? Eu me tornei um freelancer

Leia mais

COMO FAZER A TRANSIÇÃO

COMO FAZER A TRANSIÇÃO ISO 9001:2015 COMO FAZER A TRANSIÇÃO Um guia para empresas certificadas Antes de começar A ISO 9001 mudou! A versão brasileira da norma foi publicada no dia 30/09/2015 e a partir desse dia, as empresas

Leia mais

Estudo de Caso. Cliente: Rafael Marques. Coach: Rodrigo Santiago. Duração do processo: 12 meses

Estudo de Caso. Cliente: Rafael Marques. Coach: Rodrigo Santiago. Duração do processo: 12 meses Estudo de Caso Cliente: Rafael Marques Duração do processo: 12 meses Coach: Rodrigo Santiago Minha idéia inicial de coaching era a de uma pessoa que me ajudaria a me organizar e me trazer idéias novas,

Leia mais

Fábrica de Software 29/04/2015

Fábrica de Software 29/04/2015 Fábrica de Software 29/04/2015 Crise do Software Fábrica de Software Analogias costumam ser usadas para tentar entender melhor algo ou alguma coisa. A idéia é simples: compara-se o conceito que não se

Leia mais

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como:

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como: Plano de Teste (resumo do documento) I Introdução Identificador do Plano de Teste Esse campo deve especificar um identificador único para reconhecimento do Plano de Teste. Pode ser inclusive um código

Leia mais

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Introdução Modelos de Processo de Desenvolvimento de Software Os modelos de processos de desenvolvimento de software surgiram pela necessidade de dar resposta às

Leia mais

Scrum. Introdução UFRPE-DEINFO BSI-FÁBRICA DE SOFTWARE

Scrum. Introdução UFRPE-DEINFO BSI-FÁBRICA DE SOFTWARE Scrum Introdução UFRPE-DEINFO BSI-FÁBRICA DE SOFTWARE scrum Ken Schwaber - Jeff Sutherland http://www.scrumalliance.org/ Scrum Uma forma ágil de gerenciar projetos. Uma abordagem baseada em equipes autoorganizadas.

Leia mais

TUTORIAL PRÁTICO SOBRE Git. Versão 1.1

TUTORIAL PRÁTICO SOBRE Git. Versão 1.1 TUTORIAL PRÁTICO SOBRE Git por Djalma Oliveira Versão 1.1 "Git é um sistema de controle de revisão distribuida, rápido e escalável" (tradução rápida do manual). Basicamente é

Leia mais

Itinerários de Ônibus Relatório Final

Itinerários de Ônibus Relatório Final CENTRO UNIVERSITÁRIO SENAC Itinerários de Ônibus Relatório Final Grupo 5 Caio Roque Daniel Nunes Elise Roese José Caneiro Marcos Grignani São Paulo Junho de 2007 1 ÍNDICE 1. Introdução... 3 2. Desenvolvimento...

Leia mais

O Guia Passo-a-Passo para IMPLANTAR. Em seu próprio Projeto

O Guia Passo-a-Passo para IMPLANTAR. Em seu próprio Projeto O Guia Passo-a-Passo para IMPLANTAR Em seu próprio Projeto Aprenda como Agilizar seu Projeto! A grande parte dos profissionais que tomam a decisão de implantar o Scrum em seus projetos normalmente tem

Leia mais

1. Quem somos nós? A AGI Soluções nasceu em Belo Horizonte (BH), com a simples missão de entregar serviços de TI de forma rápida e com alta qualidade.

1. Quem somos nós? A AGI Soluções nasceu em Belo Horizonte (BH), com a simples missão de entregar serviços de TI de forma rápida e com alta qualidade. 1. Quem somos nós? A AGI Soluções nasceu em Belo Horizonte (BH), com a simples missão de entregar serviços de TI de forma rápida e com alta qualidade. Todos nós da AGI Soluções trabalhamos durante anos

Leia mais

COMO TER TEMPO PARA COMEÇAR MINHA TRANSIÇÃO DE CARREIRA?

COMO TER TEMPO PARA COMEÇAR MINHA TRANSIÇÃO DE CARREIRA? COMO TER TEMPO PARA COMEÇAR MINHA TRANSIÇÃO DE CARREIRA? Um guia de exercícios para você organizar sua vida atual e começar a construir sua vida dos sonhos Existem muitas pessoas que gostariam de fazer

Leia mais

O papel do CRM no sucesso comercial

O papel do CRM no sucesso comercial O papel do CRM no sucesso comercial Escrito por Gustavo Paulillo Você sabia que o relacionamento com clientes pode ajudar sua empresa a ter mais sucesso nas vendas? Ter uma equipe de vendas eficaz é o

Leia mais

Com metodologias de desenvolvimento

Com metodologias de desenvolvimento Sociedade demanda grande quantidade de sistemas/aplicações software complexo, sistemas distribuídos, heterogêneos requisitos mutantes (todo ano, todo mês, todo dia) Mas, infelizmente, não há gente suficiente

Leia mais

COMO INVESTIR PARA GANHAR DINHEIRO

COMO INVESTIR PARA GANHAR DINHEIRO COMO INVESTIR PARA GANHAR DINHEIRO Por que ler este livro? Você já escutou histórias de pessoas que ganharam muito dinheiro investindo, seja em imóveis ou na Bolsa de Valores? Após ter escutado todas essas

Leia mais

GARANTIA DA QUALIDADE DE SOFTWARE

GARANTIA DA QUALIDADE DE SOFTWARE GARANTIA DA QUALIDADE DE SOFTWARE Fonte: http://www.testexpert.com.br/?q=node/669 1 GARANTIA DA QUALIDADE DE SOFTWARE Segundo a NBR ISO 9000:2005, qualidade é o grau no qual um conjunto de características

Leia mais

Estruturando o modelo de RH: da criação da estratégia de RH ao diagnóstico de sua efetividade

Estruturando o modelo de RH: da criação da estratégia de RH ao diagnóstico de sua efetividade Estruturando o modelo de RH: da criação da estratégia de RH ao diagnóstico de sua efetividade As empresas têm passado por grandes transformações, com isso, o RH também precisa inovar para suportar os negócios

Leia mais

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1. ARCO - Associação Recreativa dos Correios Sistema para Gerenciamento de Associações Recreativas Versão Histórico da Revisão Data Versão Descrição Autor Página

Leia mais

O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE

O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE Renan Leme Nazário, Ricardo Rufino Universidade Paranaense (Unipar) Paranavaí PR - Brasil renazariorln@gmail.com, ricardo@unipar.br Resumo. Este artigo

Leia mais

ERP. Enterprise Resource Planning. Planejamento de recursos empresariais

ERP. Enterprise Resource Planning. Planejamento de recursos empresariais ERP Enterprise Resource Planning Planejamento de recursos empresariais O que é ERP Os ERPs em termos gerais, são uma plataforma de software desenvolvida para integrar os diversos departamentos de uma empresa,

Leia mais

Desenvolvimento Ágil de Software

Desenvolvimento Ágil de Software Desenvolvimento Ágil de Software Métodos ágeis (Sommerville) As empresas operam em um ambiente global, com mudanças rápidas. Softwares fazem parte de quase todas as operações de negócios. O desenvolvimento

Leia mais

Professor: Curso: Disciplina:

Professor: Curso: Disciplina: Professor: Curso: Disciplina: Aula 1 Turma: Esp. Marcos Morais de Sousa Sistemas de informação Engenharia de Software I Dinâmica da disciplina, plano de curso e avaliação 03º semestre Prof. Esp. Marcos

Leia mais

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas Microsoft Power Point 2003 No Microsoft PowerPoint 2003, você cria sua apresentação usando apenas um arquivo, ele contém tudo o que você precisa uma estrutura para sua apresentação, os slides, o material

Leia mais

Expresso Livre Módulo de Projetos Ágeis

Expresso Livre Módulo de Projetos Ágeis Expresso Livre Módulo de Projetos Ágeis Desenvolvedor / Orientador Rafael Raymundo da Silva Guilherme Lacerda Out / 2010 1 Sumário 1.Conhecendo a ferramenta...3 2.Gerência de projetos ágeis...3 2.1Product

Leia mais

Produtividade e qualidade de vida - Cresça 10x mais rápido

Produtividade e qualidade de vida - Cresça 10x mais rápido Produtividade e qualidade de vida - Cresça 10x mais rápido Você já pensou alguma vez que é possível crescer 10 vezes em várias áreas de sua vida e ainda por cima melhorar consideravelmente sua qualidade

Leia mais

Governança de TI. ITIL v.2&3. parte 1

Governança de TI. ITIL v.2&3. parte 1 Governança de TI ITIL v.2&3 parte 1 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR ITIL 1 1 ITIL Gerenciamento de Serviços 2 2 Gerenciamento de Serviços Gerenciamento de Serviços 3 3 Gerenciamento de Serviços

Leia mais

MODELO CMM MATURIDADE DE SOFTWARE

MODELO CMM MATURIDADE DE SOFTWARE MODELO CMM MATURIDADE DE SOFTWARE O modelo CMM Capability Maturity Model foi produzido pelo SEI (Software Engineering Institute) da Universidade Carnegie Mellon (CMU), em Pittsburgh, EUA, por um grupo

Leia mais

Jonas de Souza H2W SYSTEMS

Jonas de Souza H2W SYSTEMS Jonas de Souza H2W SYSTEMS 1 Tecnólogo em Informática Fatec Jundiaí MBA em Gerenciamento de Projetos FGV Project Management Professional PMI Mestrando em Tecnologia UNICAMP Metodologia de apoio à aquisição

Leia mais

HISTÓRIAREAL. Como o Rodrigo passou do estresse total para uma vida mais balanceada. Rodrigo Pinto. Microsoft

HISTÓRIAREAL. Como o Rodrigo passou do estresse total para uma vida mais balanceada. Rodrigo Pinto. Microsoft HISTÓRIAREAL Rodrigo Pinto Microsoft Como o Rodrigo passou do estresse total para uma vida mais balanceada Com a enorme quantidade de informação, o funcionário perde o controle do que é prioritário para

Leia mais

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO 10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO UMA DAS GRANDES FUNÇÕES DA TECNOLOGIA É A DE FACILITAR A VIDA DO HOMEM, SEJA NA VIDA PESSOAL OU CORPORATIVA. ATRAVÉS DELA, ELE CONSEGUE

Leia mais

Roteiro VcPodMais#005

Roteiro VcPodMais#005 Roteiro VcPodMais#005 Conseguiram colocar a concentração total no momento presente, ou naquilo que estava fazendo no momento? Para quem não ouviu o programa anterior, sugiro que o faça. Hoje vamos continuar

Leia mais

Tomada de Decisão uma arte a ser estudada Por: Arthur Diniz

Tomada de Decisão uma arte a ser estudada Por: Arthur Diniz Tomada de Decisão uma arte a ser estudada Por: Arthur Diniz Tomar decisões é uma atividade que praticamos diariamente, de uma forma ou de outra. Podemos até mesmo tomar a decisão de não tomar nenhuma decisão.

Leia mais

O Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no

O Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no 1.1 RATIONAL UNIFIED PROCESS (RUP) O Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no processo que atende pelo nome de Processo Unificado (ou UP do inglês Unified

Leia mais

Como fazer contato com pessoas importantes para sua carreira?

Como fazer contato com pessoas importantes para sua carreira? Como fazer contato com pessoas importantes para sua carreira? - Tem alguém com quem você gostaria de fazer contato? - Porque você não o fez até agora? - Por que é importante aprender a fazer esses contatos?

Leia mais

MODELOS MENTAIS E SEUS IMPACTOS NAS EQUIPES Por: Veronica Ahrens

MODELOS MENTAIS E SEUS IMPACTOS NAS EQUIPES Por: Veronica Ahrens MODELOS MENTAIS E SEUS IMPACTOS NAS EQUIPES Por: Veronica Ahrens O que são Modelos Mentais? Segundo Peter Senge, modelos mentais são pressupostos profundamente arraigados, generalizações, ilustrações,

Leia mais

Rio de Janeiro, 5 de junho de 2008

Rio de Janeiro, 5 de junho de 2008 Rio de Janeiro, 5 de junho de 2008 IDENTIFICAÇÃO Meu nome é Alexandre da Silva França. Eu nasci em 17 do sete de 1958, no Rio de Janeiro. FORMAÇÃO Eu sou tecnólogo em processamento de dados. PRIMEIRO DIA

Leia mais

Processos Técnicos - Aulas 4 e 5

Processos Técnicos - Aulas 4 e 5 Processos Técnicos - Aulas 4 e 5 Trabalho / PEM Tema: Frameworks Públicos Grupo: equipe do TCC Entrega: versão digital, 1ª semana de Abril (de 31/03 a 04/04), no e-mail do professor (rodrigues.yuri@yahoo.com.br)

Leia mais

A Disciplina Gerência de Projetos

A Disciplina Gerência de Projetos A Disciplina Gerência de Projetos Atividades, Artefatos e Responsabilidades hermano@cin.ufpe.br Objetivos Apresentar atividades da disciplina Gerência de Projetos Discutir os artefatos e responsáveis envolvidos

Leia mais

Distribuidor de Mobilidade GUIA OUTSOURCING

Distribuidor de Mobilidade GUIA OUTSOURCING Distribuidor de Mobilidade GUIA OUTSOURCING 1 ÍNDICE 03 04 06 07 09 Introdução Menos custos e mais controle Operação customizada à necessidade da empresa Atendimento: o grande diferencial Conclusão Quando

Leia mais

MPSP Projeto ALM/Scrum. Diretoria de Sistemas de Informação

MPSP Projeto ALM/Scrum. Diretoria de Sistemas de Informação MPSP Projeto ALM/Scrum Diretoria de Sistemas de Informação Agenda O que é ALM? Objetivo do Projeto Atividades Desenvolvidas Indicadores Dúvidas O que é ALM? ALM Application Lifecycle Management Gerenciamento

Leia mais

Caso Prático: Java como ferramenta de suporte a um ambiente realmente colaborativo no método Scrum de trabalho

Caso Prático: Java como ferramenta de suporte a um ambiente realmente colaborativo no método Scrum de trabalho Caso Prático: Java como ferramenta de suporte a um ambiente realmente colaborativo no método Scrum de trabalho UOL Produtos Rádio UOL Julho 2008 André Piza Certified Scrum Master Agenda Scrum como método

Leia mais

ENGENHARIA DE SOFTWARE

ENGENHARIA DE SOFTWARE ENGENHARIA DE SOFTWARE Síntese de tópicos importantes PRESSMAN, Roger S. Conteúdo Componentes e tipos de software Problemas com o software e suas causas Mitologia que envolve o software Configuração de

Leia mais

Inventario de produtos

Inventario de produtos Inventario de produtos Parar o TAC. Gerar o inventario. Informações de erros na importação de produtos. Produtos sem código tributário associado. A posse de produtos no Thotau. Como corrigir as posses

Leia mais

SCRUM: UM MÉTODO ÁGIL. Cleviton Monteiro (cleviton@gmail.com)

SCRUM: UM MÉTODO ÁGIL. Cleviton Monteiro (cleviton@gmail.com) SCRUM: UM MÉTODO ÁGIL Cleviton Monteiro (cleviton@gmail.com) Roteiro Motivação Manifesto Ágil Princípios Ciclo Papeis, cerimônias, eventos, artefatos Comunicação Product Backlog Desperdício 64% das features

Leia mais

www.marketingdigitalexpress.com.br - Versão 1.0 Página 1

www.marketingdigitalexpress.com.br - Versão 1.0 Página 1 www.marketingdigitalexpress.com.br - Versão 1.0 Página 1 Remarketing é um recurso utilizado para direcionar anúncios personalizados para as pessoas que visitaram uma determinada página do seu site ou clicaram

Leia mais

APÊNDICE. Planejando a mudança. O kit correto

APÊNDICE. Planejando a mudança. O kit correto APÊNDICE Planejando a mudança No capítulo 11, trabalhamos o estabelecimento de um objetivo claro para a mudança. Agora, você está repleto de ideias e intenções, além de uma série de estratégias de mudança

Leia mais

Ajuda ao SciEn-Produção 1. 1. O Artigo Científico da Pesquisa Experimental

Ajuda ao SciEn-Produção 1. 1. O Artigo Científico da Pesquisa Experimental Ajuda ao SciEn-Produção 1 Este texto de ajuda contém três partes: a parte 1 indica em linhas gerais o que deve ser esclarecido em cada uma das seções da estrutura de um artigo cientifico relatando uma

Leia mais

MUDANÇAS NA ISO 9001: A VERSÃO 2015

MUDANÇAS NA ISO 9001: A VERSÃO 2015 MUDANÇAS NA ISO 9001: A VERSÃO 2015 Está em andamento o processo de revisão da Norma ISO 9001: 2015, que ao ser concluído resultará na mudança mais significativa já efetuada. A chamada família ISO 9000

Leia mais

ENGENHARIA DE SOFTWARE I

ENGENHARIA DE SOFTWARE I ENGENHARIA DE SOFTWARE I Prof. Cássio Huggentobler de Costa [cassio.costa@ulbra.br] Twitter: www.twitter.com/cassiocosta_ Agenda da Aula (002) Metodologias de Desenvolvimento de Softwares Métodos Ágeis

Leia mais

Manual AGENDA DE BACKUP

Manual AGENDA DE BACKUP Gemelo Backup Online DESKTOP Manual AGENDA DE BACKUP Realiza seus backups de maneira automática. Você só programa os dias e horas em que serão efetuados. A única coisa que você deve fazer é manter seu

Leia mais

Projeto Você pede, eu registro.

Projeto Você pede, eu registro. Projeto Você pede, eu registro. 1) IDENTIFICAÇÃO 1.1) Título do Projeto: Você pede eu registro. 1.2) Equipe responsável pela coordenação do projeto: Pedro Paulo Braga Bolzani Subsecretario de TI Antonio

Leia mais

Motivar pessoas para o foco da organização

Motivar pessoas para o foco da organização PORTWAY Motivar pessoas para o foco da organização Série 4 pilares da liderança Volume 3 4 pilares da liderança Motivar pessoas para o foco da organização E m Julho de 2014, fui procurado por algumas diretoras

Leia mais

Utilizando tecnologias para apoio à gestão de processos

Utilizando tecnologias para apoio à gestão de processos Utilizando tecnologias para apoio à gestão de processos Leandro Jesus Vice Presidente ABPMP Brasil leandro@abpmp-br.org O desalinhamento entre TI e Negócio NEGÓCIO O pessoal de TI até hoje não conseguiu

Leia mais

OCOMON PRIMEIROS PASSOS

OCOMON PRIMEIROS PASSOS OCOMON PRIMEIROS PASSOS O OCOMON ainda não possui um arquivo de Help para atender a todas questões relacionadas ao sistema. Esse arquivo serve apenas para dar as principais instruções para que você tenha

Leia mais

TESTES AUTOMATIZADOS COM JUNITE MOCKITO

TESTES AUTOMATIZADOS COM JUNITE MOCKITO TESTES AUTOMATIZADOS COM JUNITE MOCKITO Jaime William Dias 12, Dener Barranco 1, Douglas Delapria 1 1 Universidade Paranaense (Unipar) 2 Universidade Estadual de Maringá (UEM) Paranavaí PR Brasil dener_barranco@hotmail.com,

Leia mais

Gestão de Modificações. Fabrício de Sousa

Gestão de Modificações. Fabrício de Sousa Gestão de Modificações Fabrício de Sousa Introdução Inevitáveis quando o software é construído Confusão As modificações não são analisadas antes de serem feitas Não são registradas antes de serem feitas

Leia mais

Dicionário da EAP - Software FarmaInfor

Dicionário da EAP - Software FarmaInfor Software FarmaInfor 1.Gerenciamento 2.Iniciação 3.Elaboração 4. Desenvolvimento 5.Trenferência 6. Finalização 6.1 Assinatura 1.1 Montar Equipe 2.1 Levantar Requisitos 3.1 Definir Módulos 4.1 Codificar

Leia mais

EXIN Agile Scrum Fundamentos

EXIN Agile Scrum Fundamentos Exame Simulado EXIN Agile Scrum Fundamentos Edição Fevereiro 2015 Copyright 2015 EXIN Todos os direitos reservados. Nenhuma parte desta publicação pode ser publicado, reproduzido, copiado ou armazenada

Leia mais

Manual AGENDA DE BACKUP

Manual AGENDA DE BACKUP Gemelo Backup Online DESKTOP Manual AGENDA DE BACKUP Realiza seus backups de maneira automática. Você só programa os dias e horas em que serão efetuados. A única coisa que você deve fazer é manter seu

Leia mais

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem

Leia mais

Aumente sua velocidade e flexibilidade com a implantação da nuvem gerenciada de software da SAP

Aumente sua velocidade e flexibilidade com a implantação da nuvem gerenciada de software da SAP Parceiros de serviços em nuvem gerenciada Aumente sua velocidade e flexibilidade com a implantação da nuvem gerenciada de software da SAP Implemente a versão mais recente do software da SAP de classe mundial,

Leia mais

CONSULTORIA. Sistema de Gestão ISO 9001 - Lean Esquadrias

CONSULTORIA. Sistema de Gestão ISO 9001 - Lean Esquadrias CONSULTORIA Sistema de Gestão ISO 9001 - Lean Esquadrias PADRÃO DE QUALIDADE DESCRIÇÃO ISO 9001 Esse Modelo de Produto de Consultoria tem por objetivo definir e melhorar todos os processos da empresa,

Leia mais

Montagem e Manutenção. Luís Guilherme A. Pontes

Montagem e Manutenção. Luís Guilherme A. Pontes Montagem e Manutenção Luís Guilherme A. Pontes Introdução Qual é a importância da Montagem e Manutenção de Computadores? Sistema Binário Sistema Binário Existem duas maneiras de se trabalhar e armazenar

Leia mais

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi Metodologias de Desenvolvimento de Sistemas Analise de Sistemas I UNIPAC Rodrigo Videschi Histórico Uso de Metodologias Histórico Uso de Metodologias Era da Pré-Metodologia 1960-1970 Era da Metodologia

Leia mais

Gerenciamento de Projetos

Gerenciamento de Projetos Gerenciamento de Projetos O objetivo do módulo de Gerenciamento de Projetos é ajudar a empresa a gerenciar com mais eficiência os seus projetos. Controle dos prazos, das tarefas, dos eventos, da quantidade

Leia mais

Guia de Métricas. Quais métricas acrescentam para a diretoria da empresa?

Guia de Métricas. Quais métricas acrescentam para a diretoria da empresa? Guia de Métricas Quais métricas acrescentam para a diretoria da empresa? QUAIS MÉTRICAS ACRESCENTAM PARA A DIRETORIA DA EMPRESA? Quem trabalha com marketing digital sabe que nem sempre é tão fácil provar

Leia mais

PMBOK e Cobit - Uma Experiência na Reformulação de Sistemas em Angola Marcelo Etcheverry Torres,PMP,Cobit)

PMBOK e Cobit - Uma Experiência na Reformulação de Sistemas em Angola Marcelo Etcheverry Torres,PMP,Cobit) PMBOK e Cobit - Uma Experiência na Reformulação de Sistemas em Angola Marcelo Etcheverry Torres,PMP,Cobit) Agenda A palestra Angola Cliente O projeto Usando o PMBOK Usando o Cobit Lições Aprendidas Conclusão

Leia mais

Melhoria no Desenvolvimento Ágil com Implantação de Processo de Integração Contínua Multiplataforma para Java e.net. Hudson

Melhoria no Desenvolvimento Ágil com Implantação de Processo de Integração Contínua Multiplataforma para Java e.net. Hudson QUALIDADE Simpósio Brasileiro de Qualidade de Software - SBQS Instituto Nokia de Tecnologia Unit Test Sucess Bug INdT Melhoria no Desenvolvimento Ágil com Implantação de Processo de Integração Contínua

Leia mais

ABCEducatio entrevista Sílvio Bock

ABCEducatio entrevista Sílvio Bock ABCEducatio entrevista Sílvio Bock Escolher uma profissão é fazer um projeto de futuro A entrada do segundo semestre sempre é marcada por uma grande preocupação para todos os alunos que estão terminando

Leia mais

FATEC Cruzeiro José da Silva. Ferramenta CRM como estratégia de negócios

FATEC Cruzeiro José da Silva. Ferramenta CRM como estratégia de negócios FATEC Cruzeiro José da Silva Ferramenta CRM como estratégia de negócios Cruzeiro SP 2008 FATEC Cruzeiro José da Silva Ferramenta CRM como estratégia de negócios Projeto de trabalho de formatura como requisito

Leia mais

Gerenciamento de configuração. Gerenciamento de Configuração. Gerenciamento de configuração. Gerenciamento de configuração. Famílias de sistemas

Gerenciamento de configuração. Gerenciamento de Configuração. Gerenciamento de configuração. Gerenciamento de configuração. Famílias de sistemas Gerenciamento de Gerenciamento de Configuração Novas versões de sistemas de software são criadas quando eles: Mudam para máquinas/os diferentes; Oferecem funcionalidade diferente; São configurados para

Leia mais

Trilha Agile TDD e 20 coisas que você precisa saber

Trilha Agile TDD e 20 coisas que você precisa saber Trilha Agile TDD e 20 coisas que você precisa saber Camilo Lopes Quem sou eu?! Trabalha com desenvolvimento de software desde 2003. Atualmente Desenvolvedor de Software na ADP Labs, escritor do livro "Guia

Leia mais

Tópicos. Métodos Ágeis. Histórico; Valores; Métodos Ágeis x Modelos Tradicionais; Exemplo: Referências Bibliográficas.

Tópicos. Métodos Ágeis. Histórico; Valores; Métodos Ágeis x Modelos Tradicionais; Exemplo: Referências Bibliográficas. Métodos Ágeis Edes Garcia da Costa Filho edes_filho@dc.ufscar.br 1 Tópicos Histórico; Valores; Métodos Ágeis x Modelos Tradicionais; Exemplo: Extreme Programming (XP). Referências Bibliográficas. 2 Histórico

Leia mais

ISO/IEC 12207: Gerência de Configuração

ISO/IEC 12207: Gerência de Configuração ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que

Leia mais

Oficina de Gestão de Portifólio

Oficina de Gestão de Portifólio Oficina de Gestão de Portifólio Alinhando ESTRATÉGIAS com PROJETOS através da GESTÃO DE PORTFÓLIO Gestão de portfólio de projetos pode ser definida como a arte e a ciência de aplicar um conjunto de conhecimentos,

Leia mais

Plano de Gerenciamento do Projeto

Plano de Gerenciamento do Projeto Projeto para Soluções Contábeis 2015 Plano de Gerenciamento do Projeto Baseado na 5ª edição do Guia PMBOK Brendon Genssinger o e Elcimar Silva Higor Muniz Juliermes Henrique 23/11/2015 1 Histórico de alterações

Leia mais

Uma introdução ao SCRUM. Evandro João Agnes evandroagnes@yahoo.com.br

Uma introdução ao SCRUM. Evandro João Agnes evandroagnes@yahoo.com.br Uma introdução ao SCRUM Evandro João Agnes evandroagnes@yahoo.com.br Agenda Projetos de Software O que é Scrum Scrum framework Estrutura do Scrum Sprints Ferramentas Projetos de software Chaos Report Standish

Leia mais

A TNT Garante a Entrega de 4,4 Milhões de Pacotes por Semana

A TNT Garante a Entrega de 4,4 Milhões de Pacotes por Semana CUSTOMER SUCCESS STORY NOVEMBRO 2010 A TNT Garante a Entrega de 4,4 Milhões de Pacotes por Semana PERFIL DO CLIENTE Sector: Transporte e distribuição Organização: TNT Express Ingressos: Mais de 6.600 milhões

Leia mais

Metodologias Ágeis. Gerenciando e Desenvolvendo Projetos de forma eficiente. Gabriel Verta 0767948 Rafael Reimberg 0767701 Vinicius Quaiato - 0767697

Metodologias Ágeis. Gerenciando e Desenvolvendo Projetos de forma eficiente. Gabriel Verta 0767948 Rafael Reimberg 0767701 Vinicius Quaiato - 0767697 Metodologias Ágeis Gerenciando e Desenvolvendo Projetos de forma eficiente Gabriel Verta 0767948 Rafael Reimberg 0767701 Vinicius Quaiato - 0767697 Introdução Ao longo dos anos a indústria de desenvolvimento

Leia mais

UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas

UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas 4.1 Motivação Sistemas de Informação são usados em diversos níveis dentro de uma organização, apoiando a tomada de decisão; Precisam estar

Leia mais

Project Management Office: Uma visão Geral

Project Management Office: Uma visão Geral Project Management Office: Uma visão Geral Prof. André Barcaui, MSc, PMP 1 Agenda 1. Entender o conceito ligado ao Project Management Office; 2. Conhecer os diversos tipos de existentes; 3. Definir as

Leia mais

Engenharia de Requisitos

Engenharia de Requisitos Engenharia de Requisitos Introdução a Engenharia de Requisitos Professor: Ricardo Argenton Ramos Aula 08 Slide 1 Objetivos Introduzir a noção de requisitos do sistema e o processo da engenharia de requisitos.

Leia mais

Fina Flor Cosméticos obtém grande melhoria nos processos e informações com suporte SAP Business One

Fina Flor Cosméticos obtém grande melhoria nos processos e informações com suporte SAP Business One Fina Flor Cosméticos obtém grande melhoria nos processos e informações com suporte SAP Business One Geral Executiva Nome da Fina Flor Cosméticos Indústria Cosméticos Produtos e Serviços Desenvolve, fabrica

Leia mais

MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS

MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS O termo metodologia não possui uma definição amplamente aceita, sendo entendido na maioria das vezes como um conjunto de passos e procedimentos que

Leia mais

A ITIL e o Gerenciamento de Serviços de TI

A ITIL e o Gerenciamento de Serviços de TI A ITIL e o Gerenciamento de Serviços de TI A era da informação Informação, palavra derivada do verbo latim "informare", que significa "disciplinar", "ensinar", "instruir", juntamente com o seu significado

Leia mais

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia. 1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade

Leia mais

Algoritmos. Objetivo principal: explicar que a mesma ação pode ser realizada de várias maneiras, e que às vezes umas são melhores que outras.

Algoritmos. Objetivo principal: explicar que a mesma ação pode ser realizada de várias maneiras, e que às vezes umas são melhores que outras. 6 6 NOME DA AULA: 6 Algoritmos Duração da aula: 45 60 minutos Tempo de preparação: 10-25 minutos (dependendo da disponibilidade de tangrans prontos ou da necessidade de cortá-los à mão) Objetivo principal:

Leia mais

Versão 8.0.2.15 a 8.0.2.17 Correções e Melhorias Patch's Melhorias e Correções Patch's Versão 8.0.2.15 a 8.0.2.17

Versão 8.0.2.15 a 8.0.2.17 Correções e Melhorias Patch's Melhorias e Correções Patch's Versão 8.0.2.15 a 8.0.2.17 Melhorias e Correções Patch's Abril 2015 Relações de Melhorias 6439 Ajuste no Título do check box "Criar ocorrência apartir de e-mail" Ajustadas as palavras a partir, pois elas estavam juntas nas frases:

Leia mais

Como escrever melhor em 5 passos simples

Como escrever melhor em 5 passos simples Como escrever melhor em 5 passos simples Escrever um artigo para seu blog pode ser um processo estressante e tomar bastante tempo, especialmente se você não é um escritor. Mas quando você está determinado

Leia mais

O céu. Aquela semana tinha sido uma trabalheira! www.interaulaclube.com.br

O céu. Aquela semana tinha sido uma trabalheira! www.interaulaclube.com.br A U A UL LA O céu Atenção Aquela semana tinha sido uma trabalheira! Na gráfica em que Júlio ganhava a vida como encadernador, as coisas iam bem e nunca faltava serviço. Ele gostava do trabalho, mas ficava

Leia mais

C Por que é preciso fazer rápido o produto web?

C Por que é preciso fazer rápido o produto web? C Por que é preciso fazer rápido o produto web? Já falamos sobre algumas denições e requisitos para se ter uma startup. Depois falamos sobre como ter ideias de produtos para a startup e que essas ideias

Leia mais

Gerenciamento de projetos. cynaracarvalho@yahoo.com.br

Gerenciamento de projetos. cynaracarvalho@yahoo.com.br Gerenciamento de projetos cynaracarvalho@yahoo.com.br Projeto 3URMHWR é um empreendimento não repetitivo, caracterizado por uma seqüência clara e lógica de eventos, com início, meio e fim, que se destina

Leia mais

Você consegue dirigir seu carro sem um painel de controle? Você consegue gerenciar um Service Desk sem Indicadores?

Você consegue dirigir seu carro sem um painel de controle? Você consegue gerenciar um Service Desk sem Indicadores? Você consegue dirigir seu carro sem um painel de controle? Você consegue gerenciar um Service Desk sem Indicadores? Será que está acabando a gasolina? Qual o consumo médio do carro na Estrada ou na Cidade?

Leia mais

COMO CRIAR UMA ESTRATÉGIA DE E-MAIL MARKETING

COMO CRIAR UMA ESTRATÉGIA DE E-MAIL MARKETING COMO CRIAR UMA ESTRATÉGIA DE E-MAIL MARKETING A palavra estratégia, segundo o dicionário Informal 1, é a ação ou caminho mais adequado a ser executado para alcançar um objetivo ou meta. Para se traçar

Leia mais

2 Engenharia de Software

2 Engenharia de Software 20 2 Engenharia de Software 2.1 Design de Sistemas Orientados a Objetos Os Sistemas Orientados a Objetos não são mais novidade hoje em dia já estando há muitos anos no mercado. A orientação a objetos permite

Leia mais

Forneça a próxima onda de inovações empresariais com o Open Network Environment

Forneça a próxima onda de inovações empresariais com o Open Network Environment Visão geral da solução Forneça a próxima onda de inovações empresariais com o Open Network Environment Visão geral À medida que tecnologias como nuvem, mobilidade, mídias sociais e vídeo assumem papéis

Leia mais