Menu

Desenvolver software é uma atividade criativa, dinâmica e adaptativa

Gabriel Brigidi, diretor de Negócios da ThoughtWorks Brasil Gabriel Brigidi, diretor de Negócios da ThoughtWorks Brasil

Projetos devem fundar-se em uma verdadeira parceria entre clientes e provedores

O desenvolvimento de software ganhou maturidade, passou a focar efetivamente a inovação e trouxe resultados mais proveitosos quando deixou de ser encarado como uma atividade meramente fabril, dando lugar à criatividade e à celebração de verdadeiras parcerias entre desenvolvedores e clientes, em um processo de melhoria contínua. Persistir em concepções e práticas antigas pode conduzir à recorrência de problemas como especificações incorretas, elevada incidência de retrabalho e descumprimento de SLAs (Acordos de Níveis de Serviços).

Estas são algumas das ponderações feitas sobre a área por Gabriel Brigidi, diretor de Negócios na ThoughtWorks Brasil, nesta entrevista concedida ao portal de Executivos Financeiros. O especialista é bacharel em Engenharia de Computação e Mestre em Administração, ambos pela UFRGs.

Executivos Financeiros - Embora tenha havido avanços, com maior profissionalização no mercado de desenvolvimento de sistemas, ainda se registram problemas nos projetos, tais como especificações incorretas ou insuficientes, retrabalho em excesso, descumprimentos de SLAs, comprometimento de prazos e de orçamentos, entre outros. Como você avalia a persistência destes problemas? Quais as suas causas?

Gabriel Brigidi - O desenvolvimento de software evoluiu muito, em especial nos últimos 10 a 15 anos. A ideia de que criar software é uma atividade criativa, complexa e adaptativa superou a antiga perspectiva de um processo fabril, com etapas definidas, divisíveis e repetitivas. Empresas que têm mais sucesso são justamente aquelas que adaptaram seu processo produtivo, adotando essa nova visão. Se ainda há problemas como esses citados - e, sem dúvida, há muitos! -, os encontramos justamente quando ainda se adota uma abordagem antiga para o desenvolvimento de software.

EF - Como aprimorar os mecanismos de governança dos projetos? De que maneira, por exemplo, as fábricas e clientes podem monitorar transparentemente os SLAs acordados, zelando pela qualidade de serviços, pelo cumprimento de prazos, etc?

GB - A chave para aprimorar a relação entre clientes e empresas de software passa por enxergar a relação como uma verdadeira parceria, cujo sucesso depende igualmente das duas partes. O próprio termo "fábrica de software" remete a uma abordagem que vai na contramão disso. É preciso trabalhar de forma integrada e transparente, com a compreensão de que o desenvolvimento de software é, acima de tudo, uma jornada de aprendizado contínuo conjunto.

EF - Na área de desenvolvimento, os profissionais brasileiros são elogiados por sua criatividade. Por outro lado, há também críticas com relação ao desleixo com relação a procedimentos básicos como a documentação, o que poderia comprometer os resultados de um projeto. Nesse sentido, os indianos teoricamente levariam vantagem sobre os brasileiros por serem mais disciplinados e menos propensos à improvisação. Como você se posiciona diante desta discussão?

GB - Primeiramente, disciplina e criatividade não são, de forma alguma, excludentes. Muito pelo contrário! A criatividade que leva à inovação é justamente aquela resultante de um processo contínuo de testes de hipóteses, aprendizado e adaptação. E isso não se faz sem disciplina. Outra perspectiva refere-se à falsa ideia de que uma documentação bem feita leva a um produto de software com valor e bem construído. O que mais se vê são documentos que contam uma linda história de sucesso, porém os projetos continuam falhando. Documentação não é ruim. Deve-se entender que ela é transiente, orgânica e deve ser apenas suficiente para facilitar a jornada de aprendizado mencionada anteriormente. Se a documentação é um fim em si próprio, ainda mais sendo potencial instrumento punitivo, o processo está fundamentalmente falho.

EF - Ainda do ponto de vista cultural e metodológico, o modelo CMMi é às vezes criticado por engessar demais o trabalho de desenvolvimento. Ele seria mais propício à cultura dos indianos e não à dos brasileiros. Qual a sua opinião a respeito?

GB - Modelos de maturidade em desenvolvimento de software, em sua essência, não são tão prescritivos quanto parecem. Já se viram implementações de CMMi ou modelos correlatos em harmonia com práticas ágeis de desenvolvimento de software, por exemplo. Ocorre que, ao implementar esses modelos, em geral se criam estruturas engessadas, focadas em controle e uma falsa sensação de previsibilidade. Estar aderente ao processo passa a ser mais importante do que criar um produto relevante. E essa abordagem entra em choque direto com a natureza dinâmica do desenvolvimento de software. E isso não é uma questão de Índia ou Brasil, mas sim algo relacionado à visão de quem está gerindo o processo produtivo.

EF - Que tecnologias e ferramentas novas você destacaria na área de desenvolvimento? De que maneira elas estão tornando mais ágil a execução dos projetos e propiciando maior eficácia nos resultados?

