análise e desenvolvimento de sistemas

Fazer a gestão da área de tecnologia através da análise e desenvolvimento de sistemas, buscando inovação/soluções que aumentem as receitas da empresa através da automatização de processos são os grandes alvos do gestor de TI.

O problema é que, na prática, este profissional acaba tendo que comandar equipes pequenas (em relação à demanda) e que nem sempre possuem o know-how necessário para “apagar os incêndios” do dia a dia, o que o faz perder muito tempo com o operacional, uma vez que desperdiça seu tempo resolvendo problemas junto com o time. Se identificou?

Sem problemas. Existem, atualmente, estratégias valiosas na otimização de processos, redução de custos e aumento da qualidade na análise e desenvolvimento de sistemas na empresa, que podem mudar por completo sua performance. Vamos tratar de algumas delas a partir de agora, ok? Acompanhe-nos!

  1. Outsourcing de TI para não sobrecarregar seu time

A principal vantagem de se entregar ao outsourcing de TI (para alguns processos) é dar à inovação um papel central na empresa. Em um ambiente de negócios consolidado aos modelos flexíveis de computação, com Big Data e tecnologias móveis cada vez mais em voga, centralizar toda a infraestrutura de TI custa caro.

Além disso, não costuma ter resultados robustos e onera desnecessariamente uma equipe que poderia se dedicar exclusivamente a trazer soluções de TI para dar maior competitividade à empresa.

  1. Metodologias ágeis de desenvolvimento: seu cliente não pode esperar

O sucesso das metodologias ágeis de desenvolvimento é fácil de ser justificado: a era da Mobilidade deu maior dinamismo ao comportamento dos consumidores e impulsionou a inovação como atividade quase diária das organizações. Um segmento que precisa se adequar permanentemente às mudanças não pode ter desenvolvedores que se apoiam exclusivamente na abordagem tradicional de análise e desenvolvimento de sistemas.

As metodologias ágeis têm o objetivo de acelerar o desenvolvimento do software, centralizando suas atenções na melhoria contínua, redução de prazo e custos com cada projeto. Eliminar falhas na comunicação é o grande benefício dessa nova perspectiva da TI, orientada às pessoas (e não mais a processos), adaptativa, flexível, simplista e com grande carga de integração com o cliente durante o ciclo de vida do projeto.

Pode ter certeza que optar por essas metodologias faz diferença na qualidade do seu produto final!

  1. Trabalhar com prova de conceito é fundamental

Já ouviu falar em prova de conceito? O termo parece abstrato, mas se estivéssemos falando de business, diríamos que esta estratégia de teste está para um profissional de TI como o Minimum Viable Product- MVP (teste de validação de um negócio) está para um empreendedor.

Afinal, de nada adianta ter uma ótima ideia se você ainda não conseguiu tirá-la da cabeça (ou do papel) para descobrir se ela realmente funciona, concorda? A prova de conceito é justamente uma técnica que permite demonstrar que uma ideia é perfeitamente possível e viável.

Entre os tópicos arquiteturais, a prova de conceito (Poc) é uma das mais aplicadas atualmente como ferramenta de gestão de aprendizado de arquitetura de software. Ela oferece oportunidade para verificar códigos-fonte, variáveis, compiladores, grau de interface do banco de dados, entre outros processos. Facilita também o aprimoramento de layouts (front-end), melhoria na infraestrutura de acesso aos dados, verificação dos serviços de web services disponibilizados, etc.

Quem quer otimizar o desenvolvimento de sistemas, não pode nem pensar em abdicar desse instrumento de avaliação!

  1. Aposte em prototipagem na nuvem

Ok, você já compreendeu bem a importância de trabalhar com prova de conceito para identificar problemas técnicos e logísticos. Mas sob qual plataforma trabalhar? Desktop ou nuvem?

Quando o processo evolutivo do software passa a ser feito em nuvem, gera-se maior interatividade com o cliente, permitindo que ele tenha acesso aos testes e às melhorias realizadas. Essa mudança de perspectiva reduz as chances de erros conceituais e elimina eventuais elevações de custos com retrabalhos. Temos aqui menor fluxo de incidentes e mais tempo para que o gerente de TI possa se dedicar a questões estratégicas ligadas à implantação de novas tecnologias.

Impossível não mencionar também a variação de custos entre a prototipação tradicional e o trabalho na nuvem. Em uma aplicação desktop você paga por licença e atualizações. Já nas aplicações on-line que utilizam modelo de assinaturas, você paga apenas pelo tempo que precisar e na proporção de suas necessidades.

A prototipagem na nuvem é uma abordagem definitiva na análise e desenvolvimento de sistemas, à medida que concilia minimização de risco, melhora na qualidade do produto e aumento na produtividade da equipe de TI.

  1. Não tire da mente que grandes quantidades de mudanças de requisitos prejudica o projeto

A estabilidade dos requisitos é uma fundamental fonte de redução e controle de custos. A volatilidade constante destes requisitos resulta em um imenso esforço gasto para manter suas atualizações.

Para gerenciar este fator crítico é imprescindível centrar esforços nos requisitos que trazem maior valor agregado ao cliente, promover as primeiras entregas em poucas semanas (a fim de garantir feedbacks rápidos) e disseminar informação entre analistas e desenvolvedores (preenchendo gaps de comunicação).

  1. Use mais de um processo

Você não conduz um projeto composto por 30 pessoas da mesma forma que faria em um grupo pequeno, de no máximo, 5 profissionais.

Você não gerencia um projeto de outsourcing da mesma forma que gerenciaria um projeto desenvolvido por um time de dentro da própria companhia.

Você não lida com o processo de construção de um data warehouse da mesma maneira com que atua com plataformas ASP.NET.

Você precisa de diferentes processos ou múltiplas estratégias para cada job. A pobreza de repertório acaba gerando maior chance de incidentes, custos mais altos e maior tempo de entrega.

  1. Não se perca na complexidade dos sistemas quando estiver trabalhando com análise e desenvolvimento de sistemas

Em linhas gerais, complexidade mais prejudica do que ajuda. Gera queda na eficiência que, por sua vez, resulta em redução da produtividade e aumento nos custos. Como consequência inevitável da complexidade, teremos falhas na comunicação de sua equipe, atrasos no cronograma e muitos retrabalhos. Algumas sugestões para otimizar seus trabalhos e de seu time:

  • Adote o reuso que, quase sempre, auxilia na redução da complexidade do software;
  • Procure trabalhar com códigos simples, bem estruturados e bem documentados, mas, sobretudo, simples;
  • Divida o sistema em subsistemas: seres humanos têm maior facilidade em lidar com informações facilmente abarcadas a um único olhar;
  • Adote ferramentas de mensuração de complexidade, tais como Metrics Eclipse Plugin e FxCop.

E você, como otimiza a análise e desenvolvimento de sistemas em sua empresa (ou aos seus clientes)? Compartilhe com a gente nos comentários suas experiências!

Deixe um comentário