• Nenhum resultado encontrado

Legislativo nos Trilhos

N/A
N/A
Protected

Academic year: 2021

Share "Legislativo nos Trilhos"

Copied!
7
0
0

Texto

(1)

Legislativo nos Trilhos

Marcia Almeida1, Henrique Gregianin Testa1 1

Câmara Municipal de Porto Alegre

Av. Loureiro da Silva, 255 - Porto Alegre – RS – Brazil – CEP <...>

{marcia.almeida,henrique@camarapoa.rs.gov.br

Abstract. This document presents the evolution of software development in the Assessoria de Informática of Porto Alegre City Council and the ininterrupt research for high productive technologies and processes for a small team with limited resources.

Many alternatives had been experimented until a solution was found. The current solutionsWith focus on simplicity and based on Ruby on Rails Web framework and Agile Methods

Now, thanks to open source software, the Porto Alegre City Chamber developed almost two dozens of applications in-house by its small team of programmers, and receive many interested people around Brazil

Resumo. Este documento apresenta a trajetória do desenvolvimento de software da área de TI da Câmara Municipal de Porto Alegre e sua busca por tecnologias e metodologias mais produtivas e adequadas para uma pequena equipe com recursos limitados. No decorrer do tempo, experimentaram-se diversas alternativas até que a atual solução, que prioriza a simplicidade e se baseia no framework Ruby on Rails e métodos ágeis, despontasse como sucesso visível. Atualmente, graças ao software livre, a Câmara Municipal de Porto Alegre conta com mais de duas dezenas de aplicações desenvolvidas in-house pela sua pequena equipe de programadores e recebe visitas de inúmeros legislativos brasileiros interessados em seus sistemas.

1. Introdução

Em muitos legislativos municipais ou estaduais do Brasil, é comum a terceirização do desenvolvimento de software, ou a aquisição de produtos finalizados, que demandam grande esforço e recursos financeiros consideráveis para sua customização. É comum, também, a existência de equipes próprias, que projetam sistemas, alocam recursos, iniciam o desenvolvimento e jamais terminam a tarefa, por motivos que variam desde a inaptidão da equipe, escolha infeliz de ferramentas, até a alta rotatividade de administradores característica das casas legislativas em que, não raro, há ausência de planejamento estratégico.

A Câmara Municipal de Porto Alegre (CMPA) possui uma área de tecnologia da informação (TI) bastante diferente da maioria dos legislativos do país. O setor trabalha

(2)

da forma que muitas fábricas de software ainda não são capazes. As soluções próprias são desenvolvidas de forma ágil, primam pela qualidade e simplicidade, satisfazendo as necessidades do usuários e alinhando-se aos propósitos da administração, que busca a otimização de rotinas e a racionalização de custos.

Este trabalho mostra o caminho percorrido pelo legislativo porto-alegrense para alcançar o estágio em que se encontra, estando organizado como mostramos a seguir. A seção 2 apresenta uma visão geral sobre recursos tecnológicos da CMPA, bem como os primeiros passos da área de TI como provedora de soluções de software para a instituição; mostra, ainda, o primeiro contato com o software livre. Na seção 3, são mostrados as consequências que podem resular de uma escolha não-baseada em reais necessidades. Na seção 4 são apresentadas as duas principais ferramentas utilizadas para desenvolvimento de aplicativos. A seção 5 descreve os principais sistemas desenvolvidos....

2. Os Primórdios do Software Livre no Legislativo Porto-Alegrense

A Câmara Municipal de Porto Alegre (CMPA) possui aproximadamente 900 funcionários, que utilizam recursos tecnológicos disponibilizados pela Companhia de Processamento de Dados de Porto Alegre (Procempa), em se tratando de infraestrutura de rede, e pela área de tecnologia do próprio Legislativo, que entre outras tarefas provê suporte de hardware e software ao usuário.

A Assessoria de Informática (AI), como é denominada a área de TI, foi criada em <...>, servindo a <numero de funcionários> e contando, para tanto, com <nº de equipamentos>. Atualmente, o parque de informática conta com <> microcomptadores <...> em um ambiente totalmente Windows. Mas não é na gestão de equipamentos e suporte que o setor se destaca.

Desde sua criação, a AI demonstrou especial gosto pelo desenvolvimento de software. O primeiro produto idealizado, por volta de <...> tratava-se de um sistema para controle de tramitação de projetos, produto indispensável à instituição, já que seu principal objeto de negócio é a lei, cuja primeira forma é o projeto legislativo. A idéia veio a ser concretizada vários anos após a idealiação, no ano de 2000, e consistia em poduto totalmente desenvolvido em Delphi 5 e banco de dados Sql Server 7.0.

A equipe de desenvolvimento era formada por três funcionários inexperientes, sem maiores conhecimentos sobre boas práticas de análise e desenvolvimento, sem metodologia nem gerência efetiva do projeto; apesar disso, o sistema foi finalizado e implantado. Foram inúmeras as lições aprendidas no decorrer do processo, mas restou a certeza de que era possível obter sucesso com o desenvolvimento próprio e que havia vantagens para tanto. Era claro, porém, o desejo da equipe de que não se sofresse tanto para a execução da tarefa, principalmente com ferramentas.

A experiência levou a área de TI a pesquisar, a entender, a conhecer o estado da arte naquele momento e então entramos em contato com o software livre. Passamos a vislumbrar um novo mundo a partir da primeira edição do Fórum Internacional do Sofware Livre, no ano de 2000. Palestrantes como Rasmus Lerdorf e <> levaram-nos à adoção imediata de ferramentas como PHP e Apache, com as quais desenvolvemos o primeiro sistema web da CMPA, o Sistema de Controle de Quotas (SCQ), ainda hoje o principal mecanismo para controle de gastos de parlamentares do legislativo municipal e apontado como ferramenta exemplar de controle por técnicos do Tribunal de Contas

(3)

do Estado do Rio Grande do Sul.

3. Em Busca da Tecnologia Perfeita

Apesar do êxito do SCQ, devido em muito à feliz escolha das ferramentas de desenvolvimento e implantação, continuávamos nossa busca por tecnologias que nos permitissem aliar sucesso, produtividade e a não necessidade de realização de grande esforço para codificação; além disso, sempre foi muito importante para a equipe a certeza de estar atualizada tecnologicamente, alinhada ao mercado, apesar de pertencermos a um órgão público <dar razões>. Na época, o mercado estava voltado para Java, e nos sentimos fortemente atraídos por parecer que tal tecnologia poderia ser a solução para todos os nossos problemas.

A adoção do Java foi proposta com base nas vantagens que a tecnologia oferecia, principalmente o fato de ser aplicável à construção de diferentes tipos de soluções, que poderiam variar de simples aplicações standalone a complexos sistemas enterprise de múltiplas camadas, passando por sistemas web e aplicações para dispositivos móveis. Realizou-se investimento para qualificação da equipe de desenvolvimento, que participou de treinamentos diversos em Java e tecnologias correlatas, entre elas XML, Taglibs e Struts.

Devidamente treinados, passamos à realização de projetos pilotos que jamais o deixaram de ser. Tarefas simples levavam meses para ser concluídas e jamais empregamos a maior parte do que foi ministrado nos cursos de que participamos. Não desenvolvemos um sistema standalone sequer, muito menos aplicativos J2ME, que nunca foram demandados. A curva de aprendizado do Java mostrou-se mais íngreme do que qualquer outra que tivéssemos conhecido e todo o progresso que havíamos conseguido com a dupla PHP e Apache estava agora muito distante de ser atingido com aquilo que parecia ser a panacéia do desenvolvimento de software.

Em nossa busca incessante pela ferramenta perfeita, em 2005 viemos a conhecer a tecnologia que viria mudar radicalmente o tipo de software disponibilizado aos usuários da CMPA e indiretamente à população de Porto Alegre. Não se tratava de solução aplicável a qualquer tipo de problema, mas aos nossos problemas específicos; a ferramenta ideal para o perfil da equipe que tínhamos; a tecnologia que permitiria que passássemos a maior parte do tempo trabalhando em nosso próprio negócio, e não tentando juntar peças que pareciam que nunca se integrariam. O Ruby on Rails (RoR) permitiu que nossa equipe de desenvolvimento encontrasse real satisfação em produzir software.

4. Câmara on Rails

O primeiro sinal de que o Rails era a ferramenta que buscávamos foi o fato de conseguirmos desenvolver em um mês e meio aquilo que não havíamos conseguido em um ano e meio com Java: um sistema de permissões baseado em papéis. A partir daí, começamos a traçar grandes planos para a instituição, a cuja administração foram devidamente apresentadas as razões pela qual estávamos adotando outra tecnologia que não aquela em que recursos financeiros e tempo haviam sido amplamente empregados.

4.1. Sobre o Rails

(4)

desenvolvidos sobre a linguagem Ruby, não muito conhecida antes da existência desse framework [ref]. Criado em 2003 por David Heinenmeier Hansson, o RoR influenciou muitos outros frameworks com a adoção dos princípios “Convenção sobre Configuração” (Convention over Configuration - CoC) e “Não se Repita” (Don’t Repeat Yourself - DRY). [ref][wikipedia].

O Ruby on Rails é um framework que utiliza o padrão model-view-controller (MVC), abrangendo desde o módulo de mapeamento objeto-relacional com o sistema gerenciador de banco de dados até a integração com bibliotecas JavaScript para a criação de páginas ricas e interativas. A mínima configuração e o fato de se apresentar como uma solução completa para a produção de uma aplicação web tradicional mostrou-se ideal para a Câmara.

Não é vergonhoso mencionar que até o advento do início da utilização do Rails trabalhávamos de forma pouco ortodoxa, desenvolvendo procedimentos quase caóticos para controlar versões de código. As ferramentas que conhecíamos tinham preço considerável e apresentavam vários problemas. O primeiro controlador de versões que utilizamos foi o CVS [ref], que logo foi substituído pelo SVN [ref] e que, em 2008, foi substituído pelo GIT.

4.2. Sobre o GIT

O Git é um sistema de versionamento de código aberto criado por Linus Torvalds em 2005 e originalmente concebido para desenvolvimento do kernel do Linux. Desde então o Git se mostrou eficiente para controle de versões de software em geral e a sua adesão vem crescendo significativamente [ref], principalmente por sua natureza distribuída e por sua rapidez [ref].

5. Principais Sistemas Desenvolvidos

A alta produtividade advinda da adoção do Rails mudou o papel desempenhado pela área de TI da CMPA. De aspirantes a desenvolvedores de sistemas, nos tornamos uma área realmente capaz de oferecer ferramentas que fizessem a diferença nas atividades desempenhadas pelos nossos usuários. Mais ainda: tornamo-nos parceiros da administração da Casa na otimização de rotinas, implantação de novos processos e eliminação de procedimentos que não tinham mais sentido considerando o avanço tecnológico.

O primeiro sistema desenvolvido com Rails na CMPA foi o Sisprotweb, módulo disponibilizado via internet à população para realização de consultas sobre os projetos de lei propostos pelo legislativo. Logo a seguir, produzimos os fundamentos necessários ao desenvolvimento de nosso portal intranet de serviços, uma estrutura que deveria prover controle de acesso a todas as aplicações que viessem a ser desenvolvidas internamente. Atualmente, a estrutura gerencia o acesso de aproximadamente 800 usuários a 40 diferentes sistemas, todos integrados e desenvolvidos em RoR a partir de 2006. A seguir descrevemos os principais sistemas disponibilizados ao legislativo.

5.1. Recursos Humanos

É o módulo que permite à área de recursos humanos gerenciar a vida funcional dos servidores do Legislativo. O sistema integra diversos tipos de informações úteis a muitos setores diferentes, de forma centralizada, eliminando redundâncias e retrabalho

(5)

e, em muitos casos, a redução do uso de papel.

5.2. Efetividade

Sistema desenvolvido com base no módulo de recursos humanos, possibilita que as chefias de todos os setores da Casa gerenciem as dados pertinentes à presença dos funcionários, atestados, faltas, licenças, entre outras informações. Antes da adoção, havia sérios problemas em relação ao não cumprimento de prazos para prestação de informações que interferiam diretamente na folha de pagamento dos funcionários. Além disso, a forma como as informações eram coletadas era extremamente arcaica. Mas a principal decorrência da implantação do ponto de vista da área de desenvolvimento, foi a certificação de que nossos sistemas atingiam os funcionários em sua totalidade, já que estavam utilizando o sistema, tranquilamente, servidores dos mais diferentes níveis culturais e de conhecimento de informática.

5.3. Processo Eletrônico

Sistema que permite a anexação dos documentos que compõem os projetos de lei em tramitação no Legislativo, possibilitando a consulta e o download na íntegra pela população, tão logo sejam propostos pelos parlamentares. Integra-se ao Sisprot, implantado em 2000, e possui um conversor desenvolvido internamente para conversão de arquivos de tipos diversos para o formato pdf.

5.4. Central de Transportes

Módulo que deu suporte à mudança da maneira pela qual os parlamentares utilizavam os veículos oficiais na CMPA. O sistema permite a solicitação de veículos online, dependendo da disponibilidade, e o gerenciamento dos recursos por setor específico, que pode controlar quilometragem realizada, gasto de combustível e, em breve, rotas percorridas.

5.5. Portal Transparência

Sistema que integra o Sisprot, o módulo de Recursos Humanos, o módulo de Efetividade e o Sistema de Controle de Quotas a fim de prestar contas à população sobre gastos de parlamentares com telefonia fixa e móvel, cópias, impressões, material de expediente, indenização por uso de veículo, assinaturas de jornais e revistas, viagens e diárias, bem como sobre funcionários lotados, funções exercidas, execução orçamentária, entre outras informações.

5.6. Ouvidoria

Sistema que integra o Sisprot, o módulo de Recursos Humanos, o módulo de

5.7. Helpdesk

Sistema que integra o Sisprot, o módulo de Recursos Humanos, o módulo de

6. Próximos Passos

Enquanto este artigo está sendo escrito, desenvolve-se o novo site da CMPA, com lançamento previsto para agosto deste ano. Juntamente com o site, um conjunto de

(6)

novos sistemas, que se integram ao site, entrará em funcionamento na mesma data. São esses o Banco de Imagens, Sistema de Notícias, Sistema de Newsletter, Agenda Única e Sistema de Sessão Plenária, todos desenvolvidos com o Ruby on Rails.

Acreditamos que ser adepto do software livre não significa apenas utilizar ferramentas gratuitas, mas também colaborar de alguma forma para que ele se apresente como a solução ideal para um número cada vez maior de indivíduos e entidades. Nesse sentido, disponibilizamos o código-fonte do sistema de Ouvidoria no Github <ref> para acesso público, sendo o primeiro de uma série de sistemas de código aberto que serão disponibilizados nos próximos meses para todos os legislativos brasileiros interessados e para a sociedade em geral. Entendemos que esse seja um passo também em direção a uma maior comunicação e transparência entre as instituições.

- falar da migração de windows para linux nos servidores? - portal do legislativo, para compartilhar experiências? Estado da arte...

7. Considerações Finais

O primeiro sinal de que o Rails era a ferramenta que buscávamos foi o fato de References

Boulic, R. and Renault, O. (1991) “3D Hierarchies for Animation”, In: New Trends in Animation and Visualization, Edited by Nadia Magnenat-Thalmann and Daniel Thalmann, John Wiley & Sons ltd., England.

Dyer, S., Martin, J. and Zulauf, J. (1995) “Motion Capture White Paper”, http://reality.sgi.com/employees/jam_sb/mocap/MoCapWP_v2.0.html, December. Holton, M. and Alexander, S. (1995) “Soft Cellular Modeling: A Technique for the

Simulation of Non-rigid Materials”, Computer Graphics: Developments in Virtual Environments, R. A. Earnshaw and J. A. Vince, England, Academic Press Ltd., p. 449-460.

Knuth, D. E. (1984), The TeXbook, Addison Wesley, 15th edition.

Smith, A. and Jones, B. (1999). On the complexity of computing. In Advances in Computer Science, pages 555–566. Publishing Press.

Wikipedia. 2009. Ruby on Rails. Disponível em <http://en.wikipedia.org/wiki/Ruby_on_rails>. Acesso em: abril de 2009.

Git. 2009. About Git. Disponível em <http://http://git-scm.com/about>. Acesso em: abril de 2009.

Wikipedia. 2009. Git (software). Disponível em <http://http://en.wikipedia.org/wiki/Git_(software)>. Acesso em: abril de 2009.

(7)

público, mas não desistimos. Seria mais fácil tereceirizar, assim como para uma pequena empresa seria mais fácil enerrar atividades

 Não estamos falando mal de java, apenas não é adequado as nossas necessidades nem ao perfil dos deenvolvedores

 perfil da instituição e dos profissionais

 o sucesso dos sistemas tem como pré-requisito a informatização e um nível básico de treinamento

 citar também o restante dos sistemas

Referências

Documentos relacionados

• Gerar nos alunos de Análise e desenvolvimento de software a capacidade de analisa, documentar e especificar sistemas computacionais de informação.. Estes devem fazer uso

• O ciclo de vida iterativo e incremental pode ser visto como uma generalização da abordagem em cascata: o software é desenvolvimento em incrementos e cada incremento é desenvolvido

• Deve-se avaliar o conjunto de requisitos essenciais para a definição do Documento de Visão do software e este deve incluir o escopo do projeto e suas limitações, bem como

• Depois de determinar os custos e benefícios para uma possível solução, você pode realizar a análise de custo- benefício.. Estudo

• Requisitos são tipicamente utilizados como informações fundamentais para a fase de projeto de um produto ou serviço, especificando as propriedades e funções necessárias

(iv) estimate technological profile for Brazil and BLUM regions considering zoo technical indexes and calculated productivities (beef and dairy sectors); (v) estimate costs

Tem como diretrizes, a integração com as políticas e diretrizes das Secretarias Municipais, das Subprefeituras e órgãos equiparados; o incentivo e apoio às

Dissertação (Mestrado Profissional em Gestão e Tecnologia em Sistemas Produtivos). Centro Estadual de Educação Tecnológica Paula Souza, São Paulo, 2014. A Governança Corporativa,