GB - A prática do desenvolvimento de software evolui muito rápido! Hoje em dia, por exemplo, é possível utilizar ferramentas que permitem descrever o comportamento do sistema em uma linguagem muito próxima à língua falada. Também vemos muitas evoluções em ferramentas para integração de código, automação de testes, gestão de ambientes, trabalho distribuído, entre tantos outros. Há uma variedade de linguagens, cada qual aderente ao tipo de problema em questão. Uma infinidade de novos frameworks são criados diariamente, automatizando e facilitando o trabalho, permitindo ter maior produtividade e agregar mais valor. Tecnologias de código aberto aceleram a evolução tecnológica como nunca se viu.

Neste cenário, o grande desafio está em se manter atualizado. Para isso, é preciso incentivar as equipes a experimentarem novas ferramentas e tecnologias, criando um ambiente seguro para o aprendizado. Visando auxiliar nesta evolução, a ThoughtWorks publica periodicamente o Technology Radar, que agrega recomendações trazidas pela nossa experiência sobre técnicas, ferramentas, plataformas, linguagens e frameworks - tudo com base em uso real nas centenas de projetos que executamos globalmente em 13 países.

EF - Como você vê, especificamente, a adoção de metodologias como Análise de Pontos de Função e Lean IT no Brasil? Elas já estão enraizadas na área de desenvolvimento? Até que ponto podem ser vantajosas?

GB - Pontos de Função é uma prática que está mais alinhada à visão antiga de desenvolvimento mencionada anteriormente. Ela pressupõe que é possível comparar de forma igual dois projetos tão distintos quanto, por exemplo, a criação de um sistema de contabilidade e o desenvolvimento de modelos analíticos preditivos para tomada de decisão com base em Big Data. Apesar disso, ela ainda é muito utilizada, especialmente no setor público.

Já quando falamos em conceitos de Lean IT, esses estão alinhados à visão de evolução e aprendizado contínuo. Eliminar funcionalidades desnecessárias, eliminar etapas que não geram valor, reduzir o tempo do ciclo entre a ideia e o feedback do usuário, incentivar o trabalho colaborativo, ter a qualidade como princípio, entre outras, são elementos fundamentais para o sucesso do desenvolvimento de software. Apenas para citar um exemplo, existem pesquisas que mostram que, em média, mais de 50% das funcionalidades são pouco ou nunca utilizadas. Isso, sim, é desperdício! E isso é resultado, entre outras coisas, da distância entre o desenvolvimento e o feedback do usuário final, comum em projetos quando esses levam muitos meses ou anos para serem colocados em produção. 

2 comentários

  • Fernando Gandara
    Fernando Gandara Sexta, 05 Junho 2015 15:28 Link do comentário

    Eccox Technologies
    Address: Avenida Sagitário, 138 - Torre II
    2 andar, sala 203 - Alphaville - Barueri/SP, Brazil - CEP.: 06473-205
    Phone: +55 11 41331969
    Email: eccox@eccox.com.br
    Web: http://www.eccox.com
    Activity: Software vendor.
    Specialist areas: System management; data management; asset and change management; programming/testing; web integration and legacy reengineering tools
    Mainframe platforms supported: z/OS, Linux
    Non-mainframe platforms supported: Unix, Linux, Windows, other Pricing options: One-time charge, monthly/annual license, processor/capacity-based, workload/usage based, other
    Company profile

    Since 1992, Eccox has delivered integrated software and services that automate and manage the processes used for the creation and maintenance of IT environments – from development to testing, through production and maintenance.
    Eccox enables IT organizations to proactively support business objectives rather than only react to system problems. Eccox clients can identify and build IT best practices as well as strategically plan for the future using accurate data and intelligent tools. With this advantage, IT organizations can operate with measurable and visible excellence.
    Whether the IT organization is all internal, outsourced, or a combination of both, Eccox products quantitatively improve the management, quality, productivity and ultimately the return on IT investments.
    Product/service information
    Eccox QC proactively detects errors in new and existing application code as it is being developed. This helps the overall system application software get done more quickly and with higher quality.
    Eccox QC for COBOL Supports all IBM mainframe COBOL language versions including CICS.
    Eccox QC for DB2 Assess and control IBM DB2 databases access from analyzing SQL syntax and performance, independent of programming language.
    Eccox QC for Java/Oracle.

    Eccox APT automates the tracking and reuse of mainframe software tests. It stores test plans and procedures in metadata format and can regenerate the test when needed again. It isolates the database and interface tests to help ensure effective testing of the entire application.

  • ANA AMORIM
    ANA AMORIM Quinta, 28 Maio 2015 12:06 Link do comentário

    Isso aí: P de F significa comparar coisas como por ex, criação de um sistema de contabilidade e o desenvolvimento de modelos analíticos preditivos para tomada de decisão com base em Big Data. Já conceitos de Lean IT, alinhados à visão de evolução e aprendizado contínuo, eliminação de funcionalidades desnecessárias, de etapas que não geram valor, redução do tempo do ciclo entre a ideia e o feedback do usuário, vão incentivar o trabalho colaborativo, ter a qualidade como princípio, entre outras, são elementos fundamentais para o sucesso do desenvolvimento de software. Tem a ver com ÁGIL.

Deixe um comentário

Certifique-se de preencher os campos indicados com (*). Não é permitido código HTML.

voltar ao topo
Info for bonus Review William Hill here.

Finanças

TI

Canais

Executivos Financeiros

EF nas Redes