Ambiente de desenvolvimento de software
Autor: Paulo Alcion de Oliveira - GPS
A CELEPAR, através de seu corpo diretivo e gerencial, vem desenvolvendo um trabalho contínuo de melhoria, voltado à consolidação de uma empresa alinhada com as necessidades de seus Clientes e competitiva em relação ao mercado. Na continuidade deste trabalho, em meados do ano passado foi definido um conjunto de metas que, pela sua relevância e importância no contexto, deveriam estar consolidadas até o final deste ano. Estas metas, definidas pelas gerências da empresa, geraram projetos que passaram a ser tratados no conjunto como PROJETOS CELEPAR - 1998. A área de Desenvolvimento de Software vem, já há alguns anos, implementando uma série de melhorias em seus processos produtivos e de gestão. Houve evolução... contamos com processos metodológicos internalizados, conseguimos avanços em procedimentos de gestão, temos dominado e utilizado novas tecnologias, encontramos maneiras viáveis de trabalhar com terceiros. Sentimos que precisávamos evoluir mais e uma das metas definidas diz respeito ao nosso Ambiente de Desenvolvimento de Software. Pela atuação eficaz de nosso corpo técnico, contamos atualmente com um ambiente de desenvolvimento Mainframe estabilizado e estruturado, onde os conhecimentos estão sedimentados. Temos procedimentos documentados, ferramentas de apoio ao desenvolvimento, padrões de interface e de construção de código, ambientes de testes e produção que permitem o armazenamento adequado de programas-fonte, rotina genérica de navegação, biblioteca de funções que permitem o reuso, uma estrutura de suporte ágil e outros. Enfim, um ambiente de desenvolvimento robusto, que nos permite produtividade e qualidade na geração de produtos. Verificamos que precisávamos evoluir e propiciar ao nosso ambiente Micro o mesmo grau de amadurecimento, adaptando-o às necessidades das novas tecnologias que estamos implementando. Neste contexto surge o projeto de Consolidação do Ambiente de Desenvolvimento de Software. O objetivo do presente artigo é comentar sobre este projeto, destacando os objetivos, quais os produtos gerados e os resultados alcançados até o momento. Ambiente de Desenvolvimento de Software O projeto visa organizar um modelo/plataforma para o desenvolvimento de software, com foco nas tecnologias que estão sendo utilizadas atualmente e no conhecimento/experiência técnica adquirida pela empresa. O projeto é gerenciado pela área de desenvolvimento, sendo a responsabilidade técnica da área de prospecção tecnológica e contando com a participação de todas as áreas técnicas da empresa. Dentre os produtos tratados no projeto, cabe ressaltar três principais, na forma de subprojetos:
Programa de Reciclagem em Tecnologia da Informação Este subprojeto tem como objetivo organizar os conhecimentos tecnológicos e de processos de produção adquiridos pela empresa sob a forma de cursos, a serem ministrados aos componentes da área de desenvolvimento. Inicialmente o programa foi organizado por módulos tendo como foco as questões que envolvem Front-end, Middleware e Back-end. Para cada módulo são estabelecidos o objetivo, pré-requisitos, conteúdo programático e carga horária. A idéia é preparar os módulos, passar pela avaliação de uma primeira turma, fazer as adaptações necessárias e colocar em "produção" - aguardando a solicitação de montagem de turmas. Os módulos definidos até o momento são:
Os módulos I, II e III já estão em produção, sendo que foram treinados 50% dos componentes da área de desenvolvimento. O módulo IV está em elaboração a partir da especificação do conteúdo programático. Os módulos V e VI estão em trabalho de especificação de conteúdo. A meta é termos estes módulos em produção até o final de 1998, sendo que os resultados até o momento mostraram-se satisfatórios. O principal interesse é reciclar todos os componentes da área em novas tecnologias e processos produtivos, dando condições técnicas para que os projetos sejam beneficiados com soluções próximas das necessidades dos clientes. Portfólio de Tecnologias Este subprojeto tem como objetivo descrever as tecnologias em uso na empresa, a partir dos conhecimentos e experiências do corpo técnico, divulgando-as no suporte às atividades de definição de soluções em projetos. Para facilitar a organização das informações e manter homogeneidade nas descrições das tecnologias, foi preestabelecida uma série de tópicos (framework) a serem tratados. Para cada item foi criado grupo de especialistas, com componentes com reconhecido conhecimento e experiência no assunto a ser descrito. Para divulgar os conhecimentos foi criada uma base de dados que está disponível para toda a empresa (Intranet). A idéia é que cada grupo trabalhe permanentemente na tecnologia, mantendo atualizada a base, a partir de novos conhecimentos adquiridos e a partir de solicitações e sugestões apresentadas pelos usuários. Inicialmente, foi tratada uma tecnologia piloto (ACCESS), visando testar o framework definido. Após as adaptações necessárias foram descritas mais algumas tecnologias (DELPHI, ACCESS, NOTES e INTERNET), partindo-se posteriormente para a divulgação da base, em termos de objetivos e funcionalidades, para toda a empresa. No momento definimos mais algumas tecnologias e temos como meta estarem descritas até o final de 1998. O que começou com tecnologias, mostra-se viável para descrever também processos e estamos também trabalhando para adaptar a base a esta nova necessidade. Os resultados alcançados são muito interessantes, sendo que a idéia de mantermos, em uma única base de informações, o conhecimento adquirido pelo corpo funcional da empresa mostra-se fascinante, com uma gama de possibilidades que realmente gera entusiasmo. O assunto Knowledge Management (Gerenciamento de Conhecimento) foi um dos assuntos importantes tratados na COMDEX 98, seja em termos de ferramentas como em mostrar que este é o caminho para agilizarmos o processo de atendimento de clientes e estabelecermos melhores decisões. Neste contexto o conhecimento adquirido por uma única pessoa é extremamente importante para a organização, merece ser registrado e colocado à disposição de todos. Aquele que está tratando de alguma necessidade, precisa de informações para agilizar o seu processo de trabalho e garantir produtos com melhor qualidade. Enfim, atualmente, o trabalho em equipe é extremamente necessário, principalmente pela dinamicidade das mudanças provocada pelo surgimento de novas tecnologias. Tendo isto como referência, é preciso investir, tanto no gerenciamento da atualização dos dados da base, como no gerenciamento da utilização dos mesmos. Verificar como está o uso, redirecionar trabalhos, criar novas funcionalidades e facilidades, divulgar e muitas outras atividades. Pensando nisto, estamos abrindo novo projeto de Consolidação do Portfólio de Tecnologias, com metas mais ambiciosas. O principal interesse é manter informações que apoiem a especificação de soluções em projetos, em termos de tecnologias e processos. É importante observar que a falta de informação não deve causar desconforto e desmotivar novas consultas. O entendimento a ser dado é que temos que sugerir a atualização a partir das necessidades, pois somente assim estaremos garantindo atendimentos futuros. As informações devem alavancar a possibilidade de utilização de novas tecnologias e processos em projetos. Entender que somente interessam as informações daquilo que já estamos trabalhando é não utilizar as potencialidades dos conhecimentos descritos. Gerenciamento de Configuração através da ferramenta Team Windows Este subprojeto tem como objetivo implantar uma ferramenta de gerenciamento de configuração de itens de software na plataforma micro. Decidimos adotar uma ferramenta que já tínhamos à disposição na empresa, ou seja, o Team Windows (esta ferramenta vem incorporada ao pacote SQL-Windows). Na fase de avaliação da ferramenta verificamos limitações, mas como o projeto previa como requisito somente adotar o que estivesse à disposição na empresa, resolvemos investir. Adotamos como abordagem treinar na ferramenta um grupo de multiplicadores composto de representantes de cada divisão da área de desenvolvimento. Também foi estabelecido o processo que seria adotado de acordo com as funcionalidades da ferramenta: guarda de versões de itens de configuração e possibilidade de gerenciamento de grupo de trabalho. Cada multiplicador ficou responsável, em conjunto com as chefias, de implantar a ferramenta em cada divisão, segundo plano específico estabelecido. Este trabalho está em andamento. Tivemos que trabalhar na segurança dos dados do repositório da ferramenta. Isto mostra-se importante para garantir que itens possam ser rapidamente recuperados, na eventualidade de haver problemas com o servidor dos dados. Ter os itens de todos os sistemas devidamente armazenados é uma questão de tempo. O trabalho será manter os sistemas a partir de agora e aos poucos recuperar os itens de sistemas mais antigos. Em todos os casos os itens devem ser adaptados para um padrão estabelecido. O principal interesse é manter em um único local os itens de configuração dos sistemas micro e também gerar cultura no processo de Gerenciamento de Configuração. A partir da obtenção dessa experiência, poderemos investir na especificação de requisitos e aquisição de uma ferramenta mais robusta e que possibilite mais funcionalidades e facilidades, talvez com a possibilidade de tratar de forma conjunta os ambientes mainframe e micro. Conclusão Um fato importante a observar é como um projeto que parecia simples a princípio, pode gerar algo que cause entusiasmo (pelo menos em quem está gerenciando). Talvez esteja aí algo a ser analisado: o quanto uma idéia simples em que resolvamos investir, pode gerar desdobramentos que chegam a empolgar. Certamente houve dificuldades, mas com um trabalho de gestão próximo ao projeto, não há problema que não se resolva. Com o talento técnico existente na empresa aliado ao processo de organização, certamente serão alcançados os melhores resultados. Voltando às questões específicas do projeto, observa-se que estão sendo alcançados resultados e conseqüentemente estão surgindo novas idéias e projetos. Já surgiram propostas de se criar novos módulos para o programa de reciclagem; estamos desenvolvendo versões do portfólio e contratando grupos especialistas; temos em vista novas ferramentas de gerência de configuração; queremos investir mais no ambiente procurando/adquirindo novas ferramentas de desenvolvimento, e outros. O projeto gerou alguns produtos secundários, que também contribuirão para a melhoria do nosso trabalho. A organização de algumas questões expõe naturalmente outras necessidades, que poderão ser tratadas na seqüência. Tudo isto tem um foco principal que é o nosso Cliente, que será atendido de forma mais rápida e com melhor qualidade. |