InfoQ

InfoQ

Notícias

Meus Favoritos

Faça oLogin ou Cadastre-se para ativar o recurso de favoritos por tempo ilimitado.

O conteúdo foi adicionado aos favoritos!

Houve um erro ao adicionar aos favoritos! Por favor, tente novamente.

Deficiências de software Crescem em Custos Substantivos

Postado por Shane Hastie , traduzido por Rafael Riberto em 17 Ago 2009

Seções
Processos e Práticas,
Arquitetura e Design
Tópicos
Agile ,
Entrega de Qualidade ,
Remover Impedimentos ,
Agile nas empresas
Tags
Dívida Técnica

No recente artigo intitulado “Entrega Continua de Ganhos na Evolução do Sistema” (“Continued Delivery of High Values as Systems Age”), Chris Sterlin discute o conceito de Deficiências de Software – "A deficiência do software se acumula quando o foco permanece na finalização imediata, enquanto flexibilidade de mudanças do sistema é negligenciada no decorrer do tempo”.

A deficiência de Software vai além do que é tipicamente referido como uma pendência técnica -

Ele identifica cinco classes de deficiências de software:

  • Técnica: Coisas que se decidiu não fazer agora e impedirá um futuro desenvolvimento se permanecer assim
  • Qualidade: Habilidade reduzida em verificar a qualidade funcional ou técnica de todo sistema
  • Gerenciamento de Configuração: Gerenciamento da integração e entrega se torna mais arriscada, complexa e propensa a erros
  • Design: Custo de adicionar funcionalidades de complexidade média fica maior que ao se escrever desde o princípio
  • Experiência na plataforma: Disponibilidade e custo dos recursos para trabalhar no sistema se tornam limitados

Ele discute como estes débitos surgem nos projetos e provê uma visão de como os projetos acumulam deficiências ao longo do tempo, freqüentemente para a melhor motivação e desejo de se manter o passo das entregas face o aumento da complexidade.

Em uma dica similar, Bill Curtis discute o impacto da Muda (palavra japonesa para lixo) nos projetos de software – o lixo mais comum nestes projetos é o retrabalho, resultado de deficiências de software:
Os poucos estudos disponíveis sobre retrabalho, informam que ele soma entre 30 a 50% do esforço do projeto na maioria das empresas que não embarcaram o processo de melhoria com sucesso. Os números do retrabalho são dolorosos, não apenas para serem coletados, mas também de se enfrentar. Poucos executivos querem admitir que estão desperdiçando cerca de 40% do total investido em desenvolvimento de sistemas.


Sterling sugere caminhos para se lidar e reduzir as deficiências de software:

  • Manter uma lista de atividades 
  • Enfatizar a qualidade 
  • Evoluir continuamente ferramentas e infraestrutura 
  • Sempre melhorar o design do sistema 
  • Espalhar e compartilhar o conhecimento dentro da organização
  • E o mais importante, contratar as pessoas certas para trabalhar em seu software! 

No artigo ele fornece dicas de como abordar cada um destes pontos. 

Ele conclui o artigo com os seguintes comentários:

Com a evolução do sistema eles se tornam mais complexos de se trabalhar. Ativos de software se tornam passivos quando as deficiências surgem nos sistemas através de deficiências técnicas, de qualidade, gerenciamento de configuração, design e experiência na plataforma.

Aplicar os 6 princípios deste artigo direcionará a pequenas mudanças no decorrer do tempo e trará mudanças positivas significantes para o time e para a organização. A meta de gerenciar as deficiências de software é otimizar o valor dos ativos de software para o negócio e aumentar a satisfação dos clientes relativo ao sistema que utilizam.


Como as organizações reduzem a deficiência do software e protegem seus investimentos nos sistemas de software?

Conteúdo Educacional

Formando equipes de alto desempenho, parte 1: Início e fases de evolução

Nesta primeira parte de uma série sobre equipes de alto desempenho e gerenciamento Agile, veja uma introdução geral e uma apresentação dos estágios de formação das equipes.

Business Model Canvas, passo a passo

O Business Model Canvas é uma ferramenta estratégica para a construção visual de novos produtos ou serviços. Conheça cada um dos seus elementos e como preencher o Canvas, passo a passo.

Google Apps Script, Parte 2: Google Docs, triggers e envio de emails

Nessa segunda e última parte de uma série sobre o Google Apps Script, conheça como funciona o envio de emails, a conversão de documentos e como criar menus e triggers.

Serviços de cloud computing PaaS: um guia para desenvolvedores Java

Este artigo avalia seis dos mais importantes fornecedores de serviços de cloud computing PaaS para desenvolvedores Java, analisando critérios como desempenho, escalabilidade e tecnologias suportadas.

Canvas de Modelo de Negócios: uma contribuição para o sucesso de Startups

O Canvas de Modelo de Negócios é um novo modo de comunicar e suportar a validação iterativa, incremental e empírica de modelos de negócio de startups e novos produtos substituindo o plano de negócios.

Entrevista com Rebecca Parsons Parte 2: Agile Distribuído, Arquitetura vs. Design e SOA

Nesta segunda e última parte de uma entrevista exclusiva para InfoQ Brasil, Rebecca Parsons, CTO da ThoughtWorks, fala sobre o Agile Distribuído e técnicas para definição de arquiteturas.

Entrevista com Rebecca Parsons Parte 1: Agile nas Empresas e Arquitetura Evolucionária

Nessa primeira parte de uma entrevista com a CTO da ThoughtWorks, veja recomendações sobre formas de construir e arquitetar sistemas para obter o máximo de flexibilidade e responsividade a mudanças.

Agile das equipes à organização: o papel do gerente, estratégias e dicas para a adoção

Os gerentes de projetos podem assumir o papel crítico de liderar a introdução do Agile. Vejas conceitos, dicas e técnicas para apoiar esse processo de mudanças.