{"id":6400,"date":"2017-05-31T15:20:52","date_gmt":"2017-05-31T18:20:52","guid":{"rendered":"http:\/\/blog.plataformatec.com.br\/?p=6400"},"modified":"2017-08-23T11:28:48","modified_gmt":"2017-08-23T14:28:48","slug":"sintomas-da-baixa-qualidade-interna-de-software","status":"publish","type":"post","link":"https:\/\/blog.plataformatec.com.br\/2017\/05\/sintomas-da-baixa-qualidade-interna-de-software\/","title":{"rendered":"Sintomas da Baixa Qualidade Interna de Software"},"content":{"rendered":"
Primeiro post da s\u00e9rie Baixa Qualidade Interna de Software<\/em><\/p>\n Todos sabem que bens f\u00edsicos se deterioram. As pessoas aceitam este fato e sempre lidaram com isso. O que as pessoas n\u00e3o aceitam t\u00e3o facilmente \u00e9 que software “se deteriora” tamb\u00e9m. Ao contr\u00e1rio dos bens f\u00edsicos, isso n\u00e3o acontece devido a algum fen\u00f4meno f\u00edsico ou qu\u00edmico. Essa deteriora\u00e7\u00e3o ocorre geralmente devido a mudan\u00e7as de neg\u00f3cios ou de profissionais. Vou dar um exemplo.<\/p>\n Imagine que voc\u00ea \u00e9 o l\u00edder de uma equipe de produto ou tecnologia em uma startup; voc\u00ea \u00e9 o CTO. Voc\u00ea j\u00e1 lan\u00e7ou a primeira vers\u00e3o do seu produto e foi um sucesso. Seu modelo de neg\u00f3cio foi validado e agora voc\u00ea est\u00e1 em fase de crescimento. Isso \u00e9 fant\u00e1stico! Mas tem seus custos, al\u00e9m de novos desafios.<\/p>\n A primeira vers\u00e3o do seu produto est\u00e1 funcionando, mas a base de c\u00f3digo n\u00e3o est\u00e1 como voc\u00ea precisa a partir de agora. Talvez sua equipe n\u00e3o seja t\u00e3o veloz quanto antes. Sua equipe reclama continuamente da qualidade do c\u00f3digo. O CEO e o diretor de produto querem novas features e suas estimativas atuais n\u00e3o atender\u00e3o \u00e0s necessidades do neg\u00f3cio.<\/p>\n N\u00e3o raro, baixa qualidade da base de c\u00f3digo est\u00e1 entre as principais origens de todos problemas. Talvez voc\u00ea precise refatorar\u00a0(refactor) ou reescrever (rewrite) o software.<\/p>\n Sua equipe inteira, incluindo os desenvolvedores, se sentir\u00e3o frustrados porque gostariam de liberar features com maior velocidade, por\u00e9m a qualidade do c\u00f3digo e a arquitetura atual n\u00e3o ajudam.<\/p>\n Os departamentos de TI, produto e software sofrem por n\u00e3o atenderem \u00e0s expectativas das outras \u00e1reas.<\/p>\n O cliente tamb\u00e9m sofre devido aos bugs frequentes, o tempo gasto para que sejam corrigidos, al\u00e9m da demora para lan\u00e7ar novas features.<\/p>\n Voc\u00ea conseguiu entender.<\/p>\n \u00c9 papel do l\u00edder (por exemplo, o CTO) identificar quando \u00e9 necess\u00e1rio refatorar ou reescrever o software. Para isso, ele(a) pode fazer uma an\u00e1lise em busca de alguns sintomas, como os listados abaixo:<\/p>\n A raz\u00e3o pela qual voc\u00ea est\u00e1 em uma dessas situa\u00e7\u00f5es provavelmente n\u00e3o \u00e9 t\u00e9cnica. Talvez voc\u00ea precisasse entregar muitas features muito r\u00e1pido, enquanto ainda estava desenvolvendo a primeira vers\u00e3o de seu produto. Talvez sua equipe n\u00e3o tinha maturidade e experi\u00eancia que possuem agora. Analisar a causa raiz tamb\u00e9m \u00e9 importante, mas voc\u00ea precisa fazer mais. Voc\u00ea precisa resolver o seu problema.<\/p>\n Se voc\u00ea est\u00e1 enfrentando os sintomas acima, provavelmente voc\u00ea tem problema de baixa qualidade interna de software<\/strong>. Reconhecer os sintomas j\u00e1 \u00e9 um grande passo. O pr\u00f3ximo passo \u00e9 pensar em solu\u00e7\u00f5es. Algumas solu\u00e7\u00f5es que voc\u00ea pode considerar incluem o processo de refatorar ou reescrever o software.<\/p>\n N\u00e3o existe um guia definitivo que aponte quando voc\u00ea deve refatorar ou reescrever o software, pois depende muito do seu contexto. Dito isto, existem algumas regras b\u00e1sicas que voc\u00ea deve considerar ao avaliar qual a melhor solu\u00e7\u00e3o para sua situa\u00e7\u00e3o:<\/p>\n N\u00e3o \u00e9 f\u00e1cil decidir qual op\u00e7\u00e3o escolher. Ao optar por uma delas, voc\u00ea enfrentar\u00e1 um monte de novas preocupa\u00e7\u00f5es. Fique atento, em nossos pr\u00f3ximos posts vamos discutir o que levar em considera\u00e7\u00e3o antes de optar por refatora\u00e7\u00e3o ou reescrita do software.<\/p>\n Agora eu gostaria de saber sobre suas experi\u00eancias. Voc\u00ea j\u00e1 esteve nessa situa\u00e7\u00e3o? Como voc\u00ea identificou que o\u00a0problema era baixa qualidade interna de software? Compartilhe sua hist\u00f3ria conosco!<\/p>\n Bionexo e Locaweb compartilham neste webinar a experi\u00eancia que tiveram ao migrarem de plataforma e os fatores cruciais para que essa opera\u00e7\u00e3o fosse bem sucedida.<\/p>\n ASSISTIR WEBINAR<\/a><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":" Primeiro post da s\u00e9rie Baixa Qualidade Interna de Software N\u00e3o s\u00f3 bens f\u00edsicos se deterioram, isso tamb\u00e9m ocorre com software. Todos sabem que bens f\u00edsicos se deterioram. As pessoas aceitam este fato e sempre lidaram com isso. O que as pessoas n\u00e3o aceitam t\u00e3o facilmente \u00e9 que software “se deteriora” tamb\u00e9m. Ao contr\u00e1rio dos bens … \u00bb<\/a><\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[3],"tags":[101,205,272,271,218,269],"aioseo_notices":[],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/blog.plataformatec.com.br\/wp-json\/wp\/v2\/posts\/6400"}],"collection":[{"href":"https:\/\/blog.plataformatec.com.br\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.plataformatec.com.br\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.plataformatec.com.br\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.plataformatec.com.br\/wp-json\/wp\/v2\/comments?post=6400"}],"version-history":[{"count":38,"href":"https:\/\/blog.plataformatec.com.br\/wp-json\/wp\/v2\/posts\/6400\/revisions"}],"predecessor-version":[{"id":6632,"href":"https:\/\/blog.plataformatec.com.br\/wp-json\/wp\/v2\/posts\/6400\/revisions\/6632"}],"wp:attachment":[{"href":"https:\/\/blog.plataformatec.com.br\/wp-json\/wp\/v2\/media?parent=6400"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.plataformatec.com.br\/wp-json\/wp\/v2\/categories?post=6400"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.plataformatec.com.br\/wp-json\/wp\/v2\/tags?post=6400"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}N\u00e3o s\u00f3 bens f\u00edsicos se deterioram, isso tamb\u00e9m ocorre com software.<\/h2>\n
Quando a base de c\u00f3digo n\u00e3o est\u00e1 em boas condi\u00e7\u00f5es, todos podem ficar frustrados.<\/h2>\n
Identifique os sintomas<\/h2>\n
\n
Refatorar ou reescrever?<\/h2>\n
Quando reescrever<\/h3>\n
\n
Quando refatorar<\/h3>\n
\n
\nLeia os outros posts da s\u00e9rie Baixa Qualidade Interna de Software<\/h3>\n
\n
Migra\u00e7\u00e3o de Plataforma Tecnol\u00f3gica<\/h3>\n