{"id":9766,"date":"2023-03-31T11:30:00","date_gmt":"2023-03-31T14:30:00","guid":{"rendered":"https:\/\/uds.com.br\/blog\/?p=9766"},"modified":"2024-06-12T16:08:09","modified_gmt":"2024-06-12T19:08:09","slug":"sustentacao-de-sistemas-vantagens-e-como-ter-sucesso","status":"publish","type":"post","link":"https:\/\/uds.com.br\/blog\/sustentacao-de-sistemas-vantagens-e-como-ter-sucesso\/","title":{"rendered":"Sustenta\u00e7\u00e3o de sistemas: custos e modelos de trabalho"},"content":{"rendered":"\n<p>Imagine que o principal software de sua empresa parou de funcionar. Muitos setores e opera\u00e7\u00f5es s\u00e3o interrompidos, certo? Agora pense no quanto um problema como esse leva tempo e dinheiro para ser resolvido. \u00c9 justamente por conta disso que a <strong>sustenta\u00e7\u00e3o de sistemas <\/strong>\u00e9 t\u00e3o importante, pois garante a estabilidade e disponibilidade cont\u00ednua dos softwares ao longo do tempo. Mas, como tudo o que \u00e9 vital e necessita de cuidados, a sustenta\u00e7\u00e3o tem o seu custo, o qual <strong>varia de acordo com os modelos de manuten\u00e7\u00e3o existentes<\/strong>. Continue lendo esse artigo para saber quais s\u00e3o eles e os fatores que influenciam no pre\u00e7o deste servi\u00e7o.<\/p>\n\n\n\n<p>Softwares de baixa qualidade causaram um preju\u00edzo de mais de <strong>US$ 2 trilh\u00f5es<\/strong> para empresas dos Estados Unidos em 2020, segundo a Consortium for Information &amp; Software Quality (CISQ).<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/uds.com.br\/blog\/wp-content\/uploads\/2022\/07\/traco-ok.png\" alt=\"O atributo alt desta imagem est\u00e1 vazio. O nome do arquivo \u00e9 traco-ok.png\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong><strong><strong>O que \u00e9 sustenta\u00e7\u00e3o de sistemas?<\/strong><\/strong><\/strong><\/h2>\n\n\n\n<p>Da mesma forma como um carro precisa de trocas de \u00f3leo, alinhamento de pneus ou at\u00e9 mesmo uma reconstru\u00e7\u00e3o do motor, um produto de software precisa de corre\u00e7\u00f5es semelhantes para garantir o desempenho ideal.<\/p>\n\n\n\n<p>Assim, a <a href=\"https:\/\/uds.com.br\/blog\/sustentacao-de-software-vantagens-e-como-ter-sucesso\/\">sustenta\u00e7\u00e3o de sistemas<\/a> \u00e9 o trabalho de monitoramento e manuten\u00e7\u00e3o que permite a continuidade, disponibilidade e qualidade tecnol\u00f3gica do software ap\u00f3s sua entrega. Esse processo previne e corrige falhas, melhora o desempenho e outros atributos ou adapta o produto a um ambiente modificado.<\/p>\n\n\n\n<p>Em resumo, as principais atividades de sustenta\u00e7\u00e3o abrangem:<\/p>\n\n\n\n<p>\u2022 Atualiza\u00e7\u00e3o de sistemas para atender ao feedback de usu\u00e1rios.<\/p>\n\n\n\n<p>\u2022 Ajustes e garantia de funcionamento de integra\u00e7\u00f5es que o sistema possui.<\/p>\n\n\n\n<p>\u2022 Corre\u00e7\u00f5es de falhas e bugs<\/p>\n\n\n\n<p>\u2022 Manuten\u00e7\u00e3o preventiva ou corretiva em componentes, bibliotecas ou frameworks<\/p>\n\n\n\n<p>\u2022 Monitoramento de incidente<\/p>\n\n\n\n<p>Seguindo com a compara\u00e7\u00e3o mec\u00e2nica, quanto mais voc\u00ea dirige seu carro, mais as coisas se desgastam e precisam ser substitu\u00eddas. Logo, quanto mais complexo ou antigo for o software, mais ele necessita de manuten\u00e7\u00e3o. <strong>\u00c9 a\u00ed que entram tamb\u00e9m os custos e os modelos de sustenta\u00e7\u00e3o<\/strong>, que veremos a seguir.<\/p>\n\n\n<div class=\"wp-block-image is-style-default\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/uds.com.br\/blog\/wp-content\/uploads\/2022\/07\/traco-ok.png\" alt=\"O atributo alt desta imagem est\u00e1 vazio. O nome do arquivo \u00e9 traco-ok.png\"\/><\/figure><\/div>\n\n\n<h2 class=\"wp-block-heading\"><strong><strong>Quais s\u00e3o os modelos de sustenta\u00e7\u00e3o de sistemas?<\/strong><\/strong><\/h2>\n\n\n\n<p>Antes de estimar o custo de sustenta\u00e7\u00e3o de software, primeiro precisamos entender quais s\u00e3o os <strong>modelos de trabalho<\/strong> empregados neste processo. A escolha por determinado modelo depende das necessidades de cada empresa.<\/p>\n\n\n\n<p>Existem 4 tipos de manuten\u00e7\u00e3o: corretiva, adaptativa, perfectiva e preventiva. Veja a seguir em que consiste cada uma delas.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong><strong>1. Manuten\u00e7\u00e3o Corretiva<\/strong><\/strong><\/h3>\n\n\n\n<p>Esse servi\u00e7o elimina os problemas que o programa ou software pode enfrentar <strong>ap\u00f3s sua entrega<\/strong>.<\/p>\n\n\n\n<p>Por exemplo, o usu\u00e1rio n\u00e3o consegue entrar no sistema usando redes sociais ap\u00f3s iniciar o programa. Acontece que existe um c\u00f3digo de autentica\u00e7\u00e3o que est\u00e1 conectado a esta rede social. Este c\u00f3digo tem um defeito e precisa ser atualizado para funcionar corretamente.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong><strong>2. Manuten\u00e7\u00e3o Adapt\u00e1vel<\/strong><\/strong><\/h3>\n\n\n\n<p>\u00c9 aplicada diante da necessidade de <strong>adaptar o produto para um ambiente que foi modificado<\/strong>.&nbsp;<\/p>\n\n\n\n<p>Esse \u00e9 o caso de um software que precisa ser executado em uma nova plataforma ou sistema operacional, atender a novos requisitos de hardware, adaptar-se a algumas novidades em seu ambiente ou combater novas amea\u00e7as \u00e0 seguran\u00e7a.<\/p>\n\n\n\n<p>Por exemplo, os usu\u00e1rios se conectam com sucesso ao sistema por meio de uma rede social, mas depois de alguns dias o problema de login voltou.&nbsp;Depois de analisar o problema, verifica-se que a rede social mudou a forma como eles se autenticam usando sua API; ent\u00e3o, o software precisa ser atualizado para corrigir o problema. Este exemplo apresenta uma altera\u00e7\u00e3o em um sistema de terceiros, portanto pertence especificamente ao grupo de <strong>servi\u00e7os adaptativos.<\/strong><\/p>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong><strong>3. Manuten\u00e7\u00e3o Evolutiva<\/strong><\/strong><\/h3>\n\n\n\n<p>Esse tipo de servi\u00e7o geralmente \u00e9 baseado no <strong>feedback do usu\u00e1rio<\/strong> e visa melhorar o software com a adi\u00e7\u00e3o de novas funcionalidades, melhorar seu desempenho ou at\u00e9 mesmo pela modifica\u00e7\u00e3o do seu c\u00f3digo-fonte, buscando obter melhor legibilidade ou adequa\u00e7\u00e3o a alguns paradigmas de programa\u00e7\u00e3o.&nbsp;<\/p>\n\n\n\n<p>Por exemplo, imagine que n\u00e3o h\u00e1 mais problemas em fazer login usando uma rede social; no entanto, os usu\u00e1rios passam a dizer que surgiu outro problema ou que alguma funcionalidade poderia ser melhorada. Depois de discutir o feedback com os desenvolvedores, o erro \u00e9 corrigido ou a funcionalidade \u00e9 melhorada.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong><strong>4. Manuten\u00e7\u00e3o Preventiva<\/strong><\/strong><\/h3>\n\n\n\n<p>Este conjunto de servi\u00e7os visa identificar e eliminar poss\u00edveis problemas ou defeitos <strong>antes mesmo que eles apare\u00e7am<\/strong>. O trabalho pode incluir otimiza\u00e7\u00e3o de c\u00f3digo em prol da efici\u00eancia ou facilidade de manuten\u00e7\u00e3o ou manter toda a documenta\u00e7\u00e3o atualizada.&nbsp;<\/p>\n\n\n\n<p>Por exemplo, os desenvolvedores fizeram altera\u00e7\u00f5es no software para suportar um aumento no n\u00famero de usu\u00e1rios. Para que o servidor aguente a carga e n\u00e3o trave no pico de acessos, voc\u00ea precisa garantir que ele aguente esse fluxo de usu\u00e1rios com medidas preventivas para evitar falhas e interrup\u00e7\u00f5es.<\/p>\n\n\n<div class=\"wp-block-image is-style-default\">\n<figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" width=\"431\" height=\"433\" src=\"https:\/\/uds.com.br\/blog\/wp-content\/uploads\/2023\/04\/Sustentacao-de-sistemas-custos-e-modelos-de-trabalho-fig1-1.png\" alt=\"\" class=\"wp-image-9782\" style=\"width:476px;height:478px\" srcset=\"https:\/\/uds.com.br\/blog\/wp-content\/uploads\/2023\/04\/Sustentacao-de-sistemas-custos-e-modelos-de-trabalho-fig1-1.png 431w, https:\/\/uds.com.br\/blog\/wp-content\/uploads\/2023\/04\/Sustentacao-de-sistemas-custos-e-modelos-de-trabalho-fig1-1-279x280.png 279w\" sizes=\"(max-width: 431px) 100vw, 431px\" \/><\/figure><\/div>\n\n<div class=\"wp-block-image is-style-default\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/uds.com.br\/blog\/wp-content\/uploads\/2022\/07\/traco-ok.png\" alt=\"O atributo alt desta imagem est\u00e1 vazio. O nome do arquivo \u00e9 traco-ok.png\"\/><\/figure><\/div>\n\n\n<h2 class=\"wp-block-heading has-large-font-size\"><strong><strong><strong>Afinal, quanto custa a sustenta\u00e7\u00e3o?<\/strong><\/strong><\/strong><\/h2>\n\n\n\n<p>Agora que sabemos o que envolve a sustenta\u00e7\u00e3o de sistemas, voc\u00ea pode presumir que podemos realizar a exata estimativa de custos. Infelizmente, n\u00e3o \u00e9 t\u00e3o f\u00e1cil principalmente por dois motivos:<\/p>\n\n\n\n<p>\u2022 N\u00e3o h\u00e1 dois projetos de software totalmente iguais.<\/p>\n\n\n\n<p>\u2022 N\u00e3o h\u00e1 c\u00e1lculo-padr\u00e3o da ind\u00fastria ou uma linha de base para determinar um or\u00e7amento de manuten\u00e7\u00e3o de software adequado.<\/p>\n\n\n\n<p>Especialistas de TI costumam estabelecer o or\u00e7amento com base em uma amostra representativa de escopo e complexidade variados, mas ningu\u00e9m de fato chega a um consenso, mesmo em um n\u00edvel macro, sobre quanto custa uma manuten\u00e7\u00e3o t\u00edpica.<\/p>\n\n\n\n<p>Mas \u00e9 poss\u00edvel determinar uma estimativa com base em alguns <strong>fatores gerais que impactam no or\u00e7amento de um servi\u00e7o de manuten\u00e7\u00e3o<\/strong>, como:<\/p>\n\n\n\n<p>&#8211; O tipo de manuten\u00e7\u00e3o de software (corretiva, adaptativa, preventiva, perfectiva).<\/p>\n\n\n\n<p>&#8211; O tipo de software, sua complexidade, integra\u00e7\u00f5es e customiza\u00e7\u00f5es, etc.<\/p>\n\n\n\n<p>&#8211; Os requisitos de disponibilidade de software.<\/p>\n\n\n\n<p>&#8211; Composi\u00e7\u00e3o, compet\u00eancias e carga de trabalho da equipe de manuten\u00e7\u00e3o.<\/p>\n\n\n\n<p>&#8211; Tempo de trabalho.<\/p>\n\n\n\n<p>&#8211; O n\u00famero de usu\u00e1rios de software.<\/p>\n\n\n<div class=\"wp-block-image is-style-default\">\n<figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" width=\"987\" height=\"300\" src=\"https:\/\/uds.com.br\/blog\/wp-content\/uploads\/2023\/04\/UDS_Tecnologia_-_Sustentacao_de_sistemas_-_tirinha_Dilbert.png\" alt=\"\" class=\"wp-image-9770\" style=\"width:608px;height:185px\" srcset=\"https:\/\/uds.com.br\/blog\/wp-content\/uploads\/2023\/04\/UDS_Tecnologia_-_Sustentacao_de_sistemas_-_tirinha_Dilbert.png 987w, https:\/\/uds.com.br\/blog\/wp-content\/uploads\/2023\/04\/UDS_Tecnologia_-_Sustentacao_de_sistemas_-_tirinha_Dilbert-550x167.png 550w, https:\/\/uds.com.br\/blog\/wp-content\/uploads\/2023\/04\/UDS_Tecnologia_-_Sustentacao_de_sistemas_-_tirinha_Dilbert-768x233.png 768w\" sizes=\"(max-width: 987px) 100vw, 987px\" \/><\/figure><\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/uds.com.br\/blog\/wp-content\/uploads\/2022\/07\/traco-ok.png\" alt=\"O atributo alt desta imagem est\u00e1 vazio. O nome do arquivo \u00e9 traco-ok.png\"\/><\/figure><\/div>\n\n\n<h2 class=\"wp-block-heading has-large-font-size\"><strong><strong>8 fatores que afetam o custo de manuten\u00e7\u00e3o de software<\/strong><\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">#1. Linguagens de programa\u00e7\u00e3o<\/h3>\n\n\n\n<p>Alguns softwares s\u00e3o desenvolvidos em linguagens de programa\u00e7\u00e3o de alto n\u00edvel que s\u00e3o mais f\u00e1ceis de entender e exigem menos manuten\u00e7\u00e3o. Por exemplo, C#, Java, Python, C++, JavaScript, PHP e Ruby requerem menos sustenta\u00e7\u00e3o do que outras. Logo, a linguagem utilizada no seu software impacta muito no seu custo.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><br>#2. Qualidade de c\u00f3digo<\/h3>\n\n\n\n<p>Voc\u00ea pode se surpreender, mas poucas coisas s\u00e3o t\u00e3o dif\u00edceis quanto desenrolar um colar cheio de n\u00f3s. E por que ele enrola? Simplesmente porque foi guardado de qualquer jeito, sem seguir a pr\u00e1tica b\u00e1sica de ser pendurado quando fora de uso. Acredite, o trabalho de retirada de n\u00f3s \u00e9 t\u00e3o \u00e1rduo que muitas vezes as pessoas levam a j\u00f3ia a um ourives.<\/p>\n\n\n<div class=\"wp-block-image is-style-default\">\n<figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" width=\"740\" height=\"371\" src=\"https:\/\/uds.com.br\/blog\/wp-content\/uploads\/2023\/04\/Sustentacao-de-sistemas-custos-e-modelos-de-trabalho-fig2.jpg\" alt=\"\" class=\"wp-image-9771\" style=\"width:370px;height:186px\" srcset=\"https:\/\/uds.com.br\/blog\/wp-content\/uploads\/2023\/04\/Sustentacao-de-sistemas-custos-e-modelos-de-trabalho-fig2.jpg 740w, https:\/\/uds.com.br\/blog\/wp-content\/uploads\/2023\/04\/Sustentacao-de-sistemas-custos-e-modelos-de-trabalho-fig2-550x276.jpg 550w\" sizes=\"(max-width: 740px) 100vw, 740px\" \/><\/figure><\/div>\n\n\n<p>&nbsp;<\/p>\n\n\n\n<p>A mesma coisa acontece com <strong>um c\u00f3digo sujo e bagun\u00e7ado<\/strong>, cheio de c\u00f3pias e trechos desnecess\u00e1rios. Ser\u00e1 muito mais trabalhoso limp\u00e1-lo e mant\u00ea-lo (ou at\u00e9 mesmo compreend\u00ea-lo).<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Veja a seguir como manter a qualidade de c\u00f3digo&nbsp;<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">\u25fe <strong>Clean Code<\/strong><\/h4>\n\n\n\n<p>Um c\u00f3digo simples e limpo facilita a sua compreens\u00e3o e leitura para que outros desenvolvedores possam atualiz\u00e1-lo e torn\u00e1-lo escal\u00e1vel. O movimento de simplicidade de c\u00f3digo anda de m\u00e3os dadas com outros princ\u00edpios de software, como KISS (\u201cKeep It Simple, Stupid!\u201d), DRY (\u201cDon\u2019t Repeat Yourself\u201d) e YAGNI (\u201cYou Aren\u2019t Gonna Need It\u201d).<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u25fe <strong>Teste cont\u00ednuo de ponta a ponta<\/strong><\/h4>\n\n\n\n<p>O Test Driven Development (TDD) d\u00e1 mais confian\u00e7a em rela\u00e7\u00e3o \u00e0 qualidade do c\u00f3digo. Por outro lado, o Behavior Driven Development (BDD) permite que voc\u00ea aprenda os recursos e requisitos diretamente do cliente e <strong>esse alinhamento se<\/strong> <strong>traduz em c\u00f3digo mais pr\u00f3ximo das necessidades dos usu\u00e1rios<\/strong>. O teste de integra\u00e7\u00e3o total garante que todos os componentes funcionem juntos conforme o esperado e aumenta a cobertura do c\u00f3digo.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u25fe Guia de estilo<\/strong><\/h4>\n\n\n\n<p>Ao trabalhar em equipe, \u00e9 importante ter um guia de estilo de escrita consistente para sua base de c\u00f3digo. Se voc\u00ea n\u00e3o sabe dizer quem escreveu o c\u00f3digo em um arquivo espec\u00edfico, n\u00e3o h\u00e1 consist\u00eancia entre os autores. As inconsist\u00eancias t\u00eam impactos negativos na qualidade do sistema e s\u00e3o caras para corrigir.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u25fe <strong>Revis\u00e3o do c\u00f3digo<\/strong><\/h4>\n\n\n\n<p>Revis\u00f5es de c\u00f3digo ajudam a reduzir bugs no produto. Reconhecer a possibilidade de imperfei\u00e7\u00f5es \u00e9 o primeiro passo para aceitar a import\u00e2ncia da revis\u00e3o de c\u00f3digo por outro colega, que pode ajudar a \u201cpescar\u201d erros e imperfei\u00e7\u00f5es e garantir a qualidade final do c\u00f3digo. Afinal, todo mundo comete erros.<\/p>\n\n\n\n<p>Leia tamb\u00e9m:<br><a href=\"https:\/\/uds.com.br\/blog\/boas-praticas-em-arquitetura-de-software\/\">Boas pr\u00e1ticas em arquitetura de software<\/a><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u25fe <strong>Desempenho e qualidade&nbsp;<\/strong><\/h4>\n\n\n\n<p>Nossa equipe monitora o desempenho e a qualidade do seu aplicativo em cada etapa do desenvolvimento, verificando a usabilidade e velocidade atrav\u00e9s de ferramentas de an\u00e1lise durante o processo de compila\u00e7\u00e3o. Sem uma abordagem eficiente de otimiza\u00e7\u00e3o, n\u00e3o haver\u00e1 desempenho e qualidade, aspectos cr\u00edticos para n\u00f3s.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">#3. Qualidade da Arquitetura do Software<\/h3>\n\n\n\n<p>A <a href=\"https:\/\/uds.com.br\/blog\/qualidade-de-software\/\">qualidade<\/a> deve ser a prioridade n\u00famero um durante todo o processo de desenvolvimento. Quanto mais cedo se determinar os erros, mais r\u00e1pido, mais f\u00e1cil e mais barato ser\u00e1 para corrigi-los.<\/p>\n\n\n\n<p>Em outras palavras, o custo para reparar falhas nos sistemas vai aumentando conforme o ciclo de desenvolvimento do software vai atingindo seu final. Portanto, a<strong> avalia\u00e7\u00e3o qualitativa da arquitetura<\/strong> pode prever problemas no software antes dele ser finalizado, o que tende a diminuir o custo de adequa\u00e7\u00e3o do sistema aos padr\u00f5es de qualidade.<\/p>\n\n\n\n<p>Por isso, a padroniza\u00e7\u00e3o de um processo para <strong>a avalia\u00e7\u00e3o arquitetural pode reduzir o custo na produ\u00e7\u00e3o<\/strong>, pois \u00e9 poss\u00edvel detectar e reparar problemas em fases iniciais do ciclo de vida.<\/p>\n\n\n\n<p>H\u00e1 uma s\u00e9rie de processos e infraestruturas que caracterizam uma arquitetura de software bem feita, tais como microsservi\u00e7os, serverless, codeless, IaaS, TDD (Test-Driven Development, Desenvolvimento Orientado a Testes), BDD (Behavior Driven Development, Desenvolvimento Orientado a Comportamento), Integration Patterns, Arquitetura Evolutiva, Design System e outras boas pr\u00e1ticas.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">#4. Documenta\u00e7\u00e3o<\/h3>\n\n\n\n<p>\u00c9 f\u00e1cil perceber que <strong>ter os requisitos do software detalhados<\/strong> faz com que as pessoas saibam como ele deve funcionar, sem precisar perder tempo vasculhando o c\u00f3digo-fonte. Assim, a documenta\u00e7\u00e3o \u00e9 uma forma de evitar retrabalho e conseguir fazer mais em menos tempo, facilitando a manuten\u00e7\u00e3o e a evolu\u00e7\u00e3o do software.&nbsp;<\/p>\n\n\n\n<p>Embora isso pare\u00e7a \u00f3bvio, \u00e9 fato que uma das maiores dores dos desenvolvedores s\u00e3o as documenta\u00e7\u00f5es incompletas, desatualizadas e com pouca legibilidade. <\/p>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Em s\u00edntese, uma boa documenta\u00e7\u00e3o:<\/strong><\/h3>\n\n\n\n<p>\u2022 <strong>\u00c9 a fonte de informa\u00e7\u00e3o do software<\/strong>, com todas as opera\u00e7\u00f5es e informa\u00e7\u00f5es necess\u00e1rias, trechos de c\u00f3digo, diagramas, defini\u00e7\u00f5es de requisitos, bugs, especifica\u00e7\u00f5es do sistema, componentes, plano de testes, tudo o que se julgar necess\u00e1rio.<\/p>\n\n\n\n<p>\u2022 Deve ter <strong>informa\u00e7\u00f5es corretas e atualizadas <\/strong>sobre o sistema de software e seus processos relacionados, para que possa apoiar o time nas etapas de desenvolvimento, compreens\u00e3o e manuten\u00e7\u00e3o de c\u00f3digo.<\/p>\n\n\n\n<p>\u2022 Ser <strong>o hist\u00f3rico de desenvolvimento do software,<\/strong> que servir\u00e1 de base para novos desenvolvedores se situarem, ver o que j\u00e1 foi feito e evoluir a partir disso.<\/p>\n\n\n\n<p>\u2022 <strong>Cont\u00e9m um Reposit\u00f3rio de Design System<\/strong>, uma cole\u00e7\u00e3o de componentes e refer\u00eancias sobre front-end\/UI padronizados e reutiliz\u00e1veis para determinado produto, site ou sistema. Geralmente, ele cont\u00e9m um guia de estilo, uma biblioteca de componentes e uma biblioteca de padr\u00f5es e diretrizes visuais.&nbsp;<\/p>\n\n\n\n<p>Com tudo isso definido e documentado, \u00e9 muito mais f\u00e1cil compor novas features ou altera\u00e7\u00f5es, o que <strong>acelera exponencialmente o processo de manuten\u00e7\u00e3o<\/strong>, aumenta a coes\u00e3o do software e evita que novas funcionalidades sejam desenvolvidas fora dos padr\u00f5es estabelecidos.<br><br>\u261d\ufe0f Voc\u00ea pagar\u00e1 menos custos de manuten\u00e7\u00e3o se a documenta\u00e7\u00e3o de software for clara e correta. Mas, se a documenta\u00e7\u00e3o n\u00e3o for adequada, haver\u00e1 muitas falhas e isso afetar\u00e1 ainda mais o custo de sustenta\u00e7\u00e3o do software.<br><br>\u261d\ufe0f Ter os requisitos do software detalhados faz com que as pessoas saibam como ele deve funcionar sem precisar perder tempo examinando o c\u00f3digo-fonte.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">#5. Plataformas e tecnologias utilizadas<\/h3>\n\n\n\n<p>Quanto mais baixa \u00e9 a complexidade de plataformas e tecnologias utilizadas, mais a manuten\u00e7\u00e3o do software \u00e9 mais barata e f\u00e1cil. Por exemplo, um software web simples certamente tem um custo de manuten\u00e7\u00e3o menor que um ecossistema com back-office e necessidade de integra\u00e7\u00f5es. Quando a manuten\u00e7\u00e3o precisa ser feita em diferentes lugares, e eventualmente esses ambientes s\u00e3o desenvolvidos em diferentes tecnologias (exigindo diferentes tipos de profissionais, tais complexidades aumentam o custo do servi\u00e7o.<\/p>\n\n\n\n<p><strong>Leia tamb\u00e9m:&nbsp;<\/strong><\/p>\n\n\n\n<p><a href=\"https:\/\/uds.com.br\/blog\/o-que-e-gestao-de-riscos-em-projetos-de-desenvolvimento-de-software\/\">Gest\u00e3o de riscos em projetos de Desenvolvimento de Software<br><\/a><a href=\"https:\/\/uds.com.br\/blog\/boas-praticas-de-desenvolvimento-de-software\/\">As 5 boas pr\u00e1ticas de desenvolvimento de software<br><\/a><a href=\"https:\/\/uds.com.br\/blog\/erros-no-projeto-de-software-que-devem-ser-evitados\/\">11 Erros no projeto de software que devem ser evitados<\/a><br><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">#6. Equipe<\/h3>\n\n\n\n<p>\u00c9 aconselh\u00e1vel contratar desenvolvedores de software em <strong>per\u00edodo parcial<\/strong> <strong>ou por hora<\/strong>, que possam ajud\u00e1-lo com a manuten\u00e7\u00e3o oportuna do software, ou uma <a href=\"https:\/\/uds.com.br\/blog\/como-escolher-empresa-de-desenvolvimento-de-software\/\">empresa<\/a> especializada em desenvolvimento. Lembrando que o tamanho da equipe contratada vai variar de acordo com as tecnologias necess\u00e1rias e a quantidade de atividades. <\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><a href=\"https:\/\/uds.com.br\/contato\/\"><img decoding=\"async\" width=\"700\" height=\"120\" src=\"https:\/\/uds.com.br\/blog\/wp-content\/uploads\/2022\/11\/OUTSOURCING-DE-TI.png?_t=1711564141\" alt=\"Outsourcing de TI UDS.\" class=\"wp-image-13571\" style=\"width:840px;height:auto\"\/><\/a><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">#7. Escopo de atividades<\/h3>\n\n\n\n<p>Um bom escopo \/<strong>backlog inicial<\/strong> se reflete em pouca manuten\u00e7\u00e3o, pois haver\u00e1 menos necessidade de altera\u00e7\u00f5es. Esse escopo das atividades de suporte e manuten\u00e7\u00e3o leva em conta fatores como: infraestrutura relacionada ao software, novos recursos, corre\u00e7\u00f5es e evolu\u00e7\u00f5es do software, entre outras a\u00e7\u00f5es que j\u00e1 vimos aqui. Quanto menos atividades, menos esfor\u00e7o de tempo e trabalho, logo, menor ser\u00e1 o custo.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">#8. Estabilidade de hardware<\/h3>\n\n\n\n<p>Se voc\u00ea escolheu um hardware est\u00e1vel que n\u00e3o mudar\u00e1 t\u00e3o cedo (embarcado ou em dispositivos de IoT, por exemplo), o custo de manuten\u00e7\u00e3o ser\u00e1 reduzido a zero.&nbsp;<\/p>\n\n\n\n<p>Normalmente, a maioria dos softwares que est\u00e1 em cloud \u00e9 est\u00e1vel. Mas a regra geral diz que, quando o software fica desatualizado, \u00e9 preciso trocar o hardware original, e essa convers\u00e3o vai demandar custos de manuten\u00e7\u00e3o do software.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Dicas para ajudar a estimar os custos de manuten\u00e7\u00e3o<\/h2>\n\n\n\n<p><strong>\u2022 Defina o escopo \/<\/strong><strong> backlog inicial<\/strong> de sustenta\u00e7\u00e3o, ou seja: quais atividades precisam ser desempenhadas?<\/p>\n\n\n\n<p><strong>\u2022 Identifique em quais plataformas e tecnologias<\/strong> as atividades devem ser realizadas, por exemplo, caso seja um aplicativo integrado a um sistema web, \u00e9 necess\u00e1rio saber em quais linguagens de programa\u00e7\u00e3o ambos est\u00e3o desenvolvidos.. Isso ajudar\u00e1 o fornecedor da manuten\u00e7\u00e3o de software a identificar quais profissionais devem fazer o trabalho.<\/p>\n\n\n\n<p><strong>\u2022 Identifique junto a seu fornecedor qual ser\u00e1 a equipe<\/strong> necess\u00e1ria para sustentar o software considerando o escopo que foi levantado e as linguagens de programa\u00e7\u00e3o nas quais ele est\u00e1 desenvolvido.<\/p>\n\n\n\n<p><strong>\u2022 Certifique-se de qual ser\u00e1 a disponibilidade dos profissionais<\/strong> da sustenta\u00e7\u00e3o: integral ou parcial. Ou seja, se tais profissionais far\u00e3o a manuten\u00e7\u00e3o do seu software em tempo integral ou se atuar\u00e3o em diferentes projetos do fornecedor, sem dedica\u00e7\u00e3o total ao seu sistema.<\/p>\n\n\n\n<p><strong>\u2022 Combine o modelo de trabalho<\/strong>, ou seja, quais ser\u00e3o as etapas da presta\u00e7\u00e3o do servi\u00e7o e quem ser\u00e1 respons\u00e1vel por solicitar, detalhar e aprovar atividades realizadas pela equipe.<\/p>\n\n\n\n<p><strong>\u2022 Fa\u00e7a um acordo sobre o tipo de precifica\u00e7\u00e3o<\/strong> do fornecedor da manuten\u00e7\u00e3o. Neste outro artigo explicamos as diferentes formas de contratar desenvolvimento de software, incluindo valor por hora de trabalho e squad fee.&nbsp;<\/p>\n\n\n\n<p><strong>\u2022 Saiba quais ser\u00e3o os processos e ferramentas <\/strong>que o fornecedor adotar\u00e1 para garantir estimativas de trabalho, cumprimento de prazos e garantia de qualidade do seu software.<\/p>\n\n\n\n<p><strong>\u2022 Mantenha uma comunica\u00e7\u00e3o transparente e com feedbacks <\/strong>junto ao seu fornecedor. \u00c9 natural que equipes de tecnologia tenham uma curva de aprendizado para lidar com a manuten\u00e7\u00e3o de um software. <strong>Um bom fornecedor trabalhar\u00e1 com melhoria cont\u00ednua<\/strong> para garantir que tal equipe seja mais produtiva a cada nova atividade que realizar. Por isso, \u00e9 fundamental ter uma comunica\u00e7\u00e3o clara e transparente visando garantir um time engajado na manuten\u00e7\u00e3o do seu software.<\/p>\n\n\n\n<figure class=\"wp-block-image is-style-default\"><img decoding=\"async\" src=\"https:\/\/uds.com.br\/blog\/wp-content\/uploads\/2022\/07\/traco-ok.png\" alt=\"O atributo alt desta imagem est\u00e1 vazio. O nome do arquivo \u00e9 traco-ok.png\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Calculando o custo aproximado de profissionais para a sustenta\u00e7\u00e3o<\/h2>\n\n\n\n<p>At\u00e9 mesmo empresas com estrutura tecnol\u00f3gica robusta t\u00eam dificuldades em sustentar seus sistemas, j\u00e1 que isso pode demandar uma equipe dedicada.<\/p>\n\n\n\n<p>\u00c9 por isso que <a href=\"https:\/\/uds.com.br\/blog\/quanto-custa-alocacao-de-squad-de-ti\/\"><strong>alocar squads<\/strong><\/a> de profissionais especializados pode ser uma boa sa\u00edda para garantir a sustenta\u00e7\u00e3o de um software de maneira inteligente.<\/p>\n\n\n\n<p>Mas quanto custam esses profissionais? Veja a seguir.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong><br><\/strong><strong>Como s\u00e3o calculados os custos de aloca\u00e7\u00e3o de Squad de TI?<\/strong><\/h3>\n\n\n\n<p>Normalmente, a aloca\u00e7\u00e3o da squad de TI \u00e9 calculada de duas formas:<strong><br>1. Por hora trabalhada:<\/strong><\/p>\n\n\n\n<p>\u2022 Cada profissional da squad tem um valor por hora trabalhada, levando em conta sua \u00e1rea de atua\u00e7\u00e3o e experi\u00eancia (senioridade).<\/p>\n\n\n\n<p>\u2022 As horas trabalhadas em cada tarefa s\u00e3o contabilizadas com a ajuda de ferramentas.<\/p>\n\n\n\n<p>\u2022 Ao final de cada sprint ou de cada m\u00eas, o total de horas contabilizadas de cada profissional \u00e9 multiplicado pelo valor da sua hora de trabalho.<\/p>\n\n\n\n<p>\u2022 O total ser\u00e1 o valor a ser pago pelo cliente.<\/p>\n\n\n\n<p>\u2022 A aloca\u00e7\u00e3o de um profissional s\u00eanior pode variar de R$ 159 a R$ 195 a hora.<\/p>\n\n\n\n<p>Esse modelo de contrata\u00e7\u00e3o permite que o cliente contrate <strong>mais ou menos horas de cada profissional de acordo com a sua necessidade<\/strong>, pagando apenas por aquilo que realmente utilizou.<\/p>\n\n\n\n<p><strong><br><\/strong><strong>2. Squad fee ou fee mensal<\/strong><\/p>\n\n\n\n<p>\u2022 A squad tem um <strong>valor fixo<\/strong> a ser pago pelo cliente mensalmente ou a cada sprint.<\/p>\n\n\n\n<p>\u2022 Esse valor \u00e9 baseado na <strong>quantidade de profissionais e experi\u00eancia<\/strong>, assim como o tempo em que esses profissionais v\u00e3o trabalhar na squad.<\/p>\n\n\n\n<p>\u2022 Tempo integral (180h mensais) ou tempo parcial (de 44h a 88h mensais).A vantagem desse modelo \u00e9 que, caso alguns profissionais trabalhem algumas horas a mais ou a menos, essa diferen\u00e7a <strong>n\u00e3o ser\u00e1 computada<\/strong>. O cliente paga para ter o time dispon\u00edvel em tempo integral, independente das horas trabalhadas em cada tarefa.<\/p>\n\n\n\n<figure class=\"wp-block-image is-style-default\"><img decoding=\"async\" src=\"https:\/\/uds.com.br\/blog\/wp-content\/uploads\/2022\/07\/traco-ok.png\" alt=\"O atributo alt desta imagem est\u00e1 vazio. O nome do arquivo \u00e9 traco-ok.png\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading has-large-font-size\"><strong><strong><strong>Pap\u00e9is espec\u00edficos mais comuns em equipes de sustenta\u00e7\u00e3o de software:<\/strong><\/strong><\/strong><\/h3>\n\n\n\n<p><strong>Scrum Master: <\/strong>certifica-se de que a equipe esteja trabalhando bem em conjunto e siga as pr\u00e1ticas do Agile, zelando pelo cumprimento de cerim\u00f4nias e desimpedimento do time.&nbsp;<\/p>\n\n\n\n<p><strong>Team Leader: <\/strong>lidera e gerencia a equipe, incluindo a atribui\u00e7\u00e3o de tarefas, acompanhamento de desempenho e avalia\u00e7\u00e3o de resultados. \u00c9 quem fornece orienta\u00e7\u00e3o, feedback e solu\u00e7\u00f5es para problemas que possam surgir.<\/p>\n\n\n\n<p><strong>Tech Lead:<\/strong> respons\u00e1vel pelo trabalho da equipe t\u00e9cnica. Ele remove impedimentos, aloca especialistas de um sistema para outro (quando necess\u00e1rio), coordena e esclarece quem s\u00e3o os respons\u00e1veis por qual sistema no per\u00edodo.<br><br><strong>DevOps: <\/strong>a sua fun\u00e7\u00e3o \u00e9 criar um ambiente de colabora\u00e7\u00e3o mais eficiente entre as equipes de desenvolvimento e opera\u00e7\u00f5es, para que os aplicativos possam ser desenvolvidos, testados e implantados de forma r\u00e1pida, segura e confi\u00e1vel.<\/p>\n\n\n\n<p><strong>Desenvolvedores: <\/strong>s\u00e3o respons\u00e1veis por&nbsp; desenvolver as funcionalidades&nbsp; do produto conforme previsto pelo Product Owner e UX Designer, utilizando as linguagens de programa\u00e7\u00e3o definidas para o projeto de acordo com o seu escopo. <strong><br><\/strong><strong><br><\/strong><strong>Analista de Qualidade<\/strong> (QA): \u00e9 o respons\u00e1vel pela execu\u00e7\u00e3o de testes no produto que ser\u00e1 entregue ao cliente e pelas demais atividades e procedimentos que ajudem a garantir a qualidade deste.<br><strong><br><\/strong><strong>UX e UI Designers: <\/strong>compreende os perfis, comportamentos e necessidades dos usu\u00e1rios para projetar as melhores interfaces e experi\u00eancias de uso.<strong><br><\/strong><strong><br><\/strong><strong>Analista de Requisitos:<\/strong> \u00e9 a pessoa respons\u00e1vel por coletar, analisar, documentar e validar os requisitos de um sistema, software ou projeto. O objetivo \u00e9 entender as necessidades do cliente e transform\u00e1-las em requisitos claros, concisos e espec\u00edficos que possam ser compreendidos pelos desenvolvedores e equipes envolvidas no projeto.<\/p>\n\n\n\n<p><strong>Product Owner (PO):<\/strong> \u00e9 dele o papel de decis\u00e3o sobre a sele\u00e7\u00e3o dos itens que ser\u00e3o priorizados. Desse modo, o PO tem um papel de forte comunica\u00e7\u00e3o e resolu\u00e7\u00e3o de conflitos entre clientes e tamb\u00e9m entre a equipe t\u00e9cnica.<\/p>\n\n\n\n<p>Nem todos estes pap\u00e9is desempenham fun\u00e7\u00f5es em todos os sistemas e nem todos eles precisam ser executados exclusivamente por uma pessoa. Isso depende do contexto e da quantidade de pessoas na equipe.<\/p>\n\n\n\n<p><strong>Vamos fazer uma simula\u00e7\u00e3o?<\/strong><\/p>\n\n\n\n<p>\u21aa <strong>580h<\/strong> de capacidade produtiva mensal.<br>\u21aa Valor vari\u00e1vel entre R$ 75 mil e R$ 83 mil (de acordo com a senioridade).<\/p>\n\n\n\n<p>No final de cada m\u00eas, o total de horas contabilizadas de cada profissional \u00e9 multiplicado pelo valor da sua hora de trabalho. O total ser\u00e1 o <strong>valor fixo<\/strong> a ser pago pelo cliente.<\/p>\n\n\n\n<figure class=\"wp-block-image is-style-default\"><img decoding=\"async\" src=\"https:\/\/uds.com.br\/blog\/wp-content\/uploads\/2022\/07\/traco-ok.png\" alt=\"O atributo alt desta imagem est\u00e1 vazio. O nome do arquivo \u00e9 traco-ok.png\"\/><\/figure>\n\n\n\n<p class=\"has-large-font-size\"><strong>Investir na manuten\u00e7\u00e3o de sistemas \u00e9 vital para a satisfa\u00e7\u00e3o dos clientes<\/strong><\/p>\n\n\n\n<p>A sustenta\u00e7\u00e3o de sistemas \u00e9 um processo essencial para o sucesso do seu neg\u00f3cio. \u00c9 por meio dela que voc\u00ea garante a qualidade do seu produto e mant\u00e9m os clientes satisfeitos. Mas, mesmo com todos os cuidados, com o tempo, falhas e problemas de desempenho podem come\u00e7ar a ocorrer.<\/p>\n\n\n\n<p>Por todos esses desafios, terceirizar a sustenta\u00e7\u00e3o de software tem sido uma das sa\u00eddas adotadas por empresas de diferentes portes. Empresas especializadas em desenvolvimento e sustenta\u00e7\u00e3o de sistemas oferecem apoio do in\u00edcio ao fim para cumprir as demandas e necessidades de um projeto mesmo ap\u00f3s o lan\u00e7amento do produto.<\/p>\n\n\n\n<p>Se voc\u00ea deseja evitar o desperd\u00edcio de recursos e garantir que a manuten\u00e7\u00e3o do seu software atenda ao m\u00e1ximo \u00e0s necessidades de seus usu\u00e1rios e neg\u00f3cios, considere o suporte de uma empresa confi\u00e1vel.<\/p>\n\n\n\n<p><strong>Quer saber como a UDS pode te ajudar? Preencha o formul\u00e1rio abaixo e fale com um especialista.<\/strong><\/p>\n\n\n\n<div role=\"main\" id=\"blog-geral-formulario-0dd82b00a8ed9583d745\"><\/div><script type=\"text\/javascript\" src=\"https:\/\/d335luupugsy2.cloudfront.net\/js\/rdstation-forms\/stable\/rdstation-forms.min.js\"><\/script><script type=\"text\/javascript\"> new RDStationForms('blog-geral-formulario-0dd82b00a8ed9583d745', 'UA-92829983-1').createForm();<\/script>\n\n","protected":false},"excerpt":{"rendered":"<p>Imagine que o principal software de sua empresa parou de funcionar. Muitos setores e opera\u00e7\u00f5es s\u00e3o interrompidos, certo? Agora pense no quanto um problema como esse leva tempo e dinheiro para ser resolvido. \u00c9 justamente por conta disso que a sustenta\u00e7\u00e3o de sistemas \u00e9 t\u00e3o importante, pois garante a estabilidade e disponibilidade cont\u00ednua dos softwares [&hellip;]<\/p>\n","protected":false},"author":18,"featured_media":9774,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[864,986],"tags":[],"yst_prominent_words":[],"_links":{"self":[{"href":"https:\/\/uds.com.br\/blog\/wp-json\/wp\/v2\/posts\/9766"}],"collection":[{"href":"https:\/\/uds.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/uds.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/uds.com.br\/blog\/wp-json\/wp\/v2\/users\/18"}],"replies":[{"embeddable":true,"href":"https:\/\/uds.com.br\/blog\/wp-json\/wp\/v2\/comments?post=9766"}],"version-history":[{"count":0,"href":"https:\/\/uds.com.br\/blog\/wp-json\/wp\/v2\/posts\/9766\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/uds.com.br\/blog\/wp-json\/wp\/v2\/media\/9774"}],"wp:attachment":[{"href":"https:\/\/uds.com.br\/blog\/wp-json\/wp\/v2\/media?parent=9766"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/uds.com.br\/blog\/wp-json\/wp\/v2\/categories?post=9766"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/uds.com.br\/blog\/wp-json\/wp\/v2\/tags?post=9766"},{"taxonomy":"yst_prominent_words","embeddable":true,"href":"https:\/\/uds.com.br\/blog\/wp-json\/wp\/v2\/yst_prominent_words?post=9766"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}