MAC 499 – Trabalho de Formatura Supervisionado
Aluna: Daniella Rios Sales
Supervisor: prof. Kunio Okuda
2. Natureza da organização e da atividade
3.1 Pontos de integração
3.2 Estrutura de hospedagem
3.8 Principais Características
4. Forma de organização da equipe de trabalho e atribuição de
responsabilidades
Nessa introdução farei um pequeno resumo sobre o meu primeiro estágio, em uma empresa de consultoria financeira. Explicarei o que me levou a mudar completamente de área de atuação.
1.1 A empresa
A Prandini, Rabbat & Associates é uma empresa especializada em soluções para risk-management, precificação e hedging de derivativos, asset allocation e risco de crédito. Presta serviços para as grandes instituições financeiras do país.
A PR&A desenvolve e implementa soluções nas áreas de finanças, otimização, estatística e computação de modo a fazer face às demandas mais atuais do mercado.
1.2 O estágio
Nos três meses e meio em que estagiei na PR&A (de fevereiro/2000 a maio/2000), participei do desenvolvimento de dois projetos.
O primeiro foi um software apenas para utilização interna (da própria empresa), mais precisamente da área de economia. Este programa necessitava de cálculos muito simples e de uma interface amigável e, por isso, foi desenvolvido totalmente em Delphi. Havia um banco de dados também bem simples, onde era possível armazenar fundos de aplicação financeira e suas características, como o "benchmark" a que ele estava associado, sua taxa de administração e de performance, etc. Era também possível armazenar as cotas diárias dos fundos e "benchmarks" cadastrados. Essas "alimentações" eram feitas a partir de arquivos no formato .xls, de modo a facilitar o trabalho dos economistas.
De posse desses dados e de acordo com a necessidade do usuário, o programa realizava diversos cálculos que eram apresentados aos usuários em planilhas (permitindo que fossem salvos em formato .xls), e possibilitava a criação de três diferentes tipos de gráficos.
Este projeto teve a duração de aproximadamente cinco semanas, visto que um dos objetivos de sua realização foi a aprendizagem e familiarização do ambiente Delphi.
Já o segundo projeto foi mais amplo e complicado. Devido ao grande número de cálculos e sua complexidade, chegou-se à conclusão que deveria ser desenvolvida uma DLL em Visual C que realizasse todos esses cálculos. Depois que tivéssemos essa DLL, seria feita então a interface em Delphi.
O projeto foi dividido em duas partes: a primeira era uma simulação do Gap Atuarial em bancos (na área de previdência social) e a segunda parte era um problema de otimização do valor ativo do sistema. Durante quatro semanas estive desenvolvendo e testando a DLL para a primeira parte do projeto (simulação). Apesar de, a princípio, as dificuldades não parecerem muitas, tive alguns problemas com a velocidade dessa DLL, uma vez que eram realizadas, em média, dez mil simulações. Após muitos testes, o problema foi solucionado com a ajuda de professores que trabalhavam na PR&A.
Então, durante as outras seis semanas, novamente com a ajuda de professores, resolvemos o problema da otimização. Foi feita uma DLL que realizava os cálculos preliminares, ou seja, modelava o problema e devolvia suas restrições em forma de vetores e matrizes. Para resolver a otimização em si, foi utilizado o programa Gams (programa que resolve problemas lineares e não lineares).
Além disso, apenas para efeito de testes, teve que ser desenvolvido um módulo em VBA (uma vez que os testes eram feitos a partir do Excel) que, com os valores devolvidos pela DLL, preparava o arquivo .gms, utilizado pelo GAMS.
Devido às várias modificações do modelo econômico feito pelos responsáveis do projeto (a equipe econômica), o desenvolvimento dessa fase do projeto teve um atraso de duas semanas do inicialmente previsto, o que acarretou uma finalização apressada e impossibilitando a realização de todos os testes necessários. Houve então alguns problemas durante a apresentação dessas DLL´s ao cliente, que tiveram de ser resolvidos posteriormente.
1.3
Frustrações
O meu interesse pelo mercado financeiro foi o principal fator que me fez começar o estágio na PR&A. Sempre achei que essa seria a área em que iria trabalhar depois de formada. Acreditava que estagiar nessa área me possibilitaria um maior aprendizado, considerando-se que teria de trabalhar em conjunto com profissionais de diversas áreas, principalmente economistas e estatísticos. Além disso, por não ser uma empresa especializada em informática, acreditava que uma equipe relativamente pequena nessa área implicaria numa integração maior ao projeto como um todo. Porém, foi um pouco decepcionante. Para a realização desse tipo de projeto, é necessária uma forte integração entre profissionais de todas as áreas envolvidas, o que é muito difícil de se conseguir. Por mais de uma vez houve modificação no modelo econômico durante o desenvolvimento do projeto, o que implicou na necessidade de recomeçar toda a programação. No entanto, os prazos raramente eram adiados, nos impossibilitando de realizar todos os testes necessários.
Acredito que esse tenha sido o principal motivo que me incentivou a procurar um estágio em outra área.
2. Natureza da organização e da atividade
A cada dia o número de usuários conectados à Internet cresce de forma
expressiva e conseqüentemente o tempo que eles permanecem conectados também
aumenta. Esta situação fez com que as empresas refletissem se o atendimento
on-line que fornecem hoje realmente é eficiente e de qualidade. A necessidade
de uma ferramenta que permitisse a um Web Center oferecer atendimento a
clientes e suporte a vendas on-line, além de reduzir os custos de atendimento tornou-se evidente.
Ao perceber isso, a Ox Tech Internet
desenvolveu um sistema para atender essas necessidades. Percebendo o grande
potencial que o sistema possuía em relação a todos os outros meios de
comunicação com clientes existentes, tomou-se a decisão de criar uma nova
empresa dedicada exclusivamente ao Direct Talk e ao desenvolvimento de
tecnologias para comunicação via Internet.
Em maio de 2000 a Direct Talk do Brasil
Ltda. é fundada e inicia suas atividades na comercialização do sistema e no
desenvolvimento de novas versões e recursos. Parte dos profissionais da Ox Tech
Internet migraram para a Direct Talk formando uma equipe para desenvolver tecnologias voltada para comunicação via Internet.
A Direct Talk tem como principal parceiro a
e-platform (www.e-platform.com.br),
empresa incubadora de novos negócios em Internet que visa desenvolver
empreendimentos em estágio inicial relacionados à Web. A e-Platform atualmente
conta com sócios de peso: o Unibanco e o Brasil Warrant Venture Capital, do
Grupo Moreira Salles, e o empresário Marcos de Moraes, vice-presidente do ZipNet.
3. Definição/Especificação do problema ou sistema
principal de trabalho
O Direct Talk foi projetado para atender as exigências de flexibilidade, segurança e performance exigidas no atendimento real-time. Sua arquitetura simples é flexível permite fácil customização e a integração a outros sistemas.
O sistema pode ser
dividido nas seguintes partes:
O servidor realiza toda a troca de informações entre os usuários e os operadores. Tanto o usuário quanto os operadores se comunicam diretamente com o servidor, que armazena e distribui todas as informações.
O servidor é dividido em duas áreas principais:
- a aplicação, que recebe as informações e faz a comunicação com o banco de dados.
- o banco de dados, que realiza as operações e armazena os dados recebidos.
A aplicação roda sobre Windows NT e é uma DLL desenvolvida em Delphi. Funciona como um módulo adicional do IIS, executado via ISAPI. O gerenciador de banco de dados utilizado é o SQL Server 7.0, que armazena as informações e realiza uma parte grande do processamento via Stored Procedures.
Os
usuários acessam o sistema utilizando um browser comum. O sistema não utiliza
nenhuma tecnologia que restrinja o acesso a algum tipo de browser, apenas HTML.
O acesso pode ser feito por HTTP ou HTTPS. A primeira chamada é enviada a uma
aplicação de Load Balance, que redireciona o atendimento para o servidor é
responsável pelo atendimento.
Os operadores utilizam um programa local para realizar o atendimento. Este programa
se comunica com o servidor utilizando HTTP.
Com este programa o operador consegue atender os usuários, criar as
frases prontas para agilizar a resposta, limitar o número de diálogos
simultâneos, etc.
Todo o atendimento fica
armazenado no banco de dados. Existe uma ferramenta, exclusiva para os
supervisores do atendimento, que permite que sejam realizadas diversas
consultas a estes dados. O supervisor pode pesquisar e ver diálogos realizados,
cadastrar operadores e consultar diversas informações do sistema.
Além das estatísticas, o supervisor pode cadastrar novos operadores, pesquisar diálogos realizados e ajustar outros parâmetros de configuração do sistema.
3.1 Pontos de integração
O Direct Talk está preparado para trocar dados com outros sistemas em quatro pontos principais:
- Recebimento de
dados através da interface do usuário
No momento em que é iniciado um diálogo é possível enviar dados diretamente
para o Direct Talk, a partir do site da empresa. Os dados são enviados via GET
ou POST diretamente na chamada da tela de chat, podendo ser criptografados e
enviados via SSL, para garantir um alto grau de segurança.
Os dados enviados podem ser mostrados para o operador e utilizados para o supervisor realizar buscas, montar relatórios ou servir de campo de identificação para ligar as informações do cliente com outras informações armazenadas em sistemas da empresa.
Alguns exemplos de
utilização: o envio automático do nome (quando o usuário já se identificou no
site, ele não precisa se identificar novamente), número de cliente, número de
conta/agência, produtos no carrinho, valor da compra em andamento.
É possível exportar dados do atendimento e de pesquisas nos seguintes formatos de arquivo:
- CSV – formato de arquivo texto
facilmente utilizável por programas como Excel e Access. Bastante simples para
ser importado por outros sistemas.
- XML – padrão de mercado para troca de informações, este formato permite que os dados sejam trocados de forma estruturada e utilizados por outros sistemas.
O programa de atendimento utilizado pelo operador pode se comunicar com outras aplicações para trocar informações em tempo real. Esta comunicação é feita através de um módulo de integração, que pode ser adaptado para se comunicar com diversos sistemas.
Diversas situações acionam o módulo integrador. Por exemplo:
- quando é finalizado um diálogo, é acionado um evento que envia todos os dados do atendimento realizado (operador, horários, frases trocadas, dados do usuário). Estes dados podem ser comunicados a um sistema de CRM, por exemplo.
- quando o operador pede o histórico do usuário, é acionado um evento que pode disparar uma outra consulta para ser mostrar dados adicionais para o operador, como uma lista das últimas compras feitas pelo usuário ou o seu saldo com a empresa.
- sempre que o operador se loga e desloga ou recebe um atendimento são gerados eventos, que podem comunicar o estado do operador a outros sistemas.
Este tipo de integração permite que todos os
dados do atendimento sejam armazenados em tempo real em sistemas de controle da
empresa. Permite também que os operadores possam ter acesso a dados de outros
sistemas na mesma interface do atendimento.
Por trocar dados através do software do operador é possível realizar uma forte integração com outros sistemas mantendo o modelo ASP, isto é, utilizando a estrutura de servidores da Direct Talk.
- Servidor
O servidor também pode ser integrado a outros sistemas com o objetivo de controlar o fluxo de chamadas em conjunto com outros dispositivos, como DACs e CTIs. Neste caso podem ser tomadas duas abordagens:
1 – A aplicação do servidor (1) pode ser customizada para rotear as mensagens baseado em dados de outros sistemas.
2 – Pode ser criada uma nova aplicação (2) que passa a ser a responsável pela distribuição de todas as chamadas. Esta aplicação pode trocar dados com outros sistemas e definir a melhor opção de roteamento. A aplicação original (1) continua responsável por todas as outras funções, menos por decidir para qual operador o usuário será direcionado.
Este tipo de integração permite uma integração maior com sistemas de distribuição de chamadas, como DACs ou CTIs. É possível direcionar chamadas de voz e chat de forma a maximizar a produtividade dos operadores.
Para fazer esta integração, é necessário que o servidor esteja instalado diretamente na estrutura do cliente.
3.2 Estrutura de hospedagem
O sistema pode ser utilizado de duas formas distintas: utilizando os servidores e a estrutura da Direct Talk ou instalando o sistema em servidores da sua empresa.
Toda estrutura de servidores da Direct Talk está hospedada diretamente pela Embratel, na unidade da Lapa. Os servidores estão ligados em um link de 10Mb/s diretamente ao backbone da Embratel, garantindo máxima confiabilidade e mínimo tempo de resposta do sistema.
Esta estrutura tem como objetivo disponibilizar um altíssimo grau de confiabilidade e velocidade para os nossos clientes.
O sistema foi planejado para manter um alto nível de performance, tanto na plataforma de implementação quanto na otimização das consultas ao banco de dados. Além disso, sua capacidade poderá ser expandida de diversas formas:
I - Expansão dos servidores que realizam
o processamento:
No primeiro acesso, feito somente para realizar um redirecionamento, é possível redirecionar tanto os usuários como os operadores para diferentes servidores, criando um cluster de servidores para processar as chamadas de um site, ou reservar servidores distintos para sites diferentes.
II - Expansão total do sistema:
Além disso, todo o sistema pode ser implantado em servidores distintos, para sites diferentes. O sistema acima poderia estar contido em provedores diferentes, com bancos de dados distintos para cada site.
A aplicação que roda no servidor foi desenvolvida em Delphi, e funciona como um módulo do IIS chamado via ISAPI. Esta tecnologia garante alta performance e baixo tempo de resposta, em contraponto a outras tecnologias de script que são interpretadas e demandam maior processamento e tempo para gerar os mesmos resultados.
Toda a comunicação entre o operador e a aplicação é criptografada e assinada. A identificação do usuário (cookie) também é criptografada, datada e relacionada ao IP. Todas as páginas enviadas para o usuário podem ser enviadas utilizando-se SSL, impedindo a ação de invasores interessados em acessar diálogos ou fingir ser outro usuário.
A opção por implementar a aplicação utilizando o próprio IIS sem implementar um novo servidor reduz a preocupação com ataques diretos, como o de bombardeamento de pacotes, e dificulta a ação de pessoas interessadas em derrubar o serviço.
O operador também utiliza somente
HTTP para se comunicar. Isto também simplifica o processo de instalação (não
necessitando modificar nenhuma configuração da rede) e aumenta a
compatibilidade com redes locais.
Há uma equipe de integração e customização que adapta essa solução às necessidades dos clientes. Diversas funcionalidades podem ser acrescentadas ou adaptadas.
Do lado do usuário, a geração das páginas funciona baseada em Templates. Cada site poderá ter a interface com o usuário totalmente personalizada, inclusive enviando dados para o sistema, como identificação do usuário (se ele já se logou), número da compra, produtos que estão no carrinho.
Para se integrar facilmente a outros sistemas, o Direct Talk está preparado para trocar dados em três pontos principais:
·
Servidor:
O servidor também pode ser adaptado para trabalhar em conjunto com
outros sistemas, como DACs, CTIs ou sistemas de CRM. Esta adaptação permite que
sistemas externos controlem o fluxo dos usuários e a ocupação dos operadores.
3.8 Principais Características
As principais
características do Direct Talk são:
·
Administração de tempo de conversa - através de contador e barra de tempo os
operadores podem se orientar sobre o tempo que cada usuário espera uma
resposta.
·
Envio de imagens, links e arquivos - o operador pode enviar links, imagens e
outros arquivos que possam auxiliar na comunicação.
· Frases Prontas para Operadores - Questões freqüentes podem ser formatadas e inseridas ao sistema para agilizar o atendimento.
·
Histórico do Atendimento - Todos os atendimentos
entre operadores e clientes são arquivados para consultas imediatas e
relatórios futuros.
· Envio de páginas para usuários - “Push Pages” - Os operadores podem abrir páginas web na estação do cliente.
· Alarme para Operadores - Os operadores são alertados através de uma mensagem sonora e visual quando um novo cliente se conecta ou envia uma nova pergunta.
Além disso, há o módulo supervisor,
que está disponibilizado via web para que o
gerente/supervisor do site possa ter controle total do atendimento em seu site.
O módulo supervisor oferece:
·
relatórios
detalhados sobre os atendimentos;
·
diversas
estatísticas sobre esses
atendimentos;
·
possibilita
a pesquisa do perfil dos usuários do chat;
·
permite
o monitoramento dos atendimentos e a administração da equipe de operadores.
4. Forma de organização da
equipe de trabalho e atribuição das responsabilidades
Comecei a estagiar na Direct Talk em junho de 2000, quando a empresa ainda estava sendo montada, separando-se da Ox Tech. Já havia uma primeira versão do sistema pronta e a equipe comercial (que na época contava com apenas quatro pessoas) estava definindo as táticas de venda do produto. A equipe técnica era formada por cinco pessoas (todos alunos do IME), além de um dos sócios, Alexandre Bernardoni, recém formado pelo BCC no IME.
Existiam algumas pendências no sistema que precisavam ser solucionadas antes que o software começasse a funcionar em clientes. As mais urgentes eram:
- a criação do módulo supervisor, que ainda não existia, mas as pressões da área comercial nesse sentido eram cada vez maiores;
- conserto de alguns “bugs” que o sistema ainda apresentava, o que tornava inviável sua instalação nos clientes;
- a necessidade de reformulação da base de dados, que não guardava todos os dados necessários para a realização de pesquisas e estatísticas sobre os atendimentos realizados. Isso implicaria em varias modificações no sistema.
O módulo supervisor dependia totalmente da base de dados. Era necessário termos a base de dados definida até mesmo para sabermos o que poderia ou não ser feito. Por isso, a princípio toda a equipe técnica trabalhou junta para a definição da nova base de dados, uma vez que isso era necessário para podermos começar a solucionar todos os outros problemas.
Depois disso, de acordo com as experiências anteriores e preferências de cada um dos 6 integrantes da equipe técnica, foram definidas as funções e prioridades de cada um. Eu fiquei encarregada da criação do módulo supervisor.
Nessa época a equipe comercial estava começando a venda do produto, e por isso não tínhamos nenhum contato com possíveis clientes. Mais tarde, quando o software começou a funcionar em diversos clientes foi necessária a realocação de um integrante da equipe técnica que ficasse exclusivamente na área de suporte, atendendo problemas em clientes e ate mesmo participando de reuniões quando o cliente queria explicações mais específicas, que a equipe comercial não estava capacitada para explicar.
Desde outubro, quando a terceira versão do sistema (e do módulo supervisor) foi finalizada, comecei a integrar a equipe que faz a integração do sistema com as necessidades específicas de cada cliente. A partir de então tenho contato direto com clientes.
5. Estimativa inicial de
prazos e do andamento do projeto
Devido ao contrato entre a empresa e os investidores, as vendas do produto deveriam começar imediatamente. Portanto começamos o projeto com o prazo já “estourado”. A área comercial estimou um prazo de um mês para que o software começasse a funcionar nos primeiros clientes, então decidimos que começaríamos a trabalhar para que essas pendências estivessem resolvidas antes disso, ou seja, em um mês.
Porém, o módulo supervisor ainda não estava bem definido. Deveria ser uma área de administração do atendimento do site, onde um supervisor pudesse cadastrar e alterar dados dos operadores (como nome, senha, horário de serviço, etc.), arrumar as configurações do atendimento (como a frase inicial a ser mostrada para o usuário, tempo que um usuário pode ficar conectado sem conversar antes que seja “derrubado” pelo sistema). O supervisor também deveria ser capaz de monitorar o atendimento, visualizando diálogos, fazendo buscas (por data, por operador, por usuário, por palavra no dialogo), vendo tabelas com os diálogos em andamento, com os operadores conectados no momento. Além disso, algumas estatísticas deveriam ser mostradas em forma de gráfico e tabelas.
Foram então realizadas diversas reuniões entre a equipe comercial, eu e o Alexandre (sócio da empresa e integrante da equipe técnica), onde pudemos decidir quais eram os principais dados a serem disponibilizados, alem dos relatórios mais importantes. Durante essas reuniões foi decidida também a interface do supervisor. Assim, após aproximadamente uma semana de discussão, tínhamos uma primeira idéia do módulo supervisor, que deveria ser começado imediatamente.
Com o tempo, as estimativas de prazos foram sendo feitas com mais cuidado, baseada em um cuidadoso planejamento e sem a interferência da equipe comercial. Já na equipe de integração, tenho contato direto com clientes e os projetos raramente são entregues fora do prazo.
6. Desafios e frustrações
encontrados
No início do desenvolvimento do supervisor, a principal dificuldade encontrada foi a falta de uma documentação geral mais consistente sobre o sistema. A única documentação existente era os comentários de código e algumas definições do funcionamento do sistema. Não havia nenhuma referência sobre a base de dados. Durante as duas primeiras semanas, grande parte do tempo foi gasto no entendimento do banco de dados. Mais tarde foi tomada a decisão de que um de nós, de preferência alguém que estava desde o começo do desenvolvimento do sistema, parasse o que estava fazendo e documentasse tudo o que já havia sido feito.
Além disso, tendo um contato maior com possíveis clientes, a área comercial começou a pedir novos gráficos e tabelas, modificando também alguns que já haviam sido previamente definidos. Isso acontecia constantemente e atrapalhava bastante o andamento do projeto. Porém, com o sistema já em teste nos primeiros clientes, ficou decidido que iríamos disponibilizar a primeira versão do módulo supervisor somente com aqueles dados e estatísticas que já estavam sendo feitos. A primeira versão do módulo supervisor ficou pronta cinco semanas após a sua definição e o início da implementação.
Depois disso, foram feitas várias modificações pedidas pela equipe comercial. Foram inseridos novos gráficos e tabelas de comparações. Além disso, o supervisor tinha que estar sempre sendo atualizado de acordo com as modificações que eram feitas no módulo operador.
O principal problema encontrado durante esse período de desenvolvimento aconteceu por falta de comunicação entre as equipes de desenvolvimento. Devido à implementação de novas funcionalidades no módulo operador, a base de dados foi modificada consideravelmente para que pudesse atender novos requisitos. Só ficamos sabendo das alterações depois de feitas e tínhamos um prazo muito curto para adaptar todo o supervisor antes do lançamento da nova versão. A área comercial não queria que a nova versão começasse a funcionar sem o módulo supervisor e isso atrasou o lançamento dessa nova versão.
Em outubro foi lançada a terceira versão do sistema e as equipes começaram a ser realocadas devido ao início do desenvolvimento de um outro produto. Desde então saí da equipe de desenvolvimento do supervisor para integrar a equipe de integração. Nessa época precisei ler toda a documentação já preparada e pude perceber que está sendo tomado um cuidado muito maior com a documentação do sistema.
Além disso, quando comecei o desenvolvimento do supervisor, não havia nenhuma especificação do projeto, do que realmente precisava ser feito. Tudo foi decidido em reuniões e anotado em rascunhos, o que dificultou bastante o desenvolvimento. Agora, em contato direto com clientes, tomamos cuidado para que as especificações sejam bem claras, tanto para nós quanto para os clientes e para equipe comercial. Isso ajuda também na definição dos prazos.
7. Ferramentas e técnicas
utilizadas
Havia a necessidade de nos preocuparmos com a segurança e sigilo dos dados de nossos clientes. O supervisor de cada site deveria ser capaz de ver somente as informações do atendimento do seu site. Portanto, ao entrar na área do supervisor seria necessária a autenticação de senha. Já tínhamos um algoritmo de criptografia que era utilizado para a autenticação de senha no módulo operador. Foram feitas apenas algumas modificações para criar uma DLL que atendesse os requisitos do módulo supervisor. Essa DLL foi criada em Delphi, mesma linguagem utilizada no módulo operador.
Para a coleta de todos os dados necessários foram criadas diversas Stored Procedures no SQL Server (banco de dados que era utilizado pelo sistema), uma vez que todos os dados eram guardados no banco de dados pelo módulo supervisor. Foi possível aproveitar diversas Procedures que já eram utilizadas pelo operador.
Para a realização dos cálculos e disponibilização dos resultados (em forma de gráficos e tabelas de dados) via web foi utilizado ASP, HTML e JavaScript.
Desde que comecei a trabalhar com a integração do sistema, utilizo principalmente Delphi. Algumas vezes são necessárias algumas modificações diferentes, e então utilizo ASP, JavaScript e HTML.
8. Diferenças notadas entre a
forma de cooperação com colegas do BCC nas tarefas em grupo das disciplinas e a
forma de trabalho conjunto na empresa
Como já foi dito anteriormente, toda a equipe técnica da Direct Talk é formada por alunos do IME, o que sem dúvida facilitou muito o trabalho em grupo. Mesmo assim, a diferença entre o estágio e os trabalhos em grupo para a faculdade foi bastante acentuada. A maior delas é que no estágio há uma individualidade muito maior que em trabalhos para a faculdade. Na faculdade nos importamos muito mais com o resultado final, afinal o objetivo maior é a nota, que depende do trabalho inteiro. No estágio, embora continue sendo importante o resultado final, podemos “fugir” da pressão ao terminarmos nossa parte.
Além disso, na maior parte do tempo em que estagiei na Direct Talk trabalhei sozinha. Isso se devia ao fato de a empresa ser de pequeno porte e, principalmente, ao pequeno número de funcionários na equipe técnica. Dificilmente programávamos utilizando as mesmas ferramentas. Apenas o planejamento de uma nova versão ou alguma grande alteração no sistema era feito em grupo e, depois de pronto, só voltávamos a nos reunir para quando havia a necessidade de modificação na base de dados, uma vez que qualquer pequena alteração influenciava no trabalho de todos.
9. Lista das disciplinas cursadas no BCC mais relevantes para o estagio
- Sistemas de Banco de Dados: foi muito importante para a modelagem da base de dados.
- Estrutura de Dados: o sistema usa diferentes estruturas de dados. A matéria foi fundamental na hora de decidirmos essas estruturas.
-
Programação Concorrente: durante todo o desenvolvimento do
projeto, procurou-se levar em conta os problemas de concorrência. Utilizamos
também vários conceitos vistos durante o curso.
-
Redes: por ser uma empresa voltada para o desenvolvimento de
produtos para a internet, a matéria foi bem importante. Facilitou muito o
entendimento de processos.
- Engenharia de Software: apesar de acreditar que só muita pratica para realmente aprender engenharia de software, a matéria nos da uma boa introdução. Acho que deveria haver uma maior ênfase na parte de testes.
10. Bibliografia utilizada durante o estagio
- Sistema de Banco de Dados – Henry F. Korth e Abraham Silberschatz McGraw Hill, Inc.
-
Transact-SQL
Programming – Kevin Kline, Lev Gould & Andrew
Zanevisk
O’Reilly
-
Professional ASP Techniques for Webmasters –
Alex Homer
Wrox Press
- ASP - Manual de referência rápida – A. Keyton Weissinger O'Reilly
-
JavaScript - The Definitive Guide – David
Flanagan
O'Reilly
11. Passos que tomaria para aprimorar os conhecimentos
técnicos/metodológicos/ comerciais/científicos para a atividade
Acho que não só nessa área, e muito importante haver uma divisão entre equipe comercial, técnica e de marketing. E claro que uma integração entre todas as áreas sempre tem que haver, mas há certos limites que precisam ser respeitados. Acredito que todos devem participar de reuniões para definições de prazos e projetos, mas acredito que depois disso nenhuma das equipes deve interferir no trabalho da outra. Durante todo o desenvolvimento do projeto, as equipe comercial e de marketing faziam diversas alterações no sistema, desde o layout ate seus gráficos e tabelas. Isso atrapalha e atrasa o andamento do projeto. Acho que uma vez definido, o sistema só deveria sofrer mudanças em reuniões e de comum acordo de todas as equipes.
Alem disso, a manutenção constante de uma documentação consistente e imprescindível. Hoje em dia isso já e feito na nossa equipe e passou a facilitar as coisas para novos desenvolvedores.
Outro problema continua sendo a definição de prazo: devido aos pequenos prazos estabelecidos, quase nunca há tempo para a realização de testes, o que faz com que o sistema seja comercializados com alguns “bugs”.