Pesquisar este blog

quinta-feira, 28 de maio de 2015

Engenharia de Software no mundo atual

A Engenharia de Software (ES) evoluiu muito nos últimos anos para adequar-se a uma nova dinâmica em que a sociedade e as organizações estão cada vez mais conectadas.


Com as crescentes pressões impostas por inovação, produtividade com prazos cada vez mais curtos, flexibilidade, melhorias no desempenho, funcionalidade e qualidade dos produtos desenvolvidos, a ES como se conheceu à 15 anos atrás teve que se reciclar, várias vezes por sinal, sem que talvez pudéssemos ter percebido.


Interessante observar que nesta rápida evolução, várias metodologias, processos e ferramentas surgiram para dominar a complexa atividade que é construir software com qualidade. Algumas são usadas até hoje mas muitas foram esquecidas ou substituídas por algo melhor no mercado.


Iniciei minha carreira na Informática pouco tempo depois da UML (Unified Modeling Language) ser aprovada como padrão pelo OMG (Object Management Group). Foi uma fase de grande aprendizado, diga-se de passagem. Nessa época, cursava Técnico em Informática, o paradigma dominante era Cliente/Servidor e as linguagens de programação top da minha cidade eram Delphi e Visual Basic.


Trabalhava em uma empresa RAT Bematech que desenvolvia sistemas de Gestão Empresarial (Ex.: controle de estoque, financeiro, boleto bancário, pontos de venda (PDV) e TEF discado) para a região de Santa Maria e arredores no RS. Nesta época, a Internet era discada e os grandes clientes pagavam muito caro para colocar links de conexão de 800k para integrar as suas lojas.


Nesse contexto, o que mais me marcou foi com certeza a metodologia e o processo de desenvolvimento de software utilizado na empresa em que trabalhava: a regra era seguir UML a risca e produzir muita documentação. Muitas vezes os desenvolvedores discutiam muito sobre a real necessidade de tantos artefatos pois o framework utilizado já fazia muita coisa. Além do mais, as ferramentas bem como o hardware da época eram muito lentos e os analistas perdiam muito tempo aguardando a ferramenta de modelagem UML compilar o portal da documentação.


Desta época até o presente, quase tudo mudou e na minha opinião para melhor. Pode-se
dizer que houve um amadurecimento da TIC. Hoje é comum as empresas pensarem de forma Ágil. Ser Ágil significa dizer que os engenheiros vão produzir somente os artefatos que podem agregar valor ao negócio. É como se estivéssemos livres: Se antes éramos obrigados a produzir um determinado diagrama sabendo que o desenvolvedor sequer iria utilizar apenas para constar no site da documentação, agora podemos ter a liberdade de fazer a documentação que realmente importa, ou seja, fazer as próprias escolhas.


Claro que toda essa mudança na forma de pensar em ES precisou ser absorvida pelos profissionais. Com certeza, o pessoal que viveu esta fase entende muito bem o que as metodologias ágeis de hoje significam e quem é recente na área pode ter uma certa dificuldade para entender porque isso é tão marcante.

Para concluir, hoje as empresas buscam Analistas e Desenvolvedores poliglotas. Por isso, torna-se importante conhecer vários processos, métodos e ferramentas. A escolha de cada uma delas dependerá do projeto e dos requisitos de qualidade que se buscam. Portanto, nada é fixo, pelo contrário, tudo é dinâmico e pode mudar a qualquer hora.