Projeto de Orçamento TI

    Todo período de estágio foi dedicado ao projeto de um sistema de controle de orçamento na área de TI da empresa. Neste projeto, fui o responsável por todo processo de especificação e desenvolvimento, sob orientação da coordenadora de desenvolvimento interno, Cláudia Miyazaka, e com intensa participação dos clientes do sistema, o diretor de TI, Michel Basciano, e o gerente da área, José Batista.

  1. Contexto

    Periodicamente no Banco BNP Paribas é efetuado o levantamento da previsão de gastos anual. Este é o orçamento e pode ser de 2 tipos:

    O banco possui diversos "departamentos" para os quais os custos são alocados, estes são chamados de Centros de Custo. Na área de TI temos cerca de 15 Centros de Custos e cada um destes possui um coordenador responsável. Ex: Redes, Management, Desenvolvimento interno, etc... Pode-se ter para cada Centro de Custo inúmeros projetos relacionados. Os projetos por sua vez contêm os custos a serem considerados no Orçamento.

    Todo tipo de custo é levado em conta: desde compra e manutenção de equipamentos e softwares, gasto com funcionários até com viagens e estadias. Podemos classificar os custos em: despesas e investimentos. As despesas têm uma regra especial: não são custeadas para o Centro de Custo diretamente relacionado, elas são distribuídas para os Centros de Custo do Banco de acordo com uma série de parâmetros denominada Chave de alocação. Para cada projeto temos uma chave de alocação definida.

    Exemplo Simples de alocação:

    É função do coordenador levantar os custos de cada projeto relacionado ao centro de custo do qual é responsável. O diretor da Área por sua vez tem o papel de analisar cada um destes projetos, e se for necessário efetuar os cortes necessários, e no final entregar relatórios a seus superiores.

  2. Proposta do Sistema

    Antes da implantação do sistema, na área de TI o orçamento era todo feito através de planilhas em Excel resultando em processo bastante trabalhoso.

    Este sistema foi desenvolvido com os objetivos:

    No sistema proposto temos o seguinte fluxo (simplificado) de atividades realizadas pelos usuários:

    1. O diretor cria um novo orçamento no sistema
    2. O diretor insere manualmente ou através de importação de dados de planilhas em Excel os parâmetros necessários para o cálculo dos gastos, alocações e montagens de relatórios (por exemplo, cotação dólar, taxa de IGPM, custo médio de uma viagem etc...)
    3. Os coordenadores criam os projetos dos quais são responsáveis no sistema
    4. Os coordenadores inserem os custos de cada projeto no sistema.
    5. Assim que terminado o coordenador "assina" o projeto, e deste modo ele não tem mais permissão para modificá-lo.
    6. O diretor analisa o custo orçado em cada projeto assinado e aprova ou rejeita, e neste caso para o projeto rejeitado o coordenador volta a ter acesso para modificação.
    7. O diretor assina o orçamento, e agora nenhum item do orçamento pode ser modificado.
    8. O diretor gera os relatórios.

  3. Arquitetura

    O sistema segue o modelo de 4 Camadas:

    Cliente (Web Browser)
    Camada Apresentação (ASP)
    Camada Lógica (COM+ DLL)
    Camada Dados (SQL Server)

    Este modelo foi utilizado pois se trata de um modelo muito utilizado, eficaz e flexível:


    Figura Ilustrativa da base de dados do sistema

    A escolha das tecnologias utilizadas para cada camada foi restrita aos produtos Microsoft, mas que não foram empecilho algum para a implementação do sistema. Pela minha falta de experiência e a possibilidade de reaproveitamento de códigos e componentes foi adotada a tecnologia padrão já utilizada na intranet, baseada em páginas em ASP, Componentes DLLs (comunicação através do middleware* COM+) e banco de dados MS SQL Server.
    *Software que permite a intercomunicação de estruturas de software

  4. Ferramentas Utilizadas
     
  5. Processo de Desenvolvimento

    A área de desenvolvimento interno da empresa tem uma metodologia padrão baseada no modelo em cascata. Porém pude tomar a liberdade de adotar o modelo de desenvolvimento incremental no desenvolvimento deste sistema. As poucas restrições foram para validação final e implantação e, portanto seguimos as normas do departamento:

    Foram definidas 3 iterações do processo de desenvolvimento que corresponderam aos 3 módulos do sistema:

    1. Controle do Orçamento.

      Nesta fase foi desenvolvido o módulo essencial do sistema. Funcionalidades para controle do orçamento foram implementadas: criação, exclusão, cópia, alteração de dados e status de parâmetros, orçamentos e projetos. Como os requisitos nesta fase pareciam bem simples, o processo adotado nesta iteração foi o modelo em cascata. A interação com o cliente foi intensa na parte inicial para especificação, com a definição dos dados necessários ao sistema e a definição da interface gráfica do sistema (com o uso de protótipos de interface).

      Clique para Visualizar em Detalhes Clique para Visualizar em Detalhes Clique para Visualizar em Detalhes Clique para Visualizar em Detalhes
      Screenshots das telas do sistema
    2. Geração de Relatórios

      Este módulo é responsável pela geração de relatórios em formato Excel a partir dos dados inseridos no sistema no módulo anterior.
      Como havia conceitos não muito bem definidos para este processamento foi utilizado o modelo de desenvolvimento evolucionário exploratório nesta fase.
      Temos 3 tipos principais de relatórios:

      • Resumo CC - Contém o resumo de gastos em um centro de custo de TI por projeto.
        Clique para Visualizar em Detalhes
      • Relatório Step 1 - Contém o resumo de gastos por centro de custo que pertencem à área de TI, além do número de funcionários e headcount (= Soma dos meses trabalhados pelos funcionários dividido por doze) alocados em cada Centro de Custo.
        Clique para Visualizar em Detalhes
      • Relatório Step 2 - Contém as despesas da área de TI alocadas por centro de custo (de todo o banco)
        Clique para Visualizar em Detalhes

      Além destes temos a geração de outros relatórios auxiliares, utilizados apenas para análise do diretor:

      • Relatório de Despesas
      • Relatório de Investimentos
      • Comparativo por C.C. com orçamentos anteriores.
      • Comparativo por Projeto com orçamentos anteriores
      • Comparativo de Alocação por Departamento*
      • Comparativo de Alocação detalhada por Departamento*
      *OBS: Aqui um departamento é definido como um conjunto de Centros de Custos.
       
    3. Controle Efetivo

      Além do controle do orçamento, é importante prover o controle de gastos efetivos e poder analisar os dados e comparar com o orçamento. Inicialmente, este módulo não nem estava previsto, ele foi desenvolvido no período final do estágio e, portanto as funcionalidades e requisitos necessários eram uma incógnita, por isso adotei o modelo evolucionário exploratório com uso intenso de protótipos para definir funcionalidades adicionais ao sistema que poderiam auxiliar o controle de gastos efetivos. A única funcionalidade que estava bem definida era a geração automática de um relatório idêntico ao step 2, mas somente com as despesas que de fato foram gastos em um mês.

  6. Dificuldades, Resultados e Futuro do Sistema

    A parte de codificação no início não foi fácil devido à inexperiência nas tecnologias utilizadas, entretanto, o maior desafio neste sistema foi a coleta de requisitos e modelagem. Em especial, o processo de alocação foi o mais trabalhoso, a maioria das chaves de alocação não eram triviais (como no exemplo), e suas regras muitas vezes não eram claras (nem mesmo para o diretor da área de TI).

    O projeto de Orçamento foi implantado com sucesso na área de TI preenchendo os requisitos estipulados. O sistema reduziu consideravelmente o trabalho dos coordenadores, e em grau ainda maior ao diretor da área pois a geração de relatórios ficou totalmente automatizada no processo de orçamento.

    Ainda está planejado o incremento do sistema na parte relativa ao controle efetivo de gastos. Existe a possibilidade no futuro de que com base neste sistema ocorra o desenvolvimento e integração do processo orçamentário com as outras áreas do banco.

    * Os dados contidos nos exemplos deste documento têm apenas caráter ilustrativo, contendo somente valores fictícios.