Baixe o app para aproveitar ainda mais
Prévia do material em texto
Indaial – 2023 Profª. Semíramis Ribeiro de Assis 1a Edição Gerenciamento de Projetos e Gerência de confiGuração Elaboração: Profª. Semíramis Ribeiro de Assis Copyright © UNIASSELVI 2023 Revisão, Diagramação e Produção: Equipe Desenvolvimento de Conteúdos EdTech Centro Universitário Leonardo da Vinci – UNIASSELVI Ficha catalográfica elaborada pela equipe Conteúdos EdTech UNIASSELVI Impresso por: C397 CENTRO UNIVERSITÁRIO LEONARDO DA VINCI. Núcleo de Educação a Distância. ASSIS, Semíramis Ribeiro de. Gerenciamento de Projetos e Gerência de Configuração. Semíramis Ribeiro de Assis. Indaial - SC: Arqué, 2023. 286p. ISBN 978-65-5646-564-7 ISBN Digital 978-65-5646-565-4 “Graduação - EaD”. 1. TI 2. Projetos 3. Gerência CDD 658.404 Bibliotecário: João Vivaldo de Souza CRB- 9-1679 Projetos estão presentes em diversos momentos do cotidiano, como, por exemplo, a construção de um prédio, a preparação para a realização de um curso ou para a construção de um produto de Tecnologia da Informação (TI). Muitos projetos, por falta ou deficiência em seu planejamento, são abortados antes de suas conclusões ou acabam extrapolando (e muito) os recursos, orçamentos e prazos iniciais previstos, causando um grande prejuízo financeiro aos seus patrocinadores. Portanto, saber gerenciar as variáveis envolvidas em um projeto é de fundamental importância para evitar perdas financeiras. Pressman e Maxim (2021) conceituam projetos de software como a atividade que agregará as funcionalidades desejadas pelo cliente com o conhecimento técnico necessário para construir um produto de software, com sua arquitetura, estruturas de dados e integração entre componentes. Morais e Zanin (2017), por outro lado, definem projeto como um estágio intermediário entre o ramo do negócio que será explorado e a tecnologia que será utilizada para construção de uma aplicação, que atenda às necessidades dos clientes de forma a garantir qualidade (através da solidez), eficácia (o programa deverá atender às expectativas para as suas funcionalidades) e possuir uma boa interface de utilização, de modo a garantir uma boa experiência pelo usuário. Conhecer técnicas e métodos que auxiliem no gerenciamento de um projeto é uma peça fundamental para se atingir ao objetivo inicial dele. Saber planejar a quantidade de recursos necessários, fazer uma estimativa de tempo e dos custos do projeto requer o conhecimento e aplicação de técnicas, as quais abordaremos ao longo desta unidade. Na Unidade 1, abordaremos o conceito de projetos e suas principais definições. Além disso, iremos apresentar o papel do Gerente de Projetos e sua importância para o andamento do projeto e gerenciamento de todas as variáveis envolvidas. Ainda nesta unidade, serão apresentados os métodos utilizados para realizar o processo de Gestão de Projetos, englobando os métodos ágeis, preditivos e a Gestão Simplificada de Projetos, os principais conceitos sobre a Gestão de Configurações, assim como a conceitualização de Auditoria e seus princípios básicos. Na Unidade 2, estudaremos as principais técnicas para o gerenciamento de projetos e configurações, detalhando cada etapa das técnicas de Gerenciamento de Projetos previamente apresentadas. APRESENTAÇÃO A Unidade 3, por sua vez, apresentará as principais ferramentas para o Gerenciamento de Projetos, assim como as principais Normas vigentes para a Gestão de Projetos e Configurações. Lembrem-se, o conhecimento é uma estrada contínua, que deverá estar sempre sendo percorrida e explorada para que novos horizontes se abram. Portanto, bons estudos! Profª. Semíramis Ribeiro de Assis Olá, acadêmico! Para melhorar a qualidade dos materiais ofertados a você – e dinamizar, ainda mais, os seus estudos –, nós disponibilizamos uma diversidade de QR Codes completamente gratuitos e que nunca expiram. O QR Code é um código que permite que você acesse um conteúdo interativo relacionado ao tema que você está estudando. Para utilizar essa ferramenta, acesse as lojas de aplicativos e baixe um leitor de QR Code. Depois, é só aproveitar essa facilidade para aprimorar os seus estudos. GIO QR CODE Olá, eu sou a Gio! No livro didático, você encontrará blocos com informações adicionais – muitas vezes essenciais para o seu entendimento acadêmico como um todo. Eu ajudarei você a entender melhor o que são essas informações adicionais e por que você poderá se beneficiar ao fazer a leitura dessas informações durante o estudo do livro. Ela trará informações adicionais e outras fontes de conhecimento que complementam o assunto estudado em questão. Na Educação a Distância, o livro impresso, entregue a todos os acadêmicos desde 2005, é o material-base da disciplina. A partir de 2021, além de nossos livros estarem com um novo visual – com um formato mais prático, que cabe na bolsa e facilita a leitura –, prepare-se para uma jornada também digital, em que você pode acompanhar os recursos adicionais disponibilizados através dos QR Codes ao longo deste livro. O conteúdo continua na íntegra, mas a estrutura interna foi aperfeiçoada com uma nova diagramação no texto, aproveitando ao máximo o espaço da página – o que também contribui para diminuir a extração de árvores para produção de folhas de papel, por exemplo. Preocupados com o impacto de ações sobre o meio ambiente, apresentamos também este livro no formato digital. Portanto, acadêmico, agora você tem a possibilidade de estudar com versatilidade nas telas do celular, tablet ou computador. Preparamos também um novo layout. Diante disso, você verá frequentemente o novo visual adquirido. Todos esses ajustes foram pensados a partir de relatos que recebemos nas pesquisas institucionais sobre os materiais impressos, para que você, nossa maior prioridade, possa continuar os seus estudos com um material atualizado e de qualidade. ENADE LEMBRETE Olá, acadêmico! Iniciamos agora mais uma disciplina e com ela um novo conhecimento. Com o objetivo de enriquecer seu conheci- mento, construímos, além do livro que está em suas mãos, uma rica trilha de aprendizagem, por meio dela você terá contato com o vídeo da disciplina, o objeto de aprendizagem, materiais complementa- res, entre outros, todos pensados e construídos na intenção de auxiliar seu crescimento. Acesse o QR Code, que levará ao AVA, e veja as novidades que preparamos para seu estudo. Conte conosco, estaremos juntos nesta caminhada! Acadêmico, você sabe o que é o ENADE? O Enade é um dos meios avaliativos dos cursos superiores no sistema federal de educação superior. Todos os estudantes estão habilitados a participar do ENADE (ingressantes e concluintes das áreas e cursos a serem avaliados). Diante disso, preparamos um conteúdo simples e objetivo para complementar a sua compreensão acerca do ENADE. Confi ra, acessando o QR Code a seguir. Boa leitura! SUMÁRIO UNIDADE 1 - PRINCIPAIS CONCEITOS PARA A GERÊNCIA DE PROJETOS E CONFIGURAÇÃO ................................................................... 1 TÓPICO 1 - PRINCIPAIS CONCEITOS PARA A GERÊNCIA DE PROJETOS ...........................3 1 INTRODUÇÃO ......................................................................................................................3 2 PROJETOS E MÉTODOS PARA GESTÃO DE PROJETOS ..................................................3 2.1 PROJETOS ..............................................................................................................................................4 2.1.1 O papel do Gerente de Projetos ................................................................................................8 2.1.2 O Plano de Projetos e sua importância ................................................................................ 10 3 MÉTODOS PARA GESTÃO DE PROJETOS ....................................................................... 12 3.1 GESTÃO SIMPLIFICADA DE PROJETOS ...........................................................................................123.2 MÉTODOS PREDITIVOS ..................................................................................................................... 14 3.3 MÉTODOS ÁGEIS ................................................................................................................................. 15 RESUMO DO TÓPICO 1 ......................................................................................................... 19 AUTOATIVIDADE ................................................................................................................. 20 TÓPICO 2 - GESTÃO DE CONFIGURAÇÕES ....................................................................... 23 1 INTRODUÇÃO ................................................................................................................... 23 2 CONCEITO E IDENTIFICAÇÃO DE CONFIGURAÇÕES .................................................... 23 2.1 CONCEITO E IDENTIFICAÇÃO DE CONFIGURAÇÕES .................................................................24 2.2 PROCESSO DE GERÊNCIA DE CONFIGURAÇÃO ........................................................................25 2.3 CONTROLE DE MUDANÇAS EM PROJETOS E CONFIGURAÇÕES .........................................30 2.3.1 Controle de versões ...................................................................................................................31 2.3.2 Controle de mudanças ............................................................................................................33 3 INTEGRAÇÃO E ENTREGA CONTÍNUA ........................................................................... 36 3.1 O PROCESSO DE ENTREGA E INTEGRAÇÃO CONTÍNUA ...........................................................36 3.2 O PIPELINE DE IMPLANTAÇÃO ........................................................................................................38 3.3 MONTANDO O ECOSSISTEMA DE ENTREGA CONTÍNUA ...........................................................42 RESUMO DO TÓPICO 2 ........................................................................................................ 49 AUTOATIVIDADE ................................................................................................................. 50 TÓPICO 3 - AUDITORIA ....................................................................................................... 53 1 INTRODUÇÃO ................................................................................................................... 53 2 CONCEITOS E PRINCÍPIOS BÁSICOS DE AUDITORIA ................................................... 53 2.1 PRINCÍPIOS DA AUDITORIA ..............................................................................................................56 2.2 DEFINIÇÃO DE ESCOPO ...................................................................................................................58 2.3 TIPOS DE AUDITORIA ........................................................................................................................59 3 O PROCESSO DE AUDITORIA .......................................................................................... 62 3.1 ESTUDO DA DOCUMENTAÇÃO ........................................................................................................63 3.2 OS CICLOS DE AUDITORIA ................................................................................................................65 3.3 METODOLOGIAS DE AUDITORIA...................................................................................................... 67 4 ELABORAÇÃO DO RELATÓRIO DE AUDITORIA E O PROCESSO DE FOLLOW UP .......... 71 4.1 CONCLUSÃO DA AUDITORIA E O RELATÓRIO FINAL DE AUDITORIA ...................................... 72 4.2 A IMPORTÂNCIA DA AUDITORIA PARA SETORES ESTRATÉGICOS DA EMPRESA ............... 73 4.3 O PROCESSO DE MELHORIA CONTÍNUA E O FOLLOW UP ........................................................ 75 LEITURA COMPLEMENTAR .................................................................................................78 RESUMO DO TÓPICO 3 ........................................................................................................ 85 AUTOATIVIDADE ................................................................................................................. 86 REFERÊNCIAS ..................................................................................................................... 88 UNIDADE 2 — TÉCNICAS PARA O GERENCIAMENTO DE PROJETOS E CONFIGURAÇÕES ................................................................... 91 TÓPICO 1 — GESTÃO DE PROJETOS PREDITIVA ............................................................... 93 1 INTRODUÇÃO ................................................................................................................... 93 2 GESTÃO DE ENTREGA ..................................................................................................... 94 2.1 GESTÃO DO ESCOPO .........................................................................................................................95 3 GESTÃO DAS ATIVIDADES E CRONOGRAMA ................................................................ 101 3.1 GESTÃO DAS ATIVIDADES ...............................................................................................................102 3.2 GESTÃO DO CRONOGRAMA ...........................................................................................................108 4 GESTÃO DOS CUSTOS E DO ORÇAMENTO ....................................................................109 4.1 GESTÃO DE CUSTOS .........................................................................................................................109 4.2 GESTÃO DE ORÇAMENTO .................................................................................................................111 5 GESTÃO DA QUALIDADE ................................................................................................ 114 6 GESTÃO DA EQUIPE ....................................................................................................... 118 RESUMO DO TÓPICO 1 .......................................................................................................124 AUTOATIVIDADE ................................................................................................................125 TÓPICO 2 - GESTÃO ÁGIL DE PROJETOS ......................................................................... 127 1 INTRODUÇÃO .................................................................................................................. 127 2 PRINCÍPIOS DA GESTÃO ÁGIL ........................................................................................ 127 2.1 O MANIFESTO ÁGIL ..........................................................................................................................128 3 METODOLOGIAS ÁGEIS .................................................................................................128 3.1 Scrum .................................................................................................................................................. 129 3.2 EXTREME PROGRAMMING (XP) ....................................................................................................130 3.3 LEAN ....................................................................................................................................................130 4 GESTÃO DAS ATIVIDADES ÁGEIS .................................................................................132 2.3.1 Papéis dos membros .............................................................................................................. 133 2.3.2 Mínimo Produto Viável (MVP) .............................................................................................. 134 2.3.3 O Product Backlog .................................................................................................................135 2.3.4 Equipes Autogerenciáveis e o Product Backlog ............................................................ 136 2.3.5 Histórias do Usuário ............................................................................................................... 137 2.3.6 Visibilidade das funcionalidades do produto ................................................................... 137 3 A IMPORTÃNCIA DA ADOÇÃO DE TIMEBOXES ............................................................ 140 3.1 STORY POINTS ...................................................................................................................................140 3.2 A DINÂMICA DE UMA EQUIPE ÁGIL ..............................................................................................141 RESUMO DO TÓPICO 2 ...................................................................................................... 144 AUTOATIVIDADE ................................................................................................................145 TÓPICO 3 - A GERÊNCIA DE CONFIGURAÇÃO COMO ESTRATÉGIA PARA O GERENCIAMENTO DE UM PROJETO DE SOFTWARE .................................... 147 1 INTRODUÇÃO .................................................................................................................. 147 2 DINÂMICA DA GESTÃO ESTRATÉGICA DE PROJETOS ................................................ 147 2.1 PILARES DA GESTÃO ESTRATÉGICA ............................................................................................. 149 2.1.1 Matriz SWOT ..............................................................................................................................150 2.1.2 Key Performance Indicator (KPI) ........................................................................................150 2.1.3 Gestão de ideias para novos projetos .................................................................................151 2.2 MÉTODOS DE AVALIAÇÃO .............................................................................................................. 152 2.2.1 Método AHP ou Método Multicritério ................................................................................. 153 2.3 FATORES CRÍTICOS DE SUCESSO ............................................................................................... 155 2.3.1 Liderança em equipes ágeis ................................................................................................ 156 3 GERENCIAMENTO DE CONFIGURAÇÃO ........................................................................ 157 3.1 PLANO DE GERENCIAMENTO DE CONFIGURAÇÃO ................................................................. 159 3.2 PLANO DE GERENCIAMENTO DE MUDANÇAS ..........................................................................161 3.2.1 Itens de Configuração ............................................................................................................ 162 3.3 PRINCÍPIOS E TÉCNICAS DE MANUTENÇÃO DE SOFTWARE ...............................................164 3.4 REFATORAÇÃO .................................................................................................................................. 165 3.5 REENGENHARIA DE SOFTWARE ....................................................................................................167 3.6 MIGRAÇÃO DE CÓDIGO ...................................................................................................................168 LEITURA COMPLEMENTAR ................................................................................................171 RESUMO DO TÓPICO 3 .......................................................................................................178 AUTOATIVIDADE ................................................................................................................ 179 REFERÊNCIAS .................................................................................................................... 181 UNIDADE 3 — FERRAMENTAS E NORMAS DE APOIO AO GERENCIAMENTO DE PROJETOS E CONFIGURAÇÕES ....................................189 TÓPICO 1 — FERRAMENTAS PARA APOIO AO GERENCIAMENTO DE PROJETOS E CONFIGURAÇÃO ................................................................ 191 1 INTRODUÇÃO .................................................................................................................. 191 2 FERRAMENTAS PARA CONTROLE DE VERSÃO ............................................................ 191 2.1 CONCURRENT VERSION SYSTEM (CVS) .....................................................................................201 2.2 GIT ...................................................................................................................................................... 202 2.3 MERCURIAL ...................................................................................................................................... 206 2.4 BITKEEPER ........................................................................................................................................208 2.5 SOURCESAFE ....................................................................................................................................210 2.6 CLEARCASE .......................................................................................................................................210 2.8 STARTEAM .......................................................................................................................................... 212 2.7 SYNERGY ............................................................................................................................................. 212 3 FERRAMENTAS PARA CONTROLE DO CICLO DE VIDA DE PROJETOS ........................213 3.1 FERRAMENTAS PARA CONTROLE DE TAREFAS ........................................................................ 217 3.1.1 Redmine ..................................................................................................................................... 217 3.1.2 Bugzilla ....................................................................................................................................... 221 3.1.3 Trac ..............................................................................................................................................222 3.1.4 Zendesk..................................................................................................................................... 223 3.1.5 TeamTrack ................................................................................................................................ 224 4 FERRAMENTAS PARA PROJETOS BASEADOS EM METODOLOGIAS ÁGEIS .............. 225 4.1 TRELLO .................................................................................................................................................227 4.2 JIRA .................................................................................................................................................... 228 4.3 DOCKER .............................................................................................................................................. 231 5 MÉTODO KANBAN E O GERENCIAMENTO DE PROJETOS ........................................... 232 RESUMO DO TÓPICO 1 ...................................................................................................... 236 AUTOATIVIDADE ............................................................................................................... 238 TÓPICO 2 - FERRAMENTAS PARA INTEGRAÇÃO E ENTREGA CONTÍNUA .....................241 1 INTRODUÇÃO ..................................................................................................................241 2 IMPORTÂNCIA DA UTILIZAÇÃO DE FERRAMENTAS PARA INTEGRAÇÃO E ENTREGA CONTÍNUA ..........................................................................2413 JENKINS ......................................................................................................................... 247 4 OUTRAS FERRAMENTAS ............................................................................................... 249 RESUMO DO TÓPICO 2 .......................................................................................................251 AUTOATIVIDADE ............................................................................................................... 252 TÓPICO 3 - NORMAS DE APOIO AO GERENCIAMENTO DE CONFIGURAÇÕES .............. 255 1 INTRODUÇÃO ................................................................................................................. 255 2 VISÃO DO CMMI E MPS.BR SOBRE A GERÊNCIA DE CONFIGURAÇÃO E NORMAS DE AUDITORIA ................................................................ 255 3 NORMAS IEEE ................................................................................................................. 259 3.1 IEEE STD 828/1998 ........................................................................................................................ 260 3.2 IEEE STD 1042/1986 ....................................................................................................................... 261 4 NORMAS ISO/IEC .......................................................................................................... 263 4.1 ISO/IEC 10007 .................................................................................................................................. 264 4.2 ISO/IEC 12207 ................................................................................................................................... 265 4.3 ISO/IEC TR 15846 ........................................................................................................................... 266 LEITURA COMPLEMENTAR .............................................................................................. 268 RESUMO DO TÓPICO 3 ...................................................................................................... 275 AUTOATIVIDADE ................................................................................................................276 REFERÊNCIAS ................................................................................................................... 278 1 UNIDADE 1 - PRINCIPAIS CONCEITOS PARA A GERÊNCIA DE PROJETOS E CONFIGURAÇÃO OBJETIVOS DE APRENDIZAGEM PLANO DE ESTUDOS A partir do estudo desta unidade, você deverá ser capaz de: • conhecer os principais conceitos sobre Projetos e Gerência de projetos; • aprender sobre a importância do papel do Gerente de Projetos e sua atuação no processo de gestão; • apreender os principais métodos para Gerenciamento de Projetos; • identifi car os conceitos fundamentais sobre Auditoria, as metodologias voltadas para sistemas de TI e seus princípios básicos. A cada tópico desta unidade você encontrará autoatividades com o objetivo de reforçar o conteúdo apresentado. TEMA DE APRENDIZAGEM 1 – PRINCIPAIS CONCEITOS PARA A GERÊNCIA DE PROJETOS TEMA DE APRENDIZAGEM 2 – GESTÃO DE CONFIGURAÇÕES TEMA DE APRENDIZAGEM 3 – AUDITORIA Preparado para ampliar seus conhecimentos? Respire e vamos em frente! Procure um ambiente que facilite a concentração, assim absorverá melhor as informações. CHAMADA 2 CONFIRA A TRILHA DA UNIDADE 1! Acesse o QR Code abaixo: 3 PRINCIPAIS CONCEITOS PARA A GERÊNCIA DE PROJETOS 1 INTRODUÇÃO Em nosso cotidiano, é comum realizarmos planejamento para diferentes fins, dentre eles para a execução de uma viagem, a construção de uma casa, a reforma em um cômodo ou até para a comemoração de um aniversário. Todas estas situações, na verdade, representam projetos que possuem início, meio e fim. Larson e Gray (2016) conceituam um projeto por um conjunto de esforços temporários para se atingir a um determinado objetivo. Pelo quesito temporário, entende-se que terá um início, meio e fim, entregando um produto ou resultado ao final da sua execução. Saber gerenciar um projeto é uma tarefa que envolve diferentes conhecimentos, sendo fundamental para que o empreendimento consiga atingir o sucesso esperado. Todo o processo de gerenciamento precisa ter a metodologia adequada para o tipo de projeto que será desenvolvido, assim como para garantir o sucesso esperado. Então, é preciso que se tenha uma pessoa com o objetivo de realizar o planejamento e acompanhamento das etapas necessárias para o projeto que será desenvolvido, que é o gerente de projetos. Estudante, no Tema de Aprendizagem 1, iremos abordar os principais conceitos e características inerentes a um projeto, além dos métodos atuais utilizados para realizar o gerenciamento de suas principais características. O subtópico 2 apresentará o conceito de projetos e os métodos para efetuar a gestão de projetos. O subtópico 3, por sua vez, apresentará os métodos para gestão de projetos. 2 PROJETOS E MÉTODOS PARA GESTÃO DE PROJETOS Acadêmico, neste subtema, iremos abordar o conceito de projeto, apresentando o papel do Gerente de Projetos e a importância da elaboração de um Plano de Projetos. TÓPICO 1 - UNIDADE 1 4 2.1 PROJETOS Larson e Gray (2016) e PMI (2017) chamam atenção para a natureza temporária de um projeto, indicando que toda a ação que possui prazos determinados para início e fim, envolvendo um esforço específico para se atingir a um objetivo, é caracterizada como um projeto. Pressman e Maxim (2021) afirmam que as diversas variáveis que compõem as necessidades da aplicação que será desenvolvida, como a definição do que será preciso (recursos), em qual quantidade e por quanto tempo esses recursos deverão estar à disposição do projeto, e qual o limite de orçamento existente e do prazo final para entrega, é que irão definir o processo de Gerenciamento de Projetos. Todo projeto surge de uma necessidade ou ideia que, após a sua conclusão, deverá fornecer um benefício, muitas vezes em forma de melhorias ou mudanças. Por exemplo, vamos imaginar que uma casa precise de reforma. Para isso, um novo projeto deverá ser iniciado, fazendo um planejamento do que será melhorado, qual o resultado esperado, qual a estimativa de prazos, materiais e custos, além de quantas pessoas estarão envolvidas na execução desse processo de reforma. Segundo Maximiano e Veroneze (2022), nem toda atividade pode ser considerada como um novo projeto. Atividades que não tenham um prazo para sua finalização não são consideradas projetos, mas sim operações. Como exemplo, podemos mencionar o processo de fabricação de um produto, como um carro ou uma lâmpada. As ações executadas no fluxo de produção desses itens são contínuas, ou seja, sem prazo para finalização, descaracterizando, assim, a necessidade de um projeto. Ainda conforme Maximiano e Veroneze (2022), um projeto, ao contrário de uma operação, não tem a repetição constante como uma característica, sendo uma ação voltada para executar uma tarefa única, específica e não repetitiva. Apesar disso, existem projetos que são recorrentes, ou seja, que buscam entregar um objetivo em comum com outros projetos já desenvolvidos anteriormente, como a construção de uma aplicação ou site. Uma Empresa poderá ter uma equipe focada apenas em realizar projetos de construção de softwares ou de manutenção evolutiva em produtos de TI já existentes. 5 Fonte: adaptada de Maximiano e Veroneze (2022) A Figura 1 apresenta uma relação entre a singularidade de um projeto e o volume de projetos de um mesmo tipo. Consideramos projetos singulares aqueles que são mais exclusivos, ou seja, que buscam inovar em suas ideias ou na maneira de serem executados. Dessa forma, quanto mais projetos de um mesmo tipo são executados por um time, menor será o nível de singularidade desses projetos, tendo em vista que as mesmas etapas irão acontecer, culminando em um mesmo objetivo (como a construção deuma aplicação). Projetos inovadores, ou seja, aqueles que diferem dos projetos comumente executados, são considerados singulares, geralmente acontecendo em menor número. Uma pesquisa científi ca para defi nição de uma nova metodologia para construção de softwares poderá ser considerada como um projeto inovador, tendo pouca recorrência (poucos projetos iguais que são executados) e maior singularidade (projeto ímpar). Projetos voltados para construção de aplicações, por exemplo, estão sempre acontecendo (alta recorrência) o que reduz sua singularidade. Quando é mencionado o termo singularidade, notem que estamos nos referindo apenas à categoria de projetos e não ao produto entregue ao fi nal de cada ciclo, já que cada projeto se destinará à construção de um produto único com características próprias e diferentes de outros produtos já construídos anteriormente. A esse produto entregue ao fi nal de cada projeto, denominamos entregável. Maximiano e Veroneze (2022) classifi cam os entregáveis de um projeto nas seguintes categorias: • Produtos físicos – tudo aquilo que é tangível no mundo físico. • Conceitos, conhecimentos e informações – conceitos e ideias que são tidas como intangíveis, ou seja, não concretos. • Eventos e serviços – preparação para a realização de um evento ou serviço. • Instituições e organizações – projetos que envolvam criação ou modifi cações em ambientes Empresariais. Figura 1 – Relação entre singularidade e volume de projetos 6 Quando um ou mais projetos estão correlacionados em uma Organização, é constituído o conceito de programa. Então, podemos ter programas de aperfeiçoamento técnico voltado para desenvolvedores, programa de atenção à saúde, programa de pesquisa e desenvolvimento de novos produtos, dentre outros. Sommerville (2011) afirma que o processo de gerenciamento de um projeto deverá englobar a gestão de recursos (pessoas, orçamento, cronograma, instalações físicas) para que o objetivo pretendido seja alcançado, de modo que a progressão aconteça. Esses recursos poderão alimentar gráficos de barra, como o de Gantt, que apresentará a situação de cada recurso do projeto em um determinado período do projeto, como quantos recursos humanos (desenvolvedores) estão trabalhando no mês corrente, quantos estão de férias ou alocados em outros projetos, além de quais tarefas estão sendo executadas. Pressman e Maxim (2021), Sommerville (2011) e Morais e Zanin (2017) denominam os gráficos de barra como gráficos de Gantt, homenageando seu criador, Henry Gantt. Esses gráficos têm o objetivo de apresentar, com o uso de barras paralelas e baseadas em um calendário cronológico, as tarefas do projeto de acordo com o período de execução de cada tarefa, apresentando quem estará responsável pela execução de qual atividade. Segundo Pressman e Maxim (2021), uma característica importante de um projeto é o seu desempenho, que poderá ser medido a partir da adoção de critérios de desempenho, indicando qual a probabilidade de se obter sucesso com o propósito pretendido ou não. Existem cinco níveis de medição para o sucesso de um projeto: • Processo – O sucesso do projeto será indicado pela correta adoção de ferramentas para gestão de projetos e pela escolha do projeto, ou seja, dentre os projetos disponíveis para serem executados, a correta priorização do projeto atual o fez entrar na “esteira de trabalho”. • Projeto – O sucesso do projeto terá o termômetro da correta gestão de suas principais variáveis (escopo, tempo e custo). Caso o projeto esteja consumindo os recursos necessários para o tempo que ele está em andamento, ele terá uma melhor classificação de sucesso. Caso mais recursos estejam sendo consumidos, A palavra projeto é derivada do termo em latim projectum, significando algo lançado para a frente. O que nos remete às etapas iniciais, intermediárias e finais para implementar uma ideia, ou seja, percorrer as etapas necessárias para a construção da ideia que deu origem ao seu respectivo projeto. INTERESSANTE 7 além dos que foram previstos para a respectiva fase na qual o projeto se encontra, seu sucesso terá uma menor classifi cação. • Produto – O sucesso, para este critério, é medido pela aderência do produto aos requisitos iniciais solicitados para sua construção e pela satisfação do cliente com o que está sendo construído. • Negócio – Para este critério, o nível do sucesso será medido pelo retorno sobre o investimento (ROI), ou seja, se o produto resultante gerou o valor esperado, em relação ao investimento feito, atendendo às expectativas do cliente. • Sucesso estratégico – O desempenho do projeto, para este indicador, será medido pelas partes interessadas (stakeholders) externas. Podemos considerar, como exemplo, se o produto está atendendo às expectativas em termos de fatia de mercado, se possui vantagens competitivas em relação aos produtos concorrentes, dentre outros benefícios. Segundo Larson e Gray (2016), todos os projetos já executados, ou ainda em andamento por uma Empresa, irão compor o seu portifólio, ou seja, sua carteira de experiências, para servir de referência aos clientes. A partir deste portifólio, um novo cliente poderá, por exemplo, analisar as taxas de sucesso dos projetos, quantos foram concluídos dentro do prazo esperado, quantos atrasaram, quantos tiveram boa aceitação do mercado etc. PMI (2017), por sua vez, caracteriza um portfólio como o conjunto dos produtos de TI (aplicações, serviços etc.) e operações que buscam atender às metas estratégicas da Organização. Segundo Pressman e Maxim (2021), o fato de um projeto seguir um processo de software, não implica que o prazo acordado com as partes interessadas será cumprido nem que as expectativas acerca das funcionalidades do projeto irão ser atendidas. Também não é garantia que o projeto utilizou boas práticas em sua construção e que terá facilidade de manutenção a longo prazo. A condução do projeto e de suas variáveis, como escopo, orçamento, prazo e recursos, deverá ser feita pela pessoa que ocupará o papel do gerente de projetos. Abordaremos, no próximo subtópico, a função do Gerente de Projetos e a importância do acompanhamento de um projeto, em todas as suas fases, pela pessoa que ocupará este papel, sendo um fator importante de sucesso a boa gerência em todas as etapas do projeto. Acadêmico, detalharemos cada variável de um projeto na Unidade 2 deste livro, apresentando em detalhes como o gerenciamento deverá ser feito, enfatizando os pontos importantes em cada variável, de modo que o projeto consiga cumprir, ao seu fi nal, o planejamento realizado. ESTUDOS FUTUROS 8 2.1.1 O papel do Gerente de Projetos Para que um projeto possa ser conduzido por todas as suas fases até sua conclusão, é fundamental que uma pessoa tenha feito todo o planejamento necessário e, também importante, o acompanhamento da evolução desse projeto, mensurando o tempo gasto, verificando se está dentro do cronograma previsto, analisando os gastos com os recursos e se está de acordo com o inicialmente previsto, dentre outras questões que garantirão a entrega de valor ao cliente na etapa final. Segundo PMI (2017), o Gerente de Projetos tem um papel muito mais além do que apenas supervisionar o andamento dos processos, é o responsável por guiar um projeto para que seu êxito seja alcançado, pelas etapas de escolha de qual projeto deverá ser iniciado, pela elaboração de todo o planejamento e execução de um projeto, pelo acompanhamento e encerramento do projeto. Sommerville (2011) apresenta as seguintes atribuições ao papel do Gerente de Projetos: • Efetuar o planejamento do projeto, com elaboração do cronograma e estimativas de início e fim de cada atividade, assim como levantar quais os recursos necessários para a execução do projeto. • Realizar atribuição de tarefas aos membros do time de desenvolvimento, com o devido acompanhamento do andamento de cada tarefa. • Gerar os relatórios necessários para apresentaçãoàs partes interessadas, contendo dados atuais sobre a execução do projeto para diferentes públicos e abordando diferentes níveis de detalhamento. Desenvolvedores, por exemplo, terão uma visão técnica sobre o projeto, enquanto patrocinadores que não são da área técnica irão visualizar informações em níveis macro. • Analisar e gerenciar os riscos envolvidos no projeto. • Gerenciar os membros do time de desenvolvimento, escolhendo as pessoas com os melhores perfis, conforme a necessidade técnica. • Elaborar propostas relativas ao projeto, como a proposta inicial para fechamento do negócio com o cliente. Conforme Melo et al. (2021) explicam que a função do Gerente de Projetos foi profissionalizada a partir da criação do Project Management Institute (PMI), responsável pela elaboração e publicação do guia Project Management Body of Knowledge (PMBOK), voltado para as melhores práticas no processo de gerenciamento de projetos. CMMI (2017) apresenta um modelo de medição da qualidade e maturidade de uma Organização em relação aos processos de desenvolvimento de software, se tornando uma forma complementar ao PMBOK. Enquanto o foco do CMMI é melhorar a capacidade de uma organização em gerenciar seus processos de desenvolvimento de software, o PMBOK se concentra nas etapas da gestão de projetos. 9 Fonte: adaptada de Sommerville (2011) A Figura 2 apresenta as etapas que o Gerente de Projetos deverá executar para que um novo projeto possa ter seu andamento iniciado e seguir até seu completo encerramento. Percebe-se que há uma sequência lógica das etapas, de modo que a próxima etapa só acontecerá com o encerramento da etapa anterior. Figura 2 – Etapas do projeto executadas pelo Gerente de Projetos O PMBOK é um livro que possui as melhores práticas voltadas para o gerenciamento de projetos, escrito pelo Project Management Institute (PMI). Sua versão é atualizada periodicamente por este instituto, podendo ter seu download efetuado no site ofi cial https://www.pmi.org/, mediante compra. Suas práticas são amplamente difundidas e utilizadas por gerentes de projetos para os mais variados tipos de projetos. O Gerente de Projetos deverá defi nir quais os papéis desempenhados por cada membro do time que trabalhará no projeto, delegar tarefas, além de controlar eventuais riscos que apareçam ao longo do andamento do projeto. Também é sua função garantir que toda a documentação do projeto será construída e mantida corretamente. NOTA IMPORTANTE 10 Todo o processo de gestão de um projeto visa assegurar o resultado, ou seja, contornar eventuais atrasos ou situações adversas que venham a acontecer durante a execução do projeto, garantindo que o esforço da equipe será direcionado para a construção do produto, agregando o valor esperado ao negócio do cliente. Segundo PMI (2017), cabe ao Gerente de Projetos unificar as diferentes áreas inerentes a um projeto, como a comunicação entre todos os envolvidos, o balanceamento entre as demandas e o prazo estimado para execução do projeto, que acontecem ao longo de toda a existência do projeto. A este processo, denominamos de gerenciamento da integração do projeto. O próximo subtópico abordará o documento Plano de Projeto, fundamental para o início e acompanhamento de todo e qualquer projeto, apresentando informações importantes para que o projeto obtenha o êxito esperado. 2.1.2 O Plano de Projetos e sua importância Segundo Pressman e Maxim (2021), para que todo o planejamento de um projeto possa ser documentado e acompanhado, é fundamental a elaboração de um Plano de Projeto pelo Gerente de Projetos, contendo todas as informações necessárias sobre o projeto em pauta, como seu propósito, estimativa de cronograma, justificativa do projeto, descrição para a solução proposta ao problema apresentado e as demais estimativas (custos e recursos). Maximiano e Veroneze (2022) e Larson e Gray (2016) definem este documento inicial, também conhecido como termo de abertura do projeto (project charter), como o documento que servirá de guia, após a conclusão de sua elaboração e aprovação, para que as etapas do projeto se iniciem. Cada conteúdo englobado por este documento inicial será de suma importância para que os interessados no projeto (stakeholders) possam realizar a validação sobre a aderência da solução proposta para o problema ou situação apresentada. Segundo PMI (2017), a partir da elaboração de um documento que formalize a inicialização de um projeto, o Gerente de Projetos se tornará apto a alocar recursos para realização das atividades do projeto. Para que este documento seja elaborado, os acordos firmados entre os stakeholders e o Gerente de projeto irão servir de subsídios de entrada, assim como eventuais documentos que descrevam o negócio que representará o domínio para a aplicação que será construída. A justificativa do projeto deverá apresentar quais ganhos serão obtidos com a solução proposta, comparando-a com outras soluções existentes e voltadas para a mesma situação, exaltando os pontos fracos e fortes de cada solução, além de apresentar 11 qual o diferencial da solução proposta frente às demais. Com a justificativa, busca-se realizar um trabalho de convencimento do stakeholder responsável pela escolha de qual solução será a mais indicada a ser implementada e obter sua aprovação. A descrição do projeto apresentará a solução de forma direta, porém com a riqueza de detalhes suficiente para que não restem dúvidas sobre o que será feito e quais benefícios serão obtidos após a conclusão da solução. De acordo com PMI (2006), as estimativas devem constar no termo de abertura do projeto, considerando os custos, cronograma e riscos identificados no projeto. O Gerente de Projetos é a pessoa que analisará e calculará todas essas informações, apresentando em detalhes as variáveis analisadas e seus relacionamentos. Podem ser necessários ajustes nas versões iniciais do termo de abertura do projeto, sendo necessária, então, nova rodada de avaliação, também conhecida como filtros do processo de aprovação e avaliação do projeto. Com a devida aprovação do termo inicial, o Gerente de Projetos deverá se preocupar em mobilizar os recursos necessários, conforme o planejamento. Então, caso sejam necessárias contratações de colaboradores com perfis técnicos específicos, é nesta fase que esse processo será feito. As instalações físicas necessárias para o desenvolvimento do projeto também serão providenciadas, assim como serão definidas as ferramentas de trabalho dos membros da equipe e ferramentas oficiais de comunicação. A etapa de execução do projeto colocará em prática o planejamento feito, dando início ao processo de acompanhamento do projeto, controlando os custos, os prazos acordados e as entregas planejadas. É possível que o Gerente estabeleça marcos para serem alcançados ao longo do andamento do projeto, indicando se o que foi planejado terá condições de ser cumprido. Ao atingir um marco de controle, será possível perceber se o projeto estará dentro do prazo estipulado, mantendo suas variáveis conforme o planejamento inicial, ou se está desviando do que foi planejado, requerendo uma ação de contorno rápida. Segundo PMI (2006), o encerramento do projeto deverá entregar o resultado acordado, liberar os recursos alocados para a execução do projeto, realizar todo o processo de prestação de contas, além de elaborar todos os documentos e relatórios necessários, seguindo as políticas organizacionais. Pressman e Maxim (2021) apresentam a importância de se analisar os projetos com uma visão crítica das lições aprendidas, como a relação entre o que foi planejado e o que realmente foi executado, análise das métricas coletadas e a coleta de opinião de todos os envolvidos (desenvolvedores e clientes), fazendo registros por escrito. Essa 12 base de conhecimento será fundamental para o processo de melhoria contínua para projetos futuros que venham a ser desenvolvidos pelaequipe, buscando evitar pontos de falha e evidenciar pontos que deram certo. É possível que, após a conclusão de um projeto e entrega de seu produto, um novo contrato seja firmado entre as partes interessadas, para, por exemplo, a realização de manutenções evolutivas ou adaptativas (em caso de projetos voltados para construção de aplicações). Nesse caso, um novo projeto deverá ser iniciado, tendo seu escopo definido pelas alterações necessárias e solicitadas pelo cliente. Acadêmico, no próximo subtema abordaremos os métodos para a gestão de projetos, contemplando os detalhes importantes sobre as principais metodologias de gestão. 3 MÉTODOS PARA GESTÃO DE PROJETOS A gerência de projetos, por sua complexidade intrínseca e variáveis internas, precisa da aplicação de métodos que visem auxiliar o processo de gestão, de modo a garantir sua condução até a sua etapa final. Os métodos voltados para a gestão de projetos podem ser classificados, de forma macro, em preditivos ou ágeis e, neste subtema, abordaremos os principais. Apresentaremos o método simplificado para gestão de projetos, seguindo para a apresentação dos métodos preditivos e das metodologias ágeis. 3.1 GESTÃO SIMPLIFICADA DE PROJETOS Segundo Maximiano e Veroneze (2022), o método de Gestão Simplificada de Projetos foca em um processo de planejamento minimalista, concentrando seus esforços nas fases de execução e entrega. Este método é mais indicado quando os envolvidos no projeto, como o gerente de projetos e os membros da equipe de desenvolvimento, já possuem um sólido conhecimento do negócio e de todos os processos necessários para desenvolvimento e entrega do produto. Poderemos considerar exemplos práticos de projetos nos quais é possível aplicar essa técnica aqueles que já possuem fases bem estabelecidas e sem muitas novidades, como as festas de modo geral, reparos ou ajustes em produtos já prontos, construção de edificações, dentre outros. 13 Fonte: adaptada de Maximiano e Veroneze (2022) A Figura 3 apresenta um resumo das fases da metodologia simplifi cada de gestão de projetos. Por ser um processo simplifi cado, que as pessoas envolvidas já possuem o conhecimento necessário para executar cada etapa, então o processo de planejamento se resume à defi nição do produto ou serviço que será entregue. A próxima fase será montar uma equipe que receberá as tarefas, delegadas pelo gerente do projeto, e executá-las. O gerente do projeto deverá fazer todo o acompanhamento das tarefas delegadas, garantindo que o produto ou serviço será entregue em tempo hábil, com os recursos e orçamento disponíveis. Por fi m, o produto é entregue e o projeto fi nalizado. Apesar de ser uma versão simplifi cada de gestão de projetos, é necessário que alguma ferramenta de controle seja utilizada, como a elaboração de cronogramas e a defi nição de marcos de entregas (ou datas limites para que cada etapa possa ser fi nalizada) e estas datas precisam ser controladas para que o prazo possa ser cumprido. Segundo Provinciatto e Caroli (2020), as tarefas também podem ser controladas a partir do quadro Kanban, que utiliza raias com rótulos que irão apresentar o estado atual de uma tarefa, objetivando classifi car as tarefas do projeto de acordo com o estágio atual de desenvolvimento delas, exibindo o andamento de cada tarefa com exatidão a todos os interessados. Um exemplo de rótulos para as raias pode ser “Em preparação”, “Fazendo” e “Feito”. A partir do momento que uma tarefa vai sendo executada por um membro da equipe de desenvolvimento e concluída, ela vai sendo movida para a raia “Fazendo” e, após sua fi nalização, para a raia “Feito”. Figura 3 – Fases da metodologia simplifi cada de gestão de projetos Estaremos abordando o método Kanban quando formos tratar sobre as metodologias ágeis para gerenciamento de projetos. IMPORTANTE 14 Acadêmico, no próximo subtema apresentaremos as metodologias preditivas, também conhecidas como tradicionais, para gestão de projetos. 3.2 MÉTODOS PREDITIVOS Segundo Larson e Gray (2016), a metodologia preditiva, ao contrário da gestão simplificada de projetos, que não dá muita ênfase à fase de planejamento, realizará todo o planejamento minucioso do projeto, tentado prever e englobar todos os detalhes necessários, além de todas as situações que envolvem produtos a serem entregues (denominados entregáveis), antes que o projeto realmente se inicie. Esta fase tende a levar bastante tempo, já que planejará todo o escopo do projeto, com todos os requisitos e recursos necessários para sua conclusão. Pressman e Maxim (2021) definem os métodos preditivos com a denominação de métodos tradicionais, por terem suas aplicações iniciadas em áreas mais antigas na condução de projetos, como as engenharias (civil, mecânica etc.). Para estas áreas, porém, é fundamental que todos os detalhes sejam minuciosamente planejados, já que serão necessários cálculos para a quantidade de material necessário para a realização de uma obra, por exemplo, o tempo previsto de conclusão, a quantidade de homens que irão realizar a força tarefa. Projetos que são construídos baseados em métodos preditivos irão possuir uma documentação bem estruturada sobre tudo que foi planejado e executado. Esta documentação será necessária para que se faça um controle sobre todas as etapas do projeto e seja possível perceber quando algo está sendo desviado do objetivo principal. Pressman e Maxim (2021) afirmam que as etapas das metodologias preditivas são sequenciais. Então, uma fase só será iniciada após o término da fase anterior, o que indica a necessidade de completude dos documentos gerados e demais artefatos de uma fase, antes que a próxima seja iniciada. Como as necessidades do cliente podem mudar ao longo do tempo, é possível que, no momento que sejam necessárias todas as definições dos requisitos para concluir o planejamento, o cliente não tenha esta definição clara em relação ao projeto, o que pode acarretar frustração ao receber o produto, que poderá não atender as suas reais necessidades. Segundo Maximiano e Veroneze (2022) e Larson e Gray (2016), é possível que uma fase que está em andamento tenha um nível maior de detalhamento, ou seja, uma menor granularidade do que está sendo feito e de seu planejamento, do que as fases que ainda não foram iniciadas (que podem possuir um planejamento a um nível maior de granularidade). A esse processo de detalhamento apenas quando a fase está mais próxima, denomina-se planejamento em ondas. 15 Fonte: adaptada de Pressman e Maxim (2021) A Figura 4 apresenta um resumo das principais fases de uma metodologia preditiva. A primeira etapa é a defi nição do produto que será entregue como objetivo do projeto, e todo o planejamento desse produto deverá ser feito englobando seu escopo e suas funcionalidades (ou requisitos). O planejamento do tempo (cronograma do projeto) será feito logo em seguida, fazendo uma estimativa de prazo para conclusão de cada etapa. Os recursos necessários serão levantados, como a quantidade de profi ssionais e perfi s desejados, seguindo-se da estimativa de custos e orçamento do projeto. A execução do projeto será iniciada logo em seguida, e, ao concluí-lo, o produto será entregue e a equipe desmobilizada, com a prestação de contas feita e respectivos pagamentos aos fornecedores executados. 3.3 MÉTODOS ÁGEIS Segundo Pressman e Maxim (2021), o desenvolvimento dos métodos ágeis procurou suprir uma necessidade das equipes de desenvolvimento de software quanto a entregas mais efi cazes, com menos burocracia em torno das documentações extensas, possibilitando uma maior satisfação do cliente. Com os métodos preditivos, por somente entregarem o produto ao fi nal de todo o ciclo do projeto, muitas vezes o tempo decorrido do início até a entrega ocasionava uma insatisfação do cliente com o produto que era entregue, já que é comum que as necessidades mudem com o passar do tempo e, consequentemente, asprioridades do que deve ser construído, em termos de funcionalidades, para as aplicações desejadas. Figura 4 – Etapas da metodologia preditiva As metodologias ágeis, que serão apresentadas no próximo subtema, surgiram como uma forma alternativa de gestão de projetos, alterando o foco do processo (objetivo das metodologias preditivas) para o desenvolvimento do produto. ESTUDOS FUTUROS 16 Entretanto, segundo Melo et al. (2021), é possível utilizar as metodologias ágeis em conjunto com práticas adotadas pelas metodologias preditivas, como o gerenciamento de riscos, custos e cronograma, já que estes processos são bem definidos pelas metodologias tradicionais, em contraste com o alto dinamismo dos métodos ágeis, que estão propensos a alterações constantes no escopo e priorização de tarefas. Segundo Maximiano e Veroneze (2022), métodos ágeis para desenvolvimento de projetos e produtos visam focar mais no que será entregue do que na elaboração de documentação extensa, manter o cliente sempre perto, dando feedbacks constantes sobre o produto que está sendo desenvolvido, garantindo uma melhor aderência aos requisitos necessários para satisfazer o cliente. As partes envolvidas no projeto devem, então, manter uma comunicação constante e fluida, deixando alinhado sempre o que está sendo construído com as expectativas acerca do produto. Segundo Valente (2020) e Pressman e Maxim (2021), projetos construídos a partir de metodologias preditivas não obtinham o retorno do cliente sobre o produto que estava em construção antes que a entrega final acontecesse, além de não ser possível alterar, após a inicialização da fase de codificação do produto, o escopo do que seria construído. A utilização de metodologias ágeis, por outro lado, possibilita a alteração, em tempo de execução do projeto, das funcionalidades que serão implementadas em um primeiro momento, tendo em vista que a priorização é uma tarefa contínua, que dependerá apenas da necessidade do cliente. Ao se utilizar uma metodologia ágil, o produto poderá ser entregue em partes, que consigam agregar valor ao negócio do cliente, conforme suas prioridades. A cada entrega feita, é possível que o cliente valide, se certificando que o que está sendo construído atenderá as suas expectativas. Um outro ponto importante em projetos que utilizam metodologias ágeis é a participação do cliente ao longo do processo de desenvolvimento da aplicação ou objetivo do projeto. A equipe envolvida trabalhará em ciclos, conhecidos como sprints, Segundo Sutherland (2016), as metodologias ágeis surgiram a partir da publicação, no ano de 2001, de um manifesto, conhecido como manifesto ágil, por um grupo de dezessete desenvolvedores de software. Podemos encontrar os princípios do manifesto em: https://agilemanifesto.org/iso/ptbr/ manifesto.html. INTERESSANTE 17 Acadêmico, estudaremos com mais detalhes sobre metodologias ágeis e sua estrutura interna na Unidade 2. Fique atento! Recomendamos a leitura do Trabalho de Conclusão de Curso com tema Gerenciamento de Projetos & Segurança da Informação: os impactos da gestão de projetos na segurança da informação. Acesse em: https://dspace.uniceplac. edu.br/handle/123456789/1612. ESTUDOS FUTUROS DICA que terão metas específi cas, conforme as necessidades que forem priorizadas pelo cliente, e que terão, ao seu fi nal, uma cerimônia de apresentação para que o cliente valide o que foi fi nalizado no ciclo. Sutherland (2016) afi rma que um dos principais métodos ágeis utilizados para construção de produtos, atualmente, é o framework SCRUM. Ele especifi ca cerimônias para que um projeto possa ser executado, facilitando a comunicação entre os membros da equipe de desenvolvimento e o cliente (ou partes interessadas), assim como visa a construir o produto em ciclos, com tempos bem defi nidos e acordados antes do início do projeto. É possível que uma equipe adapte as cerimônias de acordo com sua cultura e necessidade. Segundo Caroli (2018) e Melo et al. (2021), existem outros métodos ágeis que podem ser utilizados por uma equipe para construção de aplicações, como o Lean, que objetiva construir um produto com o estritamente necessário, construindo uma versão mínima (conhecida como MVP – Mínimo produto viável), que atenda às necessidades do cliente, realizando melhorias contínuas até que o produto com os requisitos desejáveis tenha sido construído, ou a metodologia Feature Driven Development (FDD), que construirá o produto com base nas suas funcionalidades, executando apenas as etapas de planejamento e implementação dos requisitos. Valente (2021) e Sommerville (2011) apresentam outras metodologias ágeis, tais quais o eXtreme Programming (XP), voltado para aplicações que possuem muita incerteza na defi nição de seus requisitos, podendo sofrer mudanças repentinas em suas funcionalidades. Diferente do SCRUM, o XP é baseado em valores, princípios e práticas. 18 Sommerville (2011) apresenta uma característica em comum entre a metodologia XP e o framework SCRUM: a necessidade de envolvimento do cliente em todo o processo, sendo o responsável pela implementação ou não de uma mudança em uma funcionalidade já existente ou da implementação de novos requisitos, além de, também, definirem a ordem de prioridade para a implementação de cada item analisado. Pressman e Maxim (2021) pontuam que a metodologia XP é voltada para o paradigma da orientação a objetos, se baseando em quatro atividades básicas: • planejamento do que será executado (escrevendo as histórias de usuário e quais serão os critérios de aceitação); • projeto (com construção de protótipos); • implementação do projeto; • avaliação (testes unitários). Quando cliente e o time de desenvolvimento atuam em conjunto, é possível firmar um compromisso do que será entregue no próximo ciclo de trabalho, atendendo às necessidades pontuadas pelo cliente. Acadêmico, neste tema de aprendizagem foram apresentados os principais métodos para gestão de projetos. Para projetos que possuem etapas bem definidas e que os envolvidos já conheçam bem como realizar cada fase, a metodologia simplificada de gestão de projetos será mais adequada. Metodologias preditivas, por sua vez, irão se focar mais na fase de planejamento, se preocupando com todos os detalhes antes que o projeto, de fato, seja iniciado. Já com as metodologias ágeis, o projeto será subdividido em pequenas entregas, que serão validadas e utilizadas pelo cliente que, por sua vez, deverá participar ativamente de todo projeto. Além das metodologias apresentadas, indico a leitura da dissertação de mestrado de título Integração da abordagem Domain-Driven Design e da técnica Behaviour-Driven Development no Desenvolvimento de Aplicações web. Acesse em https://repositorio.ufscar.br/bitstream/handle/ufscar/7588/DissECSS. pdf?sequence=1&isAllowed=y. DICA 19 Neste tópico, você aprendeu: • Um projeto deve ser um empreendimento limitado, voltado para construção de um produto. • O gerenciamento de projetos é fundamental para que um projeto consiga ser guiado do início ao fim, com todos os recursos necessários sendo alocados e liberados conforme acontece sua finalização. • O Gerente de Projetos é uma peça fundamental para planejar, acompanhar e, caso necessário, tomar as devidas atitudes para que o objetivo do projeto seja alcançado. • A execução de um projeto precisa da adoção de metodologias, conforme o tipo de projeto e o resultado que se deseja atingir. • As metodologias preditivas necessitam que uma etapa tenha sua conclusão para que a próxima etapa seja iniciada, enquanto as metodologias ágeis não precisam esperar que uma fase esteja completamente pronta para iniciar a próxima fase do projeto. RESUMO DO TÓPICO 1 20 AUTOATIVIDADE 1 Um projeto poderá ser definido para a execução de atividades que requeiram um planejamento e acompanhamento dos recursos e entregáveis. A ideia por trás de todo projeto é que ele possa seguir etapasdo início ao final, alcançando o objetivo proposto em seu planejamento e, então, concluído. Sobre o papel do Gerente de Projetos na condução de um novo projeto, assinale a alternativa CORRETA: a) ( ) O Gerente de Projetos é responsável apenas pela comunicação com o cliente e levantamento de suas necessidades para construção do produto. b) ( ) O Gerente de Projetos é a pessoa responsável pela condução de todas as fases do projeto, desde seu planejamento inicial até o acompanhamento de sua execução e a entrega do produto ao cliente. c) ( ) O Gerente de Projetos será o responsável apenas pelo planejamento e documentação do projeto, não se preocupando com sua fase de execução. d) ( ) O Gerente de Projetos será responsável pela mobilização e desmobilização da equipe, apenas delegando a etapa de planejamento e execução para os membros dessa equipe, que executará o projeto. 2 Um projeto será responsável pela execução de uma tarefa, entregue ao seu final. Todas as etapas de um projeto irão ter o objetivo de definir quais as necessidades da tarefa, o que é necessário para sua execução, e executar o planejado até se atingir o objetivo inicialmente proposto. Uma característica de um projeto, portanto, é possuir entregáveis. Com base em seus conhecimentos, analise as sentenças a seguir: I- Um produto ou serviço pode ser considerado como entregável de um projeto. II- Um entregável poderá ser qualquer artefato gerado pelo projeto, como sua documentação. III- Um entregável pode ser representado por um processo que acontecerá ao longo das etapas do projeto. Assinale a alternativa CORRETA: a) ( ) As sentenças I e II estão corretas. b) ( ) Somente a sentença II está correta. c) ( ) Somente a sentença I está correta. d) ( ) Somente a sentença III está correta. 3 Métodos de gestão são importantes para garantir que um produto ou serviço, elaborado através de um projeto, seguirá uma sequência lógica de etapas do início a sua conclusão. Existem diferentes métodos que podem ser utilizados para gerir 21 as etapas necessárias para um projeto. Considerando seus conhecimentos sobre metodologias de gestão de projetos, classifique V para as sentenças verdadeiras e F para as falsas: ( ) A metodologia simplificada de gestão de projetos tem o foco maior nas fases de execução e entrega do projeto, sendo considerada minimalista em relação ao planejamento. ( ) Métodos ágeis irão executar uma fase apenas após a conclusão da fase anterior, sendo considerados como métodos tradicionais. ( ) Métodos ágeis se diferenciam da metodologia preditiva, já que o cliente poderá receber versões parciais do produto e dar feedback sobre o que está sendo construído. Assinale a alternativa que apresenta a sequência CORRETA: a) ( ) V – F – F. b) ( ) V – F – V. c) ( ) F – V – F. d) ( ) F – F – V. 4 Metodologias para a Gerência de Projetos devem ser utilizadas para garantir a fluidez necessária no desenvolvimento de um projeto, a partir de sua inicialização até a sua conclusão. A escolha da metodologia, no entanto, dependerá de uma série de fatores, como o conhecimento prévio da equipe sobre as tarefas que devem ser executadas e como esta execução deverá acontecer, assim como o tipo de projeto que será desenvolvido. Com base em seus conhecimentos e no texto apresentado, disserte sobre o motivo pelo qual essa metodologia é conhecida como tradicional. 5 Existem projetos que são repetitivos e já possuem suas fases conhecidas e bem definidas, sem muitas variações. Dessa forma, ao se deparar com um projeto desse tipo, o Gerente de Projetos poderá escolher a utilização de uma metodologia específica para a gestão e acompanhamento do projeto específico. Disserte sobre a metodologia mais adequada para à situação apresentada e o porquê. 22 23 GESTÃO DE CONFIGURAÇÕES 1 INTRODUÇÃO Acadêmico, neste tema de aprendizagem abordaremos os principais conceitos sobre a gerência de configuração, como identificar uma configuração que necessita de gerência e quais as formas de realizar controle de versão. Segundo Pressman e Maxim (2021) e Sommerville (2011), é fundamental que o trabalho da equipe que está envolvida em um projeto possa ser armazenado em local seguro, evitando, assim, retrabalho e prejuízos financeiros, devido ao atraso no cronograma de entrega e mais tempo necessário de alocação dos recursos (pessoas e equipamentos). Além de garantir um armazenamento seguro, os repositórios de armazenamento irão realizar uma função importante: o controle de versão, possibilitando realizar um rastreamento de todas as alterações que foram efetuadas, quem as executou, quando foram implantadas. Também iremos abordar os conceitos de integração e entrega contínua em um projeto, além de como o processo de gerenciamento de mudanças deverá ser feito. Um processo de entrega manual de um pacote ou versão de uma aplicação está suscetível a muitos problemas, já que possui a dependência direta de uma pessoa, que deverá executar minuciosamente cada passo necessário para a implantação. A falha em um dos passos resultará em erros ou comportamentos inesperados. Ao final deste tema de aprendizagem, iremos aprender a importância de uma implantação automatizada em detrimento a uma implantação manual de software em um ambiente, assim como os passos necessários para realizar o controle de mudanças e o processo de entrega. Apresentaremos também o conceito de configurações e como identificar quais as configurações que necessitarão de acompanhamento ao longo de um projeto. Abordaremos o conceito de integração e entrega contínua e como este processo poderá ser planejado e executado. 2 CONCEITO E IDENTIFICAÇÃO DE CONFIGURAÇÕES Segundo Humble e Farley (2014), as configurações de um software ou aplicação representam as características básicas desse software, em termos de infraestrutura e requisitos funcionais ou não funcionais. Requisitos funcionais são aqueles que UNIDADE 1 TÓPICO 2 - T 24 representam um serviço ou uma função provida pelo sistema, ou seja, tudo aquilo que o usuário poderá executar, como os cadastramentos, extração de relatórios, dentre outros exemplos. Já os requisitos tidos como não funcionais irão prover um suporte aos requisitos funcionais, relacionados a questões de segurança, de auditoria, performance, podendo englobar um ou mais dos requisitos funcionais disponíveis na aplicação. Pressman e Maxim (2021), por sua vez, afirmam que as informações resultantes dos processos de software constituem o conjunto das configurações desse software. Essas informações podem se enquadrar nas categorias de programas de computador (código fonte e executável), manuais de usuário ou documentos que descrevam a aplicação construída e os dados mantidos pelo programa. Todo projeto deverá ter suas configurações devidamente identificadas e documentadas, de modo que, caso necessário, a aplicação resultante possa ser replicada para um novo ambiente, quantas vezes forem necessárias. Acadêmico, abordaremos os detalhes sobre o processo de identificação e gerenciamento de configurações nos próximos subtemas. Também abordaremos como o gerenciamento das configurações poderá ser planejado e executado e a sua importância. 2.1 CONCEITO E IDENTIFICAÇÃO DE CONFIGURAÇÕES Pressman (1995) define itens de configuração como tudo que é produzido a partir das fases de desenvolvimento de um software, englobando toda documentação, a especificação de requisitos, o plano de testes da aplicação e o próprio código produzido. Muitas equipes incluem ferramentas de terceiros necessárias para o projeto, como itens de configuração, armazenando versões específicas importantes para garantir o funcionamento do produto. Humble e Farley (2014) afirmam que todos os resultados do processo de engenharia de software, também conhecidos como artefatos, serão considerados como itens de configuração que deverão ser gerenciados ao longo do andamento do projeto. Segundo Pressman e Maxim (2021),o objetivo de se gerenciar itens de configuração é que mudanças podem e irão ocorrer em algum momento na aplicação, precisando ser controladas para que o software não tenha sua qualidade prejudicada com o passar do tempo. A Figura 5 apresenta um resumo de artefatos do projeto que são considerados itens de configuração. Configurações do ambiente no qual a aplicação executará, documentos gerados durante as fases de engenharia de software do projeto, o próprio código fonte construído pela equipe de desenvolvimento, o plano de testes e os 25 requisitos da aplicação irão compor o conjunto dos itens de confi guração que deverão ser gerenciados. Qualquer alteração em um desses itens deverá ser devidamente documentada e analisada, garantindo que a aplicação refl etirá as mudanças necessárias, seguindo as boas práticas recomendadas. Figura 5 – Resumo dos itens de confi guração de um projeto Fonte: adaptada de Humble e Farley (2014) Pressman e Maxim (2021) apresentam o conceito de objeto de confi guração como sendo um conjunto de itens de confi guração agrupados por categorias, como especifi cação de desing (do inglês DesignSpecifi cation), modelo de dados (do inglês DataModel), componentes, código fonte (do inglês SourceCode) e especifi cação de testes (do inglês TestSpecifi cation). Estes conjuntos podem ser relacionados entre si, sendo interdependentes. Abordaremos a importância do processo de gerência de confi guração e como ele poderá ser implantado em uma Organização no próximo subtema. 2.2 PROCESSO DE GERÊNCIA DE CONFIGURAÇÃO Sommerville (2011) afi rma que o processo de gerenciamento de confi gurações é importante para qualquer tipo de projeto, com o intuito de se manter um histórico das mudanças que foram realizadas, quando elas aconteceram e quais seus respectivos autores, considerando que há o risco de esquecimento dos ajustes efetuados com o passar do tempo, além da tendência de as equipes trabalharem de forma geografi camente distribuídas, necessitando controlar todas as contribuições feitas por todos os colaboradores. 26 O gerenciamento de configurações irá indicar a forma como a evolução de um produto de software deverá acontecer, considerando as etapas de desenvolvimento e manutenção, ao longo do ciclo de vida do produto (HUMBLE; FARLEY, 2014). O processo de gerenciamento de configurações deverá identificar, de forma única, todos os artefatos importantes ao projeto, indicando a forma como eles serão armazenados e recuperados, assim como seus respectivos relacionamentos. Esses autores contextualizam ainda que, para que o gerenciamento de configurações aconteça, é necessário que todas as configurações que serão geridas possam ser identificadas, incluindo componentes individuais, com o objetivo de identificar qualquer alteração nessas configurações e realizar o devido controle das modificações. Segundo Pressman e Maxim (2021), mudanças podem acontecer a qualquer momento, necessitando de etapas bem definidas para seu gerenciamento, tais quais a identificação da mudança, o controle da alteração (através de sua documentação), a execução da alteração e a comunicação dos ajustes efetuados aos interessados no projeto. Conforme explicado por Tuffley (2017), o gerenciamento de configurações irá se basear em dois aspectos importantes, o planejamento e a implementação. O planejamento irá englobar questões importantes para o projeto que será executado, como o escopo, objetivos, gerenciamento de políticas, dentre outros. Os aspectos de implementação, por outro lado, deverão seguir um plano de gerenciamento de configurações e mudanças. A maneira de conduzir o gerenciamento das configurações de um projeto, que compreende o processo evolutivo do sistema em questão, também irá definir a interação entre os membros da equipe de desenvolvimento, ditando a colaboração da equipe com o projeto, o que é fundamental para seu sucesso. Segundo Humble e Farley (2014), adotar uma boa estratégia de gerenciamento irá depender da resposta a algumas questões balizadoras importantes: • É possível reproduzir um ambiente exatamente como ele está configurado? • É possível efetuar alterações em itens individuais e replicar estas alterações em outros ambientes que possuam esses mesmos itens? • É possível realizar o rastreio de mudanças que aconteceram e quando foram executadas, além de quem as fez? • Os requisitos de conformidade com as leis e normas internas podem ser satisfeitos? • As mudanças e informações sobre o projeto podem ser encontradas facilmente pelos membros da equipe e serem implementadas sem dificuldade? 27 Segundo Pressman e Maxim (2021), é preciso identifi car qual o gatilho que originou a mudança que será implementada, sendo alguns exemplos: • alteração nos negócios da empresa ou na dinâmica do mercado, defi nido alterações nas regras do comércio; • patrocinadores com necessidades distintas das informadas originalmente, acarretando modifi cações nas informações e dados armazenados e/ou produzidos pela aplicação; • reestruturação organizacional, causando ajustes nas priorizações dos requisitos do projeto ou na composição da equipe de desenvolvimento; • limitações no prazo de entrega ou orçamento, refl etindo em ajustes no produto. Ao iniciar um projeto, os itens que deverão ser gerenciados podem ser resumidos conforme apresentado na Figura 6: Figura 6 – Itens que devem ser gerenciados em uma aplicação Fonte: adaptada de Tuffl ey (2017) As confi gurações apresentadas na Figura 6 devem ser geridas para que suas respectivas alterações possam ser rastreadas, quando necessário. Os itens de confi guração do ambiente, considerados requisitos iniciais da aplicação, devem englobar, por exemplo, o sistema operacional do servidor da aplicação e sua respectiva versão, eventuais bibliotecas ou variáveis de ambiente que precisarão ser confi guradas para o correto funcionamento da aplicação. No que diz respeito à aplicação, os itens que deverão ser gerenciados compreendem seu código fonte, o plano de testes dos requisitos da aplicação, os requisitos mapeados para o software, assim como as versões entregues ao cliente. 28 Figura 7 – Fases macro do processo de gerenciamento das confi gurações Fonte: adaptada de Sommerville (2011) A Figura 7 apresenta os passos macros, ou seja, em nível mais abstrato, do processo de gerenciamento de confi gurações. O primeiro passo será identifi car (ou mapear) os itens de confi guração considerados gerenciáveis, ainda no processo de planejamento ou execução do projeto. Após a identifi cação, os itens deverão ser aplicados em seus respectivos ambientes, como uma versão inicial. Por fi m, é feito o gerenciamento, identifi cando e mantendo o histórico de eventuais alterações, quem fez e quando fez. O processo de gerenciamento das confi gurações é essencialmente importante para manter em funcionamento uma aplicação, tendo em vista que, caso falhas aconteçam após a aplicação de uma alteração em uma confi guração, o comportamento anterior ao momento da falha poderá ser revertido, já que o histórico da confi guração alterada é preservado. A Figura 8 apresenta os tipos de confi guração que podem ser gerenciadas, de acordo com o tipo de servidor e o nível de abstração. Figura 8 – Tipos de confi gurações gerenciáveis Fonte: adaptada de Humble e Farley (2014) 29 A Figura 8 apresenta um resumo dos tipos de configurações que podem ser gerenciáveis nos diferentes tipos de servidores que dão suporte a uma aplicação. Uma aplicação WEB, por exemplo, voltada para a utilização através da Internet, terá os servidores de aplicação, banco de dados (para questão de armazenamento dos dados fornecidos pelos usuários) e de infraestrutura, os quais darão todo suporte indispensável para que a aplicação possa ser publicada na WEB e utilizada com o nível de segurança necessário. Em todos os tipos de servidores, questões de hardware são comuns, sendo necessário que todos possuam as mesmas características
Compartilhar