Formação de Profissionais para Desenvolvimento Java EE/Web 2.0 Orientações para capacitação de mão de obra especializada para atividades de Especificação, Arquitetura e Implementação de Aplicações Java EE para Web 2.0, com reuso Open Source integrado pelo jCompany/Jaguar Powerlogic – Agosto / 2011. Powerlogic – Agosto / 2011. Formação de Profissionais para Desenvolvimento Java EE/Web 2.0 Orientações para capacitação de mão de obra especializada para atividades de Especificação, Arquitetura e Implementação de Aplicações Java EE para Web 2.0, com reuso Open Source integrado pelo jCompany/Jaguar Qualificação como Chave do Sucesso A boa qualificação profissional é, indubitavelmente, um dos principais fatores de sucesso em projetos de desenvolvimento de aplicações corporativas. Processos e ferramentas adequados, prazos factíveis e recursos materiais disponíveis são outros fatores, mas que pouco contribuem quando operados por profissionais despreparados. Vivemos no entanto em uma era onde a formação de tecnólogos se torna mais e mais complexa a cada dia. Há exigência cada vez maior de se construir aplicações de alta sofisticação não somente em termos de regras de negócio ou problemas “funcionais”, mas também em aspectos não funcionais tais como integração interna e externa à organização, alta performance e disponibilidade, flexibilidade extremas (ex.: portabilidade em todos os navegadores Web, Tablets, SmartPhones, etc.), segurança, usabilidade próxima da intuitividade, escalabilidade, dentre outras. Estas demandas “não funcionais” cresceram de tal forma nos últimos dez anos que, para fazer frente aos desafios de sistemas de informação almejados pelas empresas, plataformas tecnológicas orientadas a objetos como o Java EE dependem fortemente de alto índice de reutilização de componentes e arquiteturas semi-completas, implementadas por frameworks. Com a disponibilidade atual do software aberto e livre (Open Source), as soluções existem e emergem quase na mesma velocidade que os problemas. O desafio atual de um Arquiteto de Software se tornou, portanto, integrar e manter quase uma centena de componentes e frameworks em uma arquitetura que pré-equacione grande parte destes problemas não funcionais – e que ao final possibilite aos demais profissionais de tecnologia a se dedicarem na maior parte do tempo aos desafios funcionais do negócio, trabalhando de modo mais padronizado e eficaz. Papéis Envolvidos Embora um processo de desenvolvimento possa estabelecer dezenas de papéis com nomes distintos dos que aqui utilizamos, para o propósito deste estudo podemos agrupar uma equipe essencial de desenvolvimento de aplicações em 4 grupos: 1. Papéis voltados para entender o negócio e expressá-lo na forma de especificações implementáveis: nomeados como Analistas de Sistemas, de Requisito, de Negócio, Projetistas, Product Owner, etc.. 2. Papéis voltados para implementar soluções funcionais: Desenvolvedores, Programadores, Scrum Team, etc.. 1 Powerlogic – Agosto / 2011. 3. Papéis voltados para apoiar no Controle de Qualidade dos trabalhos: Testadores, Ger. De Configuração, etc.. 4. E finalmente papéis voltados para implementar soluções não funcionais subjacentes: Arquiteto, Líder Técnico, etc.. Cada um destes grupos precisa ser capacitado na arquitetura de software disponível na organização, com ênfases distintas, discutidas nos próximos tópicos. Perfis Profissionais Relacionados ao jCompany/Jaguar O Jaguar (ou jCompany 6) é um framework de integração que traz uma arquitetura de base pronta para reuso (em mais alto nível) e que integra mais de 70 componentes, frameworks, ferramentas e aplicativos Open Source, desde de bibliotecas Javascript/Ajax como jQuery, jQuery UI, jQuery Theme Roller e plugins neste nível, até frameworks MVC como JSF 2.0 (Facelets, Trinidad), JPA 2.0 (Hibernate), IoC/DI com CDI (jBoss Weld) e ainda ferramental IDE como Eclipse, Maven, SGBD-Rs de desenvolvimento (Derby) e App Servers como jBoss e Tomcat. Programadores Assim definido, é fácil entender a relação do jCompany/Jaguar com os profissionais de codificação (Desenvolvedores, Programadores). De fato, uma arquitetura de software rica, concreta (implementada), atua diretamente no aumento de produtividade destes profissionais, respeitada a qualidade necessária. Menos óbvia, mas não menos importante, é a relação do jCompany/Jaguar com Arquitetos de Software e Analistas de Requisito. Arquitetos e Líder Técnico Quando definimos que a arquitetura de base pronta para reuso no jCompany/Jaguar “pré-equaciona grande parte destes problemas “, em nenhum instante podemos inferir que ela elimina a necessidade de um Arquiteto de Software! Na prática, o perfil do Arquiteto de Software é um chave dentro de um processo típico - não somente para customizar a arquitetura de base através de mecanismos criados no jCompany/Jaguar para isso, conhecidos como “Camada Bridge” e “Jaguar Extensions” , como também para servir de consultor interno aos profissionais desenvolvimento. Em suma: o Arquiteto de Software é o “dono” da arquitetura reutilizada e customizada do jCompany/Jaguar, e deve ser formado na taxa mínima de 1 (um) arquiteto para cada 10 (dez) profissionais de desenvolvimento funcional. Outro perfil importante é o de líder técnico, capaz de atuar dentro da equipe como um especialista diferenciado na arquitetura, o que também exige uma formação mais especializada. Para se formar profissionais como o Arquiteto de Software e o Líder Técnico, há que se utilizar trabalhos de mentoria especialmente concebidos para dotar estes profissionais de fluência e exata compreensão dos mecanismos internos do jCompany/Jaguar, algo que não se alcança somente com os treinamentos formais. 2 Powerlogic – Agosto / 2011. Analistas de Requisitos A relação do jCompany/Jaguar com os Analistas de Requisitos, Projetistas ou Especificadores, precisa também ser bem compreendida. Além de pré-equacionar problemas não funcionais em uma arquitetura de base, o jCompany/Jaguar também define padrões completos de solução para demandas típicas de sistemas corporativos, tais como manutenções complexas (CRUD), mecanismos de serviços (Web-Services), relatórios, etc., inclusive com padrões refinados para interfaces Web 2.0, definindo navegação, barra de botões, mensagens, etc. – tudo isso formando insumos que apóiam fortemente estes profissionais, no que chamamos de “especificação para o reuso”. Especificações que ignoram os padrões existentes e pré-equacionados na arquitetura da organização geram retrabalho em adequações no momento da implementação em taxa impressionante, sem ganhos para a organização. Há que se ressaltar que nem todos os problemas serão cobertos pelos padrões arquiteturais, porém os Analistas devem especificar “por reúso e por exceção”. Ou seja, reusando sempre que possível e especificando de modo mais prolixo/artesanal naqueles casos de uso que fujam aos padrões. Analistas de Teste Os Testadores também se beneficiam do conhecimento da arquitetura sobre a qual os sistemas são desenvolvidos, pois deste modo podem selecionar melhor os cenários a serem testados (por exemplo, evitar testar itens que reaparecem em vários formulários mas são equacionados genericamente, portanto com baixa probabilidade de falha). A formação dos Analistas de Teste, porém, deve ser similar ao dos Analistas de Requisito, no extremo oposto da formação do Arquiteto de Software, mais aprofundada. Coordenadores, Gerentes, Diretores & CIO Além dos perfis técnicos mais diretamente associados à operação de desenvolvimento, a Powerlogic possui um treinamento especificamente adequado também a perfis gerenciais: Fundamentos de Arquitetura de Software Aplicada Java EE Web 2.0. Este treinamento nivela fundamentos de uma Arquitetura de Software Orientada a Objetos atual, explicando didática e brevemente questões técnicas de impacto mais relevante nos projetos de software Java EE Web 2.0. Devido à alta velocidade de atualização tecnológica ocorrida na última década, é um treinamento que, através de “insights” práticos, permeia conhecimentos chaves para o time de gerenciamento, valiosos para medição de riscos e oportunidades. 3 Powerlogic – Agosto / 2011. Carteira de Treinamentos e Mentoria Oficiais da Powerlogic Com base em sua experiência de mais de 12 anos em projetos Java, Web e Java EE Open Source, e mais de 7 anos em repasses de conhecimento em jCompany, a Powerlogic disponibiliza uma carteira oficial de treinamento e mentoria oficiais que segue o esquema a seguir: Obs.1: O esquema diz respeito ao Jaguar ou jCompany 6.0 – Ramo CDI, que possuem equivalência. A estrutura é diferente para versões anteriores do jCompany. Obs.2: Os treinamentos PLC02 e PLC03 são apresentados com um nível de detalhamento de seu conteúdo e são entitulados, respecticamente: “PLC02 – Introdução ao Desenvolvimento Java EE Web 2.0 para Jaguar” e “PLC03 – Introdução ao Desenvolvimento Open Source para Jaguar”. 4 Powerlogic – Agosto / 2011. É importante notar que todos os treinamentos da Powerlogic são contextualizados para sua arquitetura, ou seja, mesmo os treinamentos de introdução e fundamentos já pressupõem a arquitetura final e se concentram em aspectos de cada tecnologia mais enfatizados nesta arquitetura. Exs.: o curso de Java EE não irá se estender em Servlets ou JDBC, uma vez que a arquitetura utiliza JSF e JPA, que são camadas de mais alto nível; o curso de Facelets e JPA já utilizará o ambiente do Jaguar e práticas recomendadas neste contexto; e assim por diante. Conclusão: Estabelecendo um Processo e Equipe de Sucesso Uma Arquitetura de Software bem definida, gerenciada e compreendida por todos é um ativo de extremo valor para qualquer grande organização que pretenda dominar a complexidade da TI nesta década – mas qualquer projeto de sucesso ainda dependerá de pelo menos mais dois pilares igualmente importantes: um Processo Adequado e uma Equipe Capacitada. A Arquitetura de Base oferecida pelo Jaguar catalisa de forma significativa o tempo necessário para se equacionar uma das pontas deste tripé. Mas tão importante quanto reutilizar este ferramental é não subestimar a formação necessária de todos os papéis envolvidos, nem a necessidade de amarrar tudo isso em um processo que balanceie disciplina e agilidade, com níveis de formalismo adequado. Para permitir às organizações “tirar o máximo de proveito de uma Arquitetura de Software OO” a carteira de treinamento e mentoria da Powerlogic enfoca: Prover o mínimo essencial de conhecimento técnico para o corpo gerencial através de “insights” práticos, de modo a conhecerem riscos e ficarem sensíveis às oportunidades advindas da tecnologia e arquitetura sobre as quais seus projetos irão rodar; Dotar os analistas de requisito e negócio do conhecimento suficiente para “especificarem para o reuso (em alto nível)”; bem como Analistas de Teste para testarem com foco no que é específico, e não arquitetural; E por fim, capacitar os desenvolvedores em obter o máximo de resultado com o mínimo de código, evitando o uso indiscriminado de “criatividade artesanal”, que deve ser aplicada de modo consciente, onde e apenas quando necessário. Para mais informações contate a Powerlogic através de [email protected] ou [email protected] , via telefone (55) 31 3555-0050 ou via comunidades http://www.softwarepublico.gov.br/ver-comunidade?community_id=25913900 , www.powerlogic.org ou www.powerlogic.com.br . 5