{"id":561,"date":"2014-11-19T11:42:47","date_gmt":"2014-11-19T13:42:47","guid":{"rendered":"http:\/\/efagundes.com\/itgov\/?p=561"},"modified":"2016-09-03T07:37:54","modified_gmt":"2016-09-03T10:37:54","slug":"qual-a-melhor-formacao-de-uma-equipe-de-desenvolvimento-de-software","status":"publish","type":"post","link":"https:\/\/efagundes.com\/artigos\/qual-a-melhor-formacao-de-uma-equipe-de-desenvolvimento-de-software\/","title":{"rendered":"Qual a melhor forma\u00e7\u00e3o de uma equipe de desenvolvimento de software?"},"content":{"rendered":"<p>S\u00e3o muitos os desafios para desenvolver softwares com efici\u00eancia, atendendo as exig\u00eancias dos clientes e press\u00e3o dos gerentes internos e, para fornecedores, das equipes de vendas. As estimativas de tempo e custo de projetos de software s\u00e3o impactadas pelas mudan\u00e7as de especifica\u00e7\u00e3o durante o projeto, pela escassez de recursos e, muitas vezes, pela falta de habilidade de negocia\u00e7\u00e3o dos desenvolvedores em estabelecer prazos realistas ou se submeterem as press\u00f5es dos clientes e gerentes. Dependendo da maturidade da equipe de desenvolvimento de software e do projeto a ser desenvolvido muda o perfil da equipe de desenvolvimento.<\/p>\n<p>Toda a constru\u00e7\u00e3o de um novo software enfrenta o desafio de altera\u00e7\u00f5es durante a fase de desenvolvimento. A fase de especifica\u00e7\u00e3o de requisitos \u00e9 onde se definem as regras de neg\u00f3cios para a codifica\u00e7\u00e3o do software. Nessa fase, para novos neg\u00f3cios, existem muitas incertezas sobre como operacionalizar os processos para atingir os objetivos do neg\u00f3cio. Usar uma abordagem interativa de desenvolvimento com a constru\u00e7\u00e3o de prot\u00f3tipos ajuda tanto os desenvolvedores como os clientes a convergir para uma especifica\u00e7\u00e3o mais robusta e precisa.<\/p>\n<p>Essa dificuldade \u00e9 minimizada quando os processos j\u00e1 existem e est\u00e3o validados pelas \u00e1reas de neg\u00f3cios. Nesse caso, o papel do desenvolvedor de software \u00e9 de apenas automatizar esses processos para melhorar o desempenho operacional. Se essa automa\u00e7\u00e3o for realizada por um sistema integrado (ERP) as tarefas de implanta\u00e7\u00e3o devem ser repetitivas e padronizadas. Desta forma, \u00e9 poss\u00edvel definir prazos e custos com mais exatid\u00e3o.<\/p>\n<p>Como vimos existem, simplificando, dois casos t\u00edpicos de desenvolvimento de software: um a partir do zero para implantar um novo neg\u00f3cio e outro para automatizar processos existentes. A forma\u00e7\u00e3o e perfil de uma equipe de software ir\u00e1 depender da complexidade do desenvolvimento e do n\u00edvel de maturidade e metodologia aplicada no projeto.<\/p>\n<p>Simplificando, o desenvolvimento de software tem cinco fases: Requisitos, Projeto, Codifica\u00e7\u00e3o, Testes e Produ\u00e7\u00e3o. A experi\u00eancia mostra que voltar uma fase para refazer uma tarefa pode custar at\u00e9 10 vezes o valor investido naquela tarefa.<\/p>\n<p>As fases mais cr\u00edticas s\u00e3o a de levantamento de requisitos e elabora\u00e7\u00e3o do projeto. Essas fases definem a arquitetura do sistema, incluindo a arquitetura de dados e regras de neg\u00f3cios. O desafio, al\u00e9m da correta especifica\u00e7\u00e3o e aprova\u00e7\u00e3o do cliente, \u00e9 descrev\u00ea-las de tal forma que n\u00e3o crie erros de interpreta\u00e7\u00e3o por parte dos programadores e equipes de testes. Nessas fases, a equipe deve contar com analistas experientes e, modelos e ferramentas que ajudem a desenvolver uma especifica\u00e7\u00e3o eficiente.<\/p>\n<p>A fase de codifica\u00e7\u00e3o \u00e9 onde se pode ganhar muito em efici\u00eancia se utilizarmos processos de desenvolvimento definidos e com m\u00e9tricas de desempenho. Al\u00e9m, \u00e9 claro, de uma eficiente gest\u00e3o de projetos. Aqui se aplica o conceito de f\u00e1brica de software.<\/p>\n<p>A fase de testes, que cada vez mais aumenta sua relev\u00e2ncia em projetos de software, deve garantir que os softwares desenvolvidos est\u00e3o em conformidade com as especifica\u00e7\u00f5es e n\u00e3o apresentam problemas de constru\u00e7\u00e3o. Existem t\u00e9cnicas j\u00e1 consolidadas no mercado para a realiza\u00e7\u00e3o desses testes e existem at\u00e9 empresas especializadas nessa \u00e1rea.<\/p>\n<p>A fase de produ\u00e7\u00e3o \u00e9 onde o software executa e servindo aos clientes. Ou seja, \u00e9 onde os benef\u00edcios esperados pelo projeto se concretizam. Os softwares podem ser executados em data centers locais ou ambiente Cloud Computing de fornecedores especializados.<\/p>\n<p>A implanta\u00e7\u00e3o de um ERP, a princ\u00edpio, segue todas as fases. Como o software j\u00e1 foi desenvolvido o desafio \u00e9 parametriza-lo para atender as caracter\u00edsticas de neg\u00f3cio do cliente. Quando mais o cliente concordar em adotar as pr\u00e1ticas de neg\u00f3cios definidas pelo ERP menor ser\u00e1 o esfor\u00e7o de implanta\u00e7\u00e3o e a necessidade de pessoal especializado, resultando em menores custos e prazos definidos com mais exatid\u00e3o.<\/p>\n<p>Um dos fatores que encarece um projeto de software \u00e9 a contrata\u00e7\u00e3o de especialistas \u201ctop\u201d com anos de experi\u00eancia. Muitas vezes um projeto atrasa devido \u00e0 falta de pessoal para executar as tarefas de uma fase, seja por escassez no mercado ou pela rotatividade de pessoal. A falha na defini\u00e7\u00e3o dos requisitos e projeto de software, que gera retrabalhos, impacto no custo e prazo. Falhas na gest\u00e3o de projeto e aus\u00eancia de ferramentas de produtividade tamb\u00e9m s\u00e3o respons\u00e1veis por atrasos e estouros no or\u00e7amento do projeto.<\/p>\n<p>O desafio do gerente de software \u00e9 equilibrar a contrata\u00e7\u00e3o de especialistas \u201ctop\u201d com processos repetitivos e definidos que possibilitem a contrata\u00e7\u00e3o de pessoal com menor qualifica\u00e7\u00e3o.<\/p>\n<p>A forma\u00e7\u00e3o de uma equipe ideal \u00e9 quando podemos contratar 10% de especialistas \u201ctop\u201d, ter modelos e ferramentas eficientes de desenvolvimento, ter processos definidos e com m\u00e9tricas de desempenho, ter a equipe completa e sem rotatividade, e os requisitos do projeto aprovados j\u00e1 no in\u00edcio de cada fase.<\/p>\n<p>Uma equipe eficiente \u00e9 composta por 25% de especialistas \u201ctop\u201d, gerenciamento de projeto competente, pessoal dispon\u00edvel quando necess\u00e1rio com baixa rotatividade, altera\u00e7\u00f5es de at\u00e9 5% nos requisitos iniciais e, modelos e ferramentas adequadas para o desenvolvimento.<\/p>\n<p>Na pr\u00e1tica, as equipes de projetos s\u00e3o formadas por 50% de especialistas \u201ctop\u201d, rotatividade alta, equipes com alguma familiaridade com modelos e t\u00e9cnicas de desenvolvimento, e volume de altera\u00e7\u00f5es significativas durante o desenvolvimento de todo o projeto. Essa situa\u00e7\u00e3o gera custos elevados de desenvolvimento de software e incertezas sobre prazos de entrega e qualidade do software.<\/p>\n<p>A forma\u00e7\u00e3o dessas equipes depende da complexidade dos projetos, dos modelos e ferramentas dispon\u00edveis na empresa, do n\u00edvel de maturidade dos processos e da disponibilidade de pessoal especializado na \u00e9poca do projeto. Em uma empresa pode coexistir as tr\u00eas situa\u00e7\u00f5es. O fator cr\u00edtico de sucesso \u00e9 tem uma eficiente gest\u00e3o do portf\u00f3lio de projetos.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>S\u00e3o muitos os desafios para desenvolver softwares com efici\u00eancia, atendendo as exig\u00eancias dos clientes e press\u00e3o dos gerentes internos e, para fornecedores, das equipes de vendas. As estimativas de tempo e custo de projetos de software s\u00e3o impactadas pelas mudan\u00e7as de especifica\u00e7\u00e3o durante o projeto, pela escassez de recursos e, muitas vezes, pela falta de [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[352,3,12],"tags":[115,247],"class_list":["post-561","post","type-post","status-publish","format-standard","hentry","category-artigos","category-blog","category-software","tag-engenharia-de-software","tag-projetos-de-softwares"],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p8yInB-93","jetpack-related-posts":[{"id":534,"url":"https:\/\/efagundes.com\/artigos\/produtividade-na-gestao-de-projetos-de-software\/","url_meta":{"origin":561,"position":0},"title":"Produtividade na Gest\u00e3o de Projetos de Software","author":"Eduardo Fagundes","date":"9 de novembro de 2014","format":false,"excerpt":"Para melhorar a produtividade na gest\u00e3o de desenvolvimento de software deve-se usar uma metodologia que garanta a repetitividade de tarefas, medi\u00e7\u00e3o e defini\u00e7\u00e3o de processos e que incentive a melhoria cont\u00ednua. A metodologia deve prever que a fase de defini\u00e7\u00e3o de requisitos de um novo software \u00e9 um processo criativo,\u2026","rel":"","context":"Em &quot;Artigos&quot;","block_context":{"text":"Artigos","link":"https:\/\/efagundes.com\/artigos\/category\/artigos\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":948,"url":"https:\/\/efagundes.com\/artigos\/arte-supera-a-tecnologia-no-desenvolvimento-de-softwares\/","url_meta":{"origin":561,"position":1},"title":"Arte supera a tecnologia no desenvolvimento de softwares","author":"Eduardo Fagundes","date":"25 de outubro de 2013","format":false,"excerpt":"A arte nas interfaces dos softwares assumiu um papel t\u00e3o ou mais relevante que as funcionalidades dos aplicativos. Acabou o tempo em que as telas das aplica\u00e7\u00f5es eram desenhadas pelos programadores de software. Hoje o sucesso de um software est\u00e1 diretamente relacionado ao seu visual e a forma intuitiva de\u2026","rel":"","context":"Em &quot;Artigos&quot;","block_context":{"text":"Artigos","link":"https:\/\/efagundes.com\/artigos\/category\/artigos\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1275,"url":"https:\/\/efagundes.com\/artigos\/devops-resposta-rapida-de-ti-ao-feedback-dos-clientes\/","url_meta":{"origin":561,"position":2},"title":"DevOps:\u00a0resposta r\u00e1pida de TI ao feedback dos clientes","author":"Eduardo Fagundes","date":"1 de dezembro de 2014","format":false,"excerpt":"Provavelmente, voc\u00ea conhece hist\u00f3rias de executivos reclamando que a TI n\u00e3o atende com rapidez as mudan\u00e7as de mercado, as necessidades dos clientes e aos novos produtos da concorr\u00eancia. O fato \u00e9 que os sistemas tradicionais, incluindo os ERPs, n\u00e3o s\u00e3o flex\u00edveis o suficiente para atender as demandas de mercados altamente\u2026","rel":"","context":"Em &quot;Artigos&quot;","block_context":{"text":"Artigos","link":"https:\/\/efagundes.com\/artigos\/category\/artigos\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":2278,"url":"https:\/\/efagundes.com\/artigos\/pode-a-iso-9-001-substituir-o-cmmi-no-desenvolvimento-eficiente-de-software\/","url_meta":{"origin":561,"position":3},"title":"Pode a ISO 9.001 substituir o CMMI no desenvolvimento eficiente de software?","author":"Eduardo Fagundes","date":"23 de setembro de 2016","format":false,"excerpt":"A busca da efici\u00eancia e qualidade no desenvolvimento de software vem de d\u00e9cadas. No in\u00edcio definiu-se processos estruturados e lineares para o desenvolvimento de softwares, evoluiu com a introdu\u00e7\u00e3o de feedbacks e an\u00e1lise de risco nas fases de levantamento de requisitos, an\u00e1lise e desenho, como por exemplo o modelo espiral,\u2026","rel":"","context":"Em &quot;Artigos&quot;","block_context":{"text":"Artigos","link":"https:\/\/efagundes.com\/artigos\/category\/artigos\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":506,"url":"https:\/\/efagundes.com\/artigos\/estrategia-de-ti-para-negocios-disruptivos\/","url_meta":{"origin":561,"position":4},"title":"Estrat\u00e9gia de TI para Neg\u00f3cios Disruptivos","author":"Eduardo Fagundes","date":"31 de outubro de 2014","format":false,"excerpt":"Uma pergunta recorrente \u00e9 como as organiza\u00e7\u00f5es de TI podem agregar valor ao neg\u00f3cio. Uma contribui\u00e7\u00e3o \u00e9 garantir controles eficientes dos processos de neg\u00f3cios. Em ambientes de neg\u00f3cios regulados \u00e9 fundamental que os controles estejam em conformidade com a legisla\u00e7\u00e3o. A outra contribui\u00e7\u00e3o \u00e9 ter artefatos de software para apoiar\u2026","rel":"","context":"Em &quot;Artigos&quot;","block_context":{"text":"Artigos","link":"https:\/\/efagundes.com\/artigos\/category\/artigos\/"},"img":{"alt_text":"figura-estrategia-de-ti-para-negocios-disruptivos-v61","src":"https:\/\/i0.wp.com\/efagundes.com\/artigos\/wp-content\/uploads\/sites\/2\/2014\/10\/figura-estrategia-de-ti-para-negocios-disruptivos-v61.png?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":540,"url":"https:\/\/efagundes.com\/artigos\/estrutura-organizacional-e-estrategia-de-ti-para-digital-business\/","url_meta":{"origin":561,"position":5},"title":"Estrutura organizacional e Estrat\u00e9gia de TI para Digital Business","author":"Eduardo Fagundes","date":"10 de novembro de 2014","format":false,"excerpt":"As tradicionais estruturas organizacionais de TI s\u00e3o obsoletas para as estrat\u00e9gias de digital business das empresas. As novas organiza\u00e7\u00f5es de TI devem ser escal\u00e1veis, atender ao time-to-market, ter custos por demanda, atender aos requisitos legais, ter alta disponibilidade de servi\u00e7os e promover a inova\u00e7\u00e3o e a melhoria cont\u00ednua dos processos\u2026","rel":"","context":"Em &quot;Artigos&quot;","block_context":{"text":"Artigos","link":"https:\/\/efagundes.com\/artigos\/category\/artigos\/"},"img":{"alt_text":"figura-organograma-ti-v71","src":"https:\/\/i0.wp.com\/efagundes.com\/artigos\/wp-content\/uploads\/sites\/2\/2014\/11\/figura-organograma-ti-v71.png?resize=350%2C200","width":350,"height":200},"classes":[]}],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/efagundes.com\/artigos\/wp-json\/wp\/v2\/posts\/561","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/efagundes.com\/artigos\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/efagundes.com\/artigos\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/efagundes.com\/artigos\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/efagundes.com\/artigos\/wp-json\/wp\/v2\/comments?post=561"}],"version-history":[{"count":0,"href":"https:\/\/efagundes.com\/artigos\/wp-json\/wp\/v2\/posts\/561\/revisions"}],"wp:attachment":[{"href":"https:\/\/efagundes.com\/artigos\/wp-json\/wp\/v2\/media?parent=561"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/efagundes.com\/artigos\/wp-json\/wp\/v2\/categories?post=561"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/efagundes.com\/artigos\/wp-json\/wp\/v2\/tags?post=561"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}