Análise dos procedimentos adotados na integração do desenvolvimento de software com a Interação Humano-Computador em empresas Cristiano Cortez da Rocha, Eduardo Spolaor Mazzanti, Matheus Anversa Viera 1 1 Acadêmicos do Curso de Ciência da Computação Universidade Federal de Santa Maria (UFSM) floyd,mazzanti,matheus@inf.ufsm.br Resumo. Nos últimos tempos, a relação humano-computador tem sido regularmente discutida, onde tem-se dado grande importância a interfaces que privilegiam o lado humano da iteração. Assim a usabilidade, a Interação Humano- Computador e a ergonomia ganham um importante valor no desenvolvimento de software. Este relatório tem como finalidade apresentar os resultados encontrados na visita de três empresas de diferentes ramos do desenvolvimento de software na cidade de Santa Maria (RS) a respeito da integração do desenvolvimento de software com a Integração Humano-Computador. 1. Introdução Dentro da lista de disciplinas do currículo do Curso de Ciência da Computação da Universidade Federal de Santa Maria encontra-se a matéria Computadores e Sociedade, a qual tem por objetivo discutir assuntos relacionados ao impacto do uso da computação na sociedade, além de estimular a análise crítica dos estudantes em relação ao futuro e progresso da computação, destacando os prós e os contras dessa tecnologia. A relação usuário-máquina tem sido bastante discutida nesses últimos tempos, onde interfaces que privilegiam o lado humano da atuação tem tido grande importância. Assim, a Interação Humano-Computador (IHC), a usabilidade e a ergonomia ganham grande importância no desenvolvimento de sistemas. A IHC tem por objetivo melhorar o relacionamento entre o homem e o computador, visto que se esse relacionamento não for amigável ao usuário sua existência pode ser fonte de improdutividade e trauma. Para isso, existe uma preocupação com um contato constante com o usuário, afim de manter equilíbrio entre as requisições de usuário e o que é viável de ser desenvolvido. A questão da usabilidade, que começa com a ergonomia e com o primeiro contato com o usuário, é prover às interfaces funcionalidades que tornem os aplicativos mais fáceis de usar e de serem aprendidos. Assim, o usuário não precisará ter uma grande carga cognitiva, possibilitando que o software atinja um número maior de pessoas. Ainda, a preocupação com essas questões tornará a empresa mais qualificada, podendo atender a demanda do mercado, alcançando um nível competitivo diferenciado. Trabalho apresentado à Prof a Andrea Schwertner Charão, como projeto final da disciplina de Computadores e Sociedade do Curso de Ciência da Computação da UFSM, em março de 2007.
Nesse contexto, o projeto realizado foi um trabalho extra-classe onde os alunos elaboraram uma entrevista e percorreram três empresas de diferentes ramos de desenvolvimento de software da cidade de Santa Maria, RS, a fim de verificar a preocupação destas com a Interação Humano-Computador (IHC), com a usabilidade e com a ergonomia do seus softwares, além da preocupação das mesmas com o contato inicial e mantido aos usuários finais do software. O relatório apresenta-se da seguinte forma: na seção 2 serão apresentadas as estratégias de ação, seguindo na seção 3 um relato com do contato com as três empresas visitadas e por fim uma apresentação dos resultados obtidos na seção 4. 2. Estratégias de Ação Inicialmente, foi feita uma pesquisa bibliográfica a fim de aperfeiçoar o conhecimento a cerca da IHC, para que desse sustentação para a realização da entrevista. Depois disto, foi realizado um contato com um professor do curso de Desenho Industrial da UFSM, especializado no ramo de ergonomia de software. para um auxílio na estruturação do plano de ação do projeto definido. O contato deu-se na forma de reunião onde foram discutidos os principais tópicos a serem observados para identificar o nível de preocupação com IHC das empresas. Após este levantamento inicial, foi elaborado um roteiro para ser seguido nas entrevistas. A entrevista foi divida em três tópicos principais: questões básicas, questões gerais e questões de interface. No primeiro tópico, buscou-se um relato do surgimento da empresa, assim como uma descrição dos principais desafios encontrados até o presente momento. Procurou-se saber ainda o que é desenvolvido (destino dos programas), verificando se existe a intenção de manutenção da linha de produção, projetos já executados e em desenvolvimento, assim como o número de funcionários e suas capacitações e se estes estão divididos em equipes. Nas questões gerais, buscou-se saber a cultura de produção da empresa, ou seja, quais as fases de desenvolvimento e se esta sempre foi assim, se há divisão de equipe para cada fase e se seguem padrões de projeto. Ainda, avaliou-se as preocupações tomadas em relação ao usuário, como por exemplo em que etapa existe o contato das equipes com o usuário e qual o tipo do mesmo (final e/ou contratante), buscando descobrir os requisitos levantados por estas. Ainda, analisou-se como se dá o relacionamento da empresa com o usuário após a implantação do sistema (treinamento, análise de satisfação e melhoramentos). Por fim, nas questões de interface procurou-se verificar a existência de profissionais habilitados na construção e análise de interfaces, bem como a utilização de ferramentas específicas, métodos ergonômicos (avaliações heurísticas, checklists [LabIUtil ], etc.), bibliografia e padrões de interface. Buscou-se também analisar se há a possibilidade da personalização da interface, isto é, a capacidade da interface de se adaptar as variadas ações do usuário. Após a definição do plano de entrevista, partiu-se para o contato com as três empresas de desenvolvimento de software. Esse contato deu-se na forma de uma conversa informal, seguindo o roteiro pré-definido. 3. Contato com as Empresas Foram selecionadas empresas de diferentes ramos para que houvesse uma avaliação que abrangesse os diversos seguimentos do desenvolvimento de software. As áreas escolhidas
foram as seguintes: desenvolvimento de jogos e sistemas comerciais, sistemas de gestão de municípios e sistemas para gestão de clubes. 3.1. Empresa de Desenvolvimento de Jogos e Sistemas Comerciais A primeira empresa visitada surgiu da idéia de um projeto final de uma disciplina do curso de Ciência da Computação da UFSM, que era o desenvolvimento de um jogo. Ela começou somente com desenvolvimento de jogos, mas viu-se obrigada a atuar no ramo de desenvolvimento de sistemas comercias por motivos financeiros, visto que somente com jogos estava difícil manter a empresa, pois sua aceitação no mercado é mais complicada. Entre esses sistemas desenvolvidos, estão, um gerenciador para consultórios odontológicos e um gerenciador financeiro. Durante a entrevista, foi relatado vários problemas desde seu surgimento, que foram sendo corrigidos ao longo do tempo. Entre eles, destaca-se: dificuldade de gerenciamento de documentos, finanças e grupo; falta de documentação; pouca experiência com marketing; má estruturação física da empresa. Essa empresa possui uma divisão de equipes, definida por: programadores, arte, design e desenvolvimento. A equipe de desenvolvimento gera o conteúdo e repassa para a equipe de arte e design, que ao gerarem a interface, repassam para os programadores terminarem o sistema. O contato da empresa com o usuário dá-se de forma constante. A equipe de arte juntamente com dois programadores faz um primeiro contato com o usuário, normalmente esse usuário não é final, e sim um dos donos da empresa. Após a coleta de informações, é apresentado um protótipo para o usuário, conforme o que foi discutido no primeiro contato. Alterações podem ser feitas até chegar-se a uma versão que satisfaça o contratante. Dando continuidade, é realizado o contrato, que após ser assinado, impede qualquer alteração no sistema. Se no contrato está especificado treinamento, a empresta presta esse serviço e dá um suporte limitado. Em se tratando de interface, pôde-se relatar que a empresa não possui padrões de interface, nem de projetos, só utilizam um padrão de codificação. A não utilização de padrão de interface é devido ao fato de uma busca ao que o usuário quer. Alguns outros aspectos observados foram: preocupação constante com documentação; possui help e sistema bastante intuitivo, com utilização de animações que possam ilustrar o que pode ser feito; não utilizam bibliografia específica; não fazem uso de checklist; 3.2. Empresa de Desenvolvimento de Sistemas para Gestão de Municípios A segunda empresa visitada surgiu com intuito de realizar a implantação de um sistema para gestão de municípios desenvolvido na Universidade Federal de Santa Maria, do final da década de 90. Essa empresa no início encontrou como seu principal desafio a dificuldade de comunicação, visto que a empresa tinha profissionais da área da informática que faziam o levantamento de requisitos dos clientes, que na sua grande maioria eram administradores, contabilistas, etc.. Após perceber tal dificuldade, a empresa contratou profissionais de diversas áreas, tais como, administração, ciência contábeis e direito, para tornar mais claro e simples o processo de conversação com o cliente.
A empresa atualmente realiza as etapas de levantamento de requisitos, implantação e treinamento, terceirizando as fases de análise e implementação. Durante a fase inicial, existe um contato massivo com o usuário, através das equipes de áreas diferentes citadas anteriormente, a fim de estabelecer todas as requisições para que terminada esta etapa, sejam repassadas para a empresa responsável pelas etapas intermediárias. Através da implantação de sistemas anteriores, constatou-se que a interface deve ser padrão, visto a complexidade do software e que alterações requisitadas pelos usuários na sua maioria acarretam em problemas posteriores. Porém, eventualmente existem algumas requisições que são importantes para um melhor aproveitamento do sistema por parte dos usuários, neste caso, é realizada uma análise de viabilidade. Após a instalação do sistema, existe um treinamento completo dos diferentes tipos de usuários, visto que um sistema de gestão de municípios é composto por diversos módulos. Existe uma grande preocupação com a composição do manual do sistema, assim como fornecer helps dentro do sistema. Um ponto muito positivo encontrado foi a busca de maneiras para que o usuário tenha que digitar o mínimo de texto possível, para evitar possíveis frustações tanto para o usuário do sistema, quanto para um cliente que é afetado pelo sistema, por exemplo, geralmente alguns campos já estão preenchidos com dados vindos do banco de dados, diminuindo a possibilidade do usuário digitar um CEP, nome ou endereço errado de algum contribuinte, acarretando em sérias complicações para este. 3.3. Empresa de Desenvolvimento de Sitemas para Gestão de Clubes A última empresa visitada, teve seu surgimento na década de 90, quando o atual dono, começou a desenvolver softwares para imobiliárias e clubes. Atualmente ela trabalha diretamente na gestão de clubes. Entre alguns problemas relatados desde o surgimento da empresa encontram-se: - o sistema inicial rodava em MS-DOS: muitos usuários ainda utilizam esse sistema pois existe dificuldade de migração para o novo sistema que roda em Visual-Basic pelo simples fato de utilizar mouse; - bug do milênio: foi outro grande problema enfrentado pela empresa, mas a mesma buscou como solução a migração para Visual Basic; - dificuldades de negociação: problema que até os dias atuais é encontrado, pelo fato de os contratos serem fechados com diretores de clubes, e os mesmos são substituídos após eleições. Um novo diretor que assume o clube, normalmente quer fazer alterações no sistema ou no valor em que está sendo pago; - levantamento de requisitos: torna-se um problema dependendo da estrutura do clube a ter o sistema implantado. Em alguns casos, existem pessoas responsáveis por Tecnologia de Informação (TI), e o levantamento dá-se de forma simples. Em compensação, existem clubes que não possuem pessoas responsáveis por TI e há pessoas com pouco conhecimento em informática. Nesses casos a implantação do sistema torna-se mais difícil; Por tratar-se de gestão de clubes, o software produzido pela empresa é sempre o mesmo e está pronto. O que foi observado é que se faz uma pré-instalação para o cliente usá-lo e verificar todas as funcionalidades e recursos, e sugerir alterações. Poucas
alterações são efetuadas. Como o software é complexo, existe um treinamento. Dependendo da estrutura do clube, geralmente o treinamento é feito para quem usa, mas em clubes bem estruturados o treinamento é feito para empregados da área de TI que repassam para os que irão utilizálo. A empresa em questão não possui divisão de equipe. Atualmente ela é composta de 3 programadores e o dono da empresa, que realizam todas as atividades da mesma. A interface produzida é bastante simples, bem intuitiva, inclusive para usuários leigos. Com a migração do sistema que rodava em ambiente MS-DOS, para Visual Basic, buscou-se manter a disposição das funcionalidades exibidas na tela na mesma ordem que o sistema anterior, a fim de facilitar a utilização do usuário. Foi relatado também que inicialmente existia uma preocupação com desenvolvimento de manuais, mas esses deixaram de ser utilizados, pois a empresa achou mais conveniente oferecer um suporte on-line para solução de problemas. Quanto à alteração de layout de interface, a empresa deixou o mínimo configurável possível. Eliminou-se a personalização devido a certas frustrações ocorridas com usuários. Alguns outros aspectos observados foram: preocupação com suporte pósimplantação do sistema, em termos de manutenção; preocupação em evoluir o sistema, tanto que já se trabalha com programação Java e para WEB; pouca alteração da interface, devido a frustrações ocorridas no passado. 4. Considerações Finais Após a realização deste projeto extra-classe, podemos concluir que a interação humanocomputador e as questões referentes a usabilidade e a ergonomia, possuem grande importância no desenvolvimento de softwares. Contudo, através dos relatos por nós coletados, percebemos que elas ainda não são amplamente utilizadas pelas empresas desenvolvedoras, seja pelo fato de envolver gastos em curto prazo, como no caso da contratação de um profissional especialista nesta área, ou pela falta de conhecimento das empresas em relação aos métodos de avaliação de software. Outro aspecto que percebemos foi que a relação entre a flexibilidade da interface e a complexidade do sistema estão intimamente relacionadas. Quanto mais complexo é o sistema, menos personalizável é a interface nas empresas visitadas. Ainda, notou-se que as empresas possuem uma boa interação com o usuário. Geralmente há um contato com o usuário nas fases de desenvolvimento, o que eu proporciona um software com melhor aceitação, e na maioria dos casos existe um bom relacionamento após o produto final ter sido entregue, como no caso de elucidação de dúvidas. Por fim, pudemos tomar conhecimento de que os assuntos ministrados durante as aulas do curso, como nas disciplinas de Engenharia de Software e Qualidade de Software, nem sempre são aplicados nas empresas de desenvolvimento. Além disso, fugindo um pouco do escopo do assunto do projeto, pudemos ver na prática como é o funcionamento de uma empresa, as suas dificuldades e os seus desafios encontrados no mercado de trabalho.
Referências LabIUtil. Ergolist. Disponivel em: http://www.labiutil.inf.ufsc.br/ergolist/index.html.