Para falar sobre os processos de desenvolvimento de aplicações, os requisitos para boa "user experience" e questão do "time to market", TI Inside On Line entrevistou o especialista Marco Cantù, gerente de produto Delphi e autor de mais de uma dúzia de livros sobre o produto, incluindo edições da coleção Delphi Handbook, a "Bíblia" de desenvolvimento em Delphi.
Ele é consultor e instrutor na Itália e ao redor do mundo por muitos anos, ultimamente voltou sua atenção para desenvolvimento de aplicações WEB com servidores Delphi REST e jQuery, em tecnologia na nuvem, e no novo Delphi FireMonkey framework. Participou em outubro passado no Brasil da 5ª conferência promovida pela Embarcadero.
TI Inside – Como garantir a usabilidade de um software, independente das funcionalidades, para que se tenha facilidade e boa experiência de uso?
Marco Cantù – Fazemos testes extensivos com equipes internas e com os "beta testers" externos. Nós convidamos usuários e vemos como eles interagem com os recursos. Quando introduzimos novos recursos de interface do usuário estabelecemos testes específicos, convidamos tanto usuários existentes, como novos usuários. Isso geralmente nos proporciona um enorme retorno.
TI Inside– O que se deve considerar numa análise de requisitos ao se iniciar o processo de desenvolvimento de uma aplicação?
Marco Cantù – Há muitas formas diferentes para encarar os requisitos de uma aplicação, e isso varia dependendo do tipo de aplicação e do conhecimento dos desenvolvedores em relação ao espaço da aplicação. Aplicações comerciais, jogos, aplicações médicas, sistemas de controle de hardware têm requisitos totalmente diferentes e provavelmente precisam de um processo diferente.
Pensamos que o desenvolvimento ágil e a criação de protótipos podem ajudar significativamente, e é por isso que nós acreditamos que o modelo de desenvolvimento ágil de aplicações utilizado em nossas ferramentas pode ajudar no processo.
TI Inside – O tempo é uma questão fundamental para que as empresas tenham o time-to-market exigido pelo mercado cada vez mais competitivo. Quais as considerações para que os prazos sejam atendidos?
Marco Cantù – Há, certamente, muitas opções para considerar, tal como manter a equipe focada e trabalhando nas interações menores (como o Scrum e outras metodologias ágeis sugerem) para assegurar que você pode entregar um código de qualidade mais rápido. Um novo desafio específico é entregar ao mesmo tempo aplicações para múltiplas plataformas, uma boa razão de negócio para usar uma única solução / multiplataforma.
TI Inside – Alguns consideram que a complexidade às vezes exigida pelo desenvolvimento prejudica a eficiência. Como garantir a qualidade de desenvolvimento atendendo ao mesmo tempo todos os requisitos dentro do prazo?
Marco Cantù – Não há bala de prata, mas há muitas boas práticas e abordagens que podem ajudar a atingir a meta de produzir em tempo e dentro do orçamento. É claro que você não pode construir uma aplicação enorme num curto espaço de tempo e, ao mesmo tempo, entregar qualidade. Acho que desenvolvedores e gestores precisam conversar para definir as expectativas de cada lado. Às vezes, há comunicação num só sentido, o que não ajuda.
TI Inside – Como estimar custos, capacitação e treinamento de pessoal e manutenção de um projeto de desenvolvimento de software?
Marco Cantù – As melhores estimativas são feitas com base em experiências passadas. Se a equipe levou seis meses para construir um projeto, levará outros seis meses para construir algo semelhante. De forma abstrata, fora de contexto é muito difícil obter uma estimativa.
TI Inside – Hoje se fala muito em metodologias ágeis. Qual sua opinião sobre o tema e como as ferramentas da Embarcadero se posicionam em relação ao mercado?
Marco Cantù – As ferramentas da Embarcadero suportam algumas metodologias ágeis, desde a integração de controle de versão a ferramentas de testes unitários. Além do apoio a protótipo para produção dentro de uma única ferramenta. Mas cabe às equipes de desenvolvimento alavancar esses recursos. Dentro da empresa, usamos metodologias ágeis, então valorizamos o quanto úteis elas são para gerir projetos complexos de software, assim como nossas ferramentas de desenvolvimento.
TI Inside – Quais os desafios no desenvolvimento multiplataforma?
Marco Cantù – É difícil entregar uma experiência de qualidade a todas as plataformas contando também com uma única base de códigos. Muitos de nossos competidores ficam aquém ou por abstrair muito da plataforma (como fazem as ferramentas baseadas em HTML) ou permitindo um subconjunto limitado de código de conduta comum. Também cometemos erros iniciais, mas depois de algumas interações, conseguimos uma ótima mistura de estilos e controles nativos, acrescentamos controles adaptativos e o novo designer multidispositivo ao IDE no XE7, proporcionando uma experiência de desenvolvimento única para mobile e desktop a partir de uma única base de código.
TI Inside – Qual o road map das novas implementações que a Embarcadero pretende anunciar ao mercado?
Marco Cantù – Há algumas tendências em desenvolvimento que planejamos seguir, como a "Internet das Coisas". Ao mesmo tempo, continuaremos aumentando/melhorando a experiência de desenvolvimento, adicionando novos componentes e apoiando novas plataformas. O mundo mobile está avançando rapidamente, e queremos nos manter a frente. Também, o Windows 10 oferece uma boa oportunidade de retenção para a Microsoft, e estaremos prontos para suportar o desenvolvimento para essa plataforma.