segunda-feira, 11 de abril de 2011

[Seminário]

Avaliação de Usabilidade em Interfaces Touch Screen
Usabilidade é sinônimo de facilidade de uso. Se um produto é fácil de usar, o usuário tem maior produtividade: aprende mais rápido a usar, memoriza as operações e comete menos erros.

Nesse artigo iremos discutir e explorar experiências e percepção do usuário no uso da adoção de novas tecnologias.


Na criação de novos produtos requer preocupação constantes com o usuário final. O sucesso de novos produtos não depende apenas de esforços da equipes de propaganda e marketing, mas também na inovação que as empresas colocam em seus produtos, isso demonstra o quanto a empresa esta preocupada com usuário, é a parte mais importante dos negócios. E esses aspectos estão diretamente relacionados com usabilidade. A usabilidade deve ser avaliada não apenas quando o produto está pronto, mas também durante todo processo de desenvolvimento,visando assegurar o nível desejado de usabilidade, ocorrendo assim a satisfação do usuário.


Preocupação com a User Experience



User Experience abrange todos os aspectos da interação do usuário final com a empresa, seus serviços e seus produtos:

1- O tipo de produto a ser desenvolvido(para o usuário);

2- A informação que será apresentada(ao usuário);

3- A interface de usuário do produto (ou serviço);

4- O padrão do produto (ou serviço) pelo usuário;

5- A interação do usuário com produto.

Observa-se que o usuário final busca em um produto ou serviço é, eficiência, satisfação e atingir objetivos que atendam suas necessidades de maneira mais subjetiva do uso do produto ou serviço.

Avaliação de Usabilidade


Os métodos que podem ser empregados para a avaliação da usabilidade de produtos, tem-se a avaliação de conceitos e testes com usuário, sendo que esses dois métodos se complementam e visão inspecionar a usabilidade do produto.

O teste de usabilidade, visa medir a taxa de sucesso que os usuários conseguem utilizar e, ou, aprender a usar um produto ou serviço para realizar tarefas.

Vale ressaltar que a realização de testes com usuário de suma importância, pois servem para apoiar a inspeção de usabilidade em interfaces touch screen.

Avaliação de Usabilidade em Interfaces Touch Screen


Interfaces de usuário touch screen são interfaces que permitem ao usuário ter uma interação direta com as funcionalidades de um dispositivo. Esse tipo de interface, praticamente, não requer esforço do usuário para ter acesso as funcionalidades do dispositivo, trata-se de uma interface de interação direta e rápida, mas também tem seus defeitos.

Não se deve considerar a interface touch screen em solução universal, que possa ser empregada em todo produto.Possuí algumas limitações como:

1- Dimensões pequenas dos elementos de interação;

2- Toque com acionamento acidental de funcionalidades;

3- Interação com a interface de usuário,puramente, sequencial, tornando o sistema mais lento comparados a outros estilos de interação;

4- Necessidade de esforço adicional para entrada de muitos dados através de muitos toques na tela.

De um modo geral, os testes de usabilidade têm por objetivo coletar dados durante o teste aos quais são analisados e interpretados.

Há quatro propriedades que devem ser consideradas,analisadas e interpretadas durante a inspeção de usabilidade:

1- Usefulness: verifica se a interface é aceitável e se corresponde as necessidades do usuário;

2- Effectiveness: verifica se a interface é fácil de usar;

3- Learnability: verifica se a interface é fácil de aprender e usar,possiblitando o usuário migrar de novato a perito;

4- User Satisfaction: verifica se o usuário considera a interface agradável a ponto de utliza-lo.

Conclusão


User Experience

É considerar o usuário final de um produto,ajudando-o a utilizar um produto e fazendo-o melhorar seu desempenho no uso do produto.Prover suporte à user experience em produtos requer do projetistas a capacidade de entender e ‘entregar’ o que GHANDI expressou,trabalhar em conjunto com o usuário antes,durante e depois do desenvolvimento do produto,identificando suas necessidades,tentando capturar o modelo mental do usuário.


Portanto,considerar um user experience é colocar o usuário como participante ativo do processo de ‘construção’ de um produto e , mais especificamente, de sua interface(de usuário)



Carlos Galvão RA 0943475647



Estevan Caetano RA 0991003743

[Seminário] A COMUNICAÇÃO NO PROCESSO DE DESENVOLVIMENTO DE SOFTWARE E A SATISFAÇÃO DO USUÁRIO

Wesley dos Santos Dias RA: 0959532446


Gustavo Chinaglia da Costa RA:



A COMUNICAÇÃO NO PROCESSO DE DESENVOLVIMENTO DE


SOFTWARE E A SATISFAÇÃO DO USUÁRIO




A comunicação é fundamental para a troca de experiências, informações e


conhecimentos, principalmente no processo de desenvolvimento de software onde


os atores envolvidos devem ocupar posição central, de modo que a interação entre


eles proporcione o desenvolvimento satisfatório, atendendo aos requisitos e


expectativas dos usuários. Este trabalho tem como objetivos: (1) Verificar se a


comunicação no processo de desenvolvimento de software exerce influência na


satisfação dos usuários; (2) Verificar se os requisitos dos usuários foram atendidos


pelos desenvolvedores; (3) Analisar os impactos do processo de comunicação entre


usuários e desenvolvedores e (4) Verificar se a satisfação dos usuários tem relação


com o processo de comunicação. Foi analisada a Empresa desenvolvedora de


sistemas GVDASA Software e um de seus clientes que utiliza o software GV college.


O presente estudo se caracteriza como qualitativo e seu método enquadra-se na


tipologia estudo de caso. Como instrumentos de avaliação foram utilizados: Teste


Psicológico Inventário de Habilidades Sociais (IHS) para avaliar os índices de


comunicação através do fator F3 – Conversação e Desenvoltura Social; entrevistas


confirmatória e semi-estruturada para confirmar os resultados do teste e verificar a


forma de atuação, os requisitos e as principais necessidades dos participantes da


pesquisa e; questionário de satisfação em relação ao produto final. A amostra foi


divida conforma a participação dos atores no processo de desenvolvimento do


sistema em: usuários, clientes e desenvolvedores. Os resultados demonstraram que


os requisitos dos usuários foram atendidos em parte, pois algumas solicitações não


foram realizadas no prazo e da forma estabelecida previamente. A comunicação


manteve-se equilibrada em relação ao teste psicológico IHS para os grupos


desenvolvedores e usuários. Porém, os clientes apresentaram facilidades de


conversação e desenvoltura social. No entanto, o indivíduo-chave, que esteve


presente em todas as fases, coletando informações, o relatório de requisitos e


encaminhando-os aos demais desenvolvedores obteve índices muito abaixo da


média, o que pode ter comprometido de forma efetiva o produto final. Constatou-se a


existência de uma relação entre a satisfação dos usuários com o processo de


comunicação e com o atendimento dos requisitos. As falhas de comunicação


ocorridas na fase de desenvolvimento do software ocasionaram problemas visíveis


no produto final afetando diretamente a satisfação dos usuários, resultando em


práticas contínuas de correção durante os processos de implantação e manutenção


do sistema.










INTRODUÇÃO


A utilização de softwares é reconhecida como uma importante ferramenta


para impulsionar, modernizar e, consequentemente, aumentar a competitividade dos


setores produtivos nas organizações contemporâneas.


De acordo com Fernandes (2003), o processo de desenvolvimento de


software é um produto resultante do trabalho humano que emerge da interação entre


vários agentes, os quais possuem experiências, interesses e necessidades


diferenciadas.


O desenvolvimento de softwares tem sido uma prática amplamente utilizada


pelas empresas visando amenizar problemas, situações críticas de negócios ou


requisitos técnicos. No entanto, a tecnologia de desenvolvimento, criação ou


adaptação de um novo software apresenta-se como um fenômeno bastante


complexo (FERNANDES, 2003).


Parte dos problemas enfrentados durante o processo de desenvolvimento de


softwares existe no envolvimento das pessoas, as quais são integrantes de todo o


processo, seja como desenvolvedores, clientes ou usuários das tecnologias. Nesse


sentido, a aprendizagem individual, crenças, valores e experiências que integram a


personalidade são extremamente importantes, pois, todas as ações e reações


latentes são oriundas dos processos mentais de cada sujeito (PRESSMAN, 2001).


Nesse contexto, a importância da comunicação entre os atores envolvidos no


desenrolar do processo de desenvolvimento de software torna-se fundamental.


A observação fenomenológica da comunicação entre usuários, clientes e


desenvolvedores é responsável pelo levantamento das necessidades reais do


software e colaboram efetivamente para realização de suas tarefas.


Em 13 contrapartida, os ruídos existentes podem ocasionar erros ou equívocos de comunicação que acarretará no comprometimento do processo de desenvolvimento


de software em sua totalidade (FERNANDES, 2003). Diante disso, acredita-se que haja diferença entre as formas como as pessoas comumente pensam, sentem e comunicam as situações com as quais se defrontam. Assim, haveria tendências diferenciadas nas formas de aprender e relacionar dados reais e de elaborar conclusões sobre eles (SANTOS, 2004). Hoffman e Bateson (1997) mencionam que a satisfação do usuário gira em torno do alcance do software aos requisitos reportados durante seu desenvolvimento que é tido como o mínimo aceitável pelo usuário, pois, atende suas expectativas/necessidades mínimas. No entanto, o software recebido nem sempre é o desejado pelo usuário, pois, muitas das adequações que ocorrem no processo não são satisfatórias por não atenderem, de forma consistente, às expectativas iniciais geradas. Sob essa perspectiva, a presente pesquisa busca compreender o papel, ou seja, a influência da comunicação no processo de desenvolvimento de software. Assim como verificar se os requisitos solicitados foram atendidos e a implicação dos fatos ocorridos durante o processo de desenvolvimento do sistema na satisfação do usuário.










Problema de Pesquisa



Segundo Furlanetto (2001), a comunicação é fundamental desde a evolução


do ser humano. É a forma básica e ancestral de se estabelecer contatos, criar e


manter diversos tipos de grupos. Ela é a responsável pela difusão de idéias, desejos


e objetivos de cada ser humano.


A comunicação, para Rodrigues (1997), possui dimensões pragmáticas e


expressivas da experiência humana, pois, ela não se constrói baseada somente nos


discursos verbais. Também incorpora silêncios, gestos, atitudes, ações e omissões,


ocasionando manifestações significativas, transformando comportamentos e a forma


14 de se observar o mundo. Isso é o que possibilita a inter-relação entre os seres


humanos.


Para Heráclito (1996), o processo de comunicação ocorre a partir da emissão


de mensagens fluentes e bem elaboradas. Também é a capacidade do ser humano


em captar através da audição as impressões diferenciadas. Conclui-se então, que a


comunicação é muito importante no processo de desenvolvimento de software.


De acordo com Furlanetto (2001), ela pode ser ineficaz, ocasionando inúmeros


problemas, os quais poderão comprometer todo o processo de desenvolvimento e


impactar também na satisfação dos usuários. Durante o desenvolvimento de software, deve-se observar cuidadosamente o processo de comunicação entre usuários, clientes e desenvolvedores (Fernandes, 2003). É neste contexto que se estabelece o problema desta pesquisa, tendo a seguinte questão geradora: A comunicação, no processo de desenvolvimento de software, é fator preponderante para a satisfação dos usuários.




Objetivos


Objetivo geral


Verificar se a comunicação no processo de desenvolvimento de software


exerce influência na satisfação dos usuários.


Objetivos específicos


- Verificar se os requisitos dos usuários foram atendidos pelos desenvolvedores;


- Analisar os impactos do processo de comunicação entre usuários e Desenvolvedores;


- Verificar se a satisfação dos usuários tem relação com o processo de


comunicação.


Estrutura do trabalho


Buscando a compreensão do objetivo a que se propõe este estudo, segue a


estrutura descrita abaixo:


- Primeira Parte: engloba a introdução, onde o assunto abordado é contextualizado, justificativa, objetivo geral e os específicos;


- Segunda Parte: engloba a revisão bibliográfica, onde se baseia o estudo, fazendo referência ao processo de comunicação, ao processo de desenvolvimento de software, às influências da comunicação no processo de desenvolvimento de software e às implicações da comunicação no processo de desenvolvimento de software com a satisfação dos usuários.


- Terceira Parte: abrange o método de trabalho utilizado neste estudo, o teste


psicológico escolhido para avaliar a comunicação, a entrevista semi-estruturada e o


questionário para verificar a satisfação dos clientes e dos usuários.


- Quarta Parte: abrange a análise e discussão dos resultados obtidos no teste


psicológico Inventário de Habilidades Sociais (IHS), da entrevista semi-estruturada,


do questionário de satisfação e da análise comparativa em grupo, englobando


usuários, clientes e desenvolvedores. Nessa fase, dá-se também a conclusão.



REFERENCIAL TEÓRICO



Processo de comunicação


O processo de comunicação organizacional tem sido cada vez mais objeto de


estudos com base nas teorias da sociologia, da comunicação e da psicologia


comportamental por envolver em seu processo pessoas que trazem diferentes


culturas e hábitos (Sousa, 2004).


Devido à amplitude do termo comunicação, na pesquisa o mesmo é utilizado


referenciando à inter-relação da informação. Segundo Araújo (1999), a informação é


um elemento fundamental nas inter-relações sociais, pois é através do intercâmbio


informacional que os sujeitos sociais se comunicam e tomam conhecimento de seus


direitos e deveres, podendo a partir desse momento tomar decisões individuais ou


coletivas.


Araújo (1999) salienta que os indivíduos ao participarem de circuitos


comunicacionais constroem as práticas informacionais, que são conceituadas pela


autora como ações de recepção, geração e transferência de informação nos meios


sociais. Redfield (1967) define a comunicação como o processo de transferência de


uma pequena informação selecionada, a qual caracteriza como mensagem, de uma


fonte a um destinatário.


Para Oliveira (2003), a comunicação é uma função contínua do ser humano,


não podendo ser observada como uma tarefa meramente ocasional, pois ela é


essencial para a existência do homem, principalmente quando os indivíduos se


organizam, instituindo grupos, como família, empresa, igreja, nação, estado entre


outros. Baseado nessa percepção, o que realmente se organiza é o fluxo de


18 informações relacionadas com o grupo e em decorrência das relações entre as suas partes funcionais.


Conforme Brookes (1980), a informação é capaz de produzir algumas


transformações no estado mental do sujeito a nível cognitivo-social. Ao ser


selecionada a informação leva às mudanças do estado de conhecimento por ocorrer


agregação de dados novos, os quais, aplicados na convivência social, provocarão


alteração no próprio meio devido às trocas de experiências dos sujeitos.


Segundo Angeloni (2003, pg. 19), a informação:“É valiosa precisamente porque alguém deu a ela um contexto, um significado, acrescentou a ela sua própria sabedoria, considerou suas implicações mais amplas, gerando o conhecimento. O conhecimento, consequëntemente, é tácito e difícil de explicitar.”


Para Davenport (1998), o conhecimento é adquirido por meio do uso da


informação em todos os tipos de ações do individuo. Por isso que o conhecimento é


vinculado ao individuo, estando diretamente relacionado com a percepção do


mesmo, que vai codificar decodificar, distorcer e utilizar a informação de acordo com


suas características pessoais e seus modelos cognitivos.


Para Díaz Bordenave (1982): “A comunicação, de fato, é um processo


multifacético que ocorre ao mesmo tempo em vários níveis – consciente,


subconsciente, inconsciente, como parte orgânica do dinâmico processo da própria


vida”.








Segundo Ramos (1989), a comunicação é definida como qualquer processo,


através do qual, premissas decisórias são transmitidas entre os membros da


organização. Para De Abreu (1999), a comunicação é um processo simbólico, pois, as idéias são comunicadas de um transmissor para um receptor através do uso de símbolos. O símbolo mais conhecido é a palavra oral e escrita.


Faria e Suassuna (1982), classificam a comunicação como: “... a técnica de


transmitir uma mensagem a um público ou pessoa, fazendo com que um


pensamento definido e codificado, possa alcançar o objetivo por meio de estímulo capaz de produzir a ação desejada”.


Robbins (2000) divide a comunicação em: interpessoal e organizacional. No entanto, existem outras formas de dividi-la, como inter-organizacional com o


mercado ou clientes, com fornecedores, com a concorrência e também em interna e externa.


A comunicação interna, para Sveiby (1998), engloba o endomarketing que


são as redes de informação ascendentes, descendentes e diagonais e também o processo formal.


Segundo Kunsch (1995), a comunicação interna tem como objetivo promover


a integração entre a organização e seus empregados. Já para Neves (1998), ela é


um dos mais importantes componentes da comunicação integrada que procura


valorizar a história como um ponto de referência que reforça a cultura organizacional


ou promove mudanças internas quando necessário e funciona também como


ferramenta de integração com o público externo.


Torquato (1991) conceitua a comunicação interna como um processo


integrado criado para estabelecer e manter a qualidade de vida das pessoas nas


organizações.


Segundo Fernandes (1999), a comunicação interna é uma ferramenta


estratégica para a compatibilidade dos interesses dos empregados e da empresa,


estimulando o diálogo, a troca de informações e experiências. Para Torquato (1991),


a comunicação interna é importante por proporcionar o conhecimento sobre a


trajetória evolutiva, as realizações e as metas que fizeram ou fazem parte da história


da organização.


A comunicação externa engloba, segundo Furlanetto (2001), as relações com


consumidores, fornecedores, governo, tecnologia, comunidade e inclusive com a


concorrência. Ela tem como principal objetivo a busca de dados e informações úteis


à organização.


Segundo Díaz Bordenave (1982) a comunicação existe em função da vida em


sociedade e representa o canal, através do qual, padrões de cultura são transmitidos


e permite através da família, do grupo de amigos, da vizinhança, da equipe escolar,


do trabalho que as pessoas se relacionem entre si transformando-se mutuamente e


também transformando o ambiente em que estão inseridas.


Para Furlanetto (2001), o objetivo da comunicação é promover o


entendimento entre os componentes de um grupo. Ao se compartilhar os


20 pensamentos o grupo estará interagindo, trocando idéias, conhecimentos e


experiências.


Schermerhorn et al (1999), menciona que é muito comum avaliar o processo


de comunicação como um processo de remessa e recebimento de mensagens.


Apesar, de o processo parecer elementar, não ocorre de maneira simples. Existem


os ruídos (componentes do processo) que são considerados distúrbios. Eles podem


surgir dentro do processo e muitas vezes interferirem podendo interromper a


transmissão das mensagens conforme mostra a figura abaixo:




Conforme demonstrado na figura um, a fonte é onde a mensagem se origina, é nela que se pode controlar o tipo de mensagem enviada, assim como sua forma e o canal pelo qual é enviada. A mensagem, segundo Robbins (2000), é o produto físico e concreto da codificação da fonte; nas relações interpessoais podem ser verbais ou não verbais. O receptor é o destino da mensagem e também funciona como agente decodificador. O feedback é a maneira pela qual o codificador/emissor será informado sobre o seu desempenho. Para Megginson (1998), o feedback é mencionado como o passo final do processo, englobando as respostas que o receptor dá em sua comunicação com o transmissor original ou com outra pessoa. Já os ruídos, segundo Schermerhorn et al (1999), são quaisquer tipos de distúrbios que possam surgir dentro do processo comunicativo podendo interrompê-lo e ou interferir na transmissão das mensagens.



Processo de desenvolvimento de software



- 1ª Etapa: Requisitos → são definidos os domínios e a função da informação,


além do desempenho e interfaces. Nessa etapa, objetiva-se identificar as


necessidades técnicas, estruturais e funcionais apresentadas pelos clientes ao


solicitar o software.


- 2ª Etapa: Análise → ocorre seleção das características que serão utilizadas


a partir da tecnologia escolhida para construção do software. A análise pode ser


estruturada, essencial ou orientada a objetos.


- 3ª Etapa: Projeto → agrega as características tecnológicas, tais como:


sistema operacional, linguagem de programação, banco de dados, protocolos de


rede, etc.


- 4ª. Etapa: Codificação → é a transcrição da análise para a linguagem de


programação.


- 5ª Etapa: Testes → visam garantir a integridade dos aspectos lógicos


internos, bem como sua funcionalidade (aspectos externos) do software.


- 6ª Etapa: Implantação → nesta etapa o software é instalado no ambiente de


produção.



Influências da comunicação no processo de desenvolvimento de software



Damodaran (1996) menciona que a participação dos usuários é muito importante para o alcance da satisfação em relação ao produto. É também importante que eles compreendam claramente os objetivos que se pretende atingir, além do seu papel no processo, conforme a figura



Comunicação e suas implicações na satisfação dos usuários



Para garantir a qualidade do software, segundo Sandhof (2004), é importante dar atenção especial ao processo, à tecnologia e principalmente às pessoas. A tecnologia surge da necessidade demonstrada e solicitada pelo mercado. O processo engloba todos os aspectos que se fazem necessários no desenvolvimento do sistema. As pessoas são primordiais para o sucesso do desenvolvimento. Conforme ilustração na figura










Os usuários solicitam um modelo de software, o qual pode ser classificado


como o desejado. Já a satisfação gira em torno do alcance deste desejo e o desempenho gira em torno do software adequado. Este é tido como aceitável pelos


usuários, quando atende suas expectativas/necessidades mínimas. Isso significa


que o software recebido nem sempre é o desejado pelos usuários. Muitas das


adequações que ocorrem no processo, não os satisfazem plenamente por não


atenderem algumas de suas expectativas iniciais,segundo (Hoffman e Bateson, 1997). Estes aspectos referentes ao software podem ser observados na figura







A relação entre usuários, clientes e desenvolvedores pode ser observada na


Figura










CONCLUSÃO


O presente estudo teve como objetivo geral, verificar se a comunicação no


processo de desenvolvimento de software exerce influência sobre a satisfação dos


usuários, bem como os impactos do processo de comunicação entre os usuários e


os desenvolvedores, além da relação entre a satisfação dos usuários com o


processo de comunicação e com o atendimento dos requisitos iniciais.


No processo de desenvolvimento ou na adequação do software, dois fatores


foram preponderantes: os técnicos e os humanos. Os fatores técnicos são aqueles


relacionados às ferramentas do software e sua operacionalização. Os humanos


referem-se ao relacionamento interpessoal entre atores,diálogo,conflitos,manifestações não verbais,

[Seminário] Estimativas de Software Orientado a Objetos
























[Aula] Boas práticas no desenvolvimento de software

Na aula passada (04/04), foram apresentadas 6 (seis) boas práticas no desenvolvimento de software, segundo RUP [1]:

1. Desenvolver o software iterativamente
2. Gerenciar Requisitos
3. Usar arquiteturas baseadas em componentes
4. Modelar software visualmente
5. Verificar a qualidade do software
6. Controlar as mudanças do software     

Como leitura sobre o tema, recomento a leitura do seguinte post:
RUP - Primeiros Passos

E sobre requisitos, confiram um vídeo interessante para reflexão e análise:



Até breve!

Referências:

[1] IBM Rational Unified Process (RUP). Disponível em http://www-01.ibm.com/software/awdtools/rup/. Acesso em 11/04/2011.

terça-feira, 5 de abril de 2011

Comunicação no Processo de Software

(Comunicação de maneira simples)


O processo de comunicação em todos os casos, sem exceção, precisa de um transmissor e um receptor, precisa ser bem transmitido e bem recebido. Na visão mais simples e conhecida é aquele que todos vivenciamos desde crianças, aquele no qual nossos pais falavam e nós ouvíamos. Também fazemos uso do simples processo de comunicação agora, o autor escreve (transmite) e os leitores lêem (recebem). Existe ainda um elemento que deve ser acrescentado ao processo de comunicação, a interferência. A interferência prejudica a recepção da mensagem ou modifica o seu significado. Em todo processo de comunicação, simples ou não, existe a interferência em maior ou menor grau.
Após as explicações anteriores alguns poderiam me dizer: “mas isto não é novidade para ninguém”. Realmente é um processo singelo e sem dificuldades para o entendimento, agora me dizendo “mais isto não é novidade para ninguém” transformamos o que até aqui era um processo de comunicação básico em um processo de comunicação eficaz.
A comunicação eficaz consiste em transmitir a mensagem ao receptor e receber do receptor o que foi entendido da mensagem, o que hoje em dia é conhecido largamente no âmbito corporativo como “feedback”. “É o retorno com relação ao recebimento e entendimento da mensagem: é a certeza de que o receptor recebeu a mensagem e a compreendeu. Isso eliminaria a ocorrência de interferência, tornando a comunicação eficaz” (Griffin 2006).
Apesar de ser um processo simples, nem sempre a mensagem enviada é igual à mensagem recebida, temos o exemplo claro da brincadeira “telefone sem fio” que só permite o “feedback” do ultimo receptor no final da brincadeira. Alguém já participou de uma brincadeira desta que teve em seu fim a mesma mensagem transmitida no inicio?
Para uma comunicação de fato eficaz é necessário que a mensagem seja bem transmitida, bem recebida e possua o retorno que, por sua vez, deve novamente ser bem transmitido e bem recebido.
Temos um bom exemplo de mensagem bem transmitida em nossa aula de “Sistemas Operacionais” (Profº Anderson). Façam um comparativo da dificuldade que teríamos para entender a aula de “Gestão do Processador”, políticas preemptiva e não preemptiva, se ele substituísse seus bons e velhos desenhos no quadro (ou exemplos com “Foguinho processador” e “Samir processo”) por um slide cheio de textos teóricos a respeito do assunto.
O analista de requisitos é o personagem principal no que diz respeito à comunicação no processo de software. Grande parte, diria de 90% a 100% da comunicação entre cliente e desenvolvedor é feita através do analista.
Com base nas linhas anteriores vamos imaginar um cenário (fictício) de comunicação básica e um cenário (fictício) de comunicação eficaz entre cliente, analista e desenvolvedor e seu resultado final:

Comunicação Básica:

Cliente Transmite:
“Preciso que meu sistema de cadastro de alunos, ao final dos cadastros, envie os dados de confirmação de cadastro por e-mail para os alunos”.

Analista Recebe e Transmite ao Desenvolvedor:
“O sistema envia os dados de cadastro para os alunos por e-mail”.

Desenvolvedor Recebe e Desenvolve:
“O sistema envia os dados de cadastro para os alunos por e-mail”.

Sistema: Sistema envia os dados de todos os cadastrados para o aluno por e-mail.

Vemos que neste caso ao transmitir o cliente acredita que sua mensagem foi bem recebida e o analista, por sua vez, acredita que o desenvolvedor recebeu corretamente a mensagem.

Agora o cenário de Comunicação Eficaz:

Comunicação Eficaz:

Cliente Transmite:
“Preciso que meu sistema de cadastro de alunos da faculdade, ao final dos cadastros, envie os dados de confirmação de cadastro por e-mail para os alunos”.

Analista Recebe e Confirma com o Cliente:
“O sistema envia o cadastro para o aluno por e-mail para conferência dos dados ou apenas uma mensagem de confirmação de cadastro?”.

Cliente Confirma ao Analista:
“O sistema envia apenas uma mensagem de confirmação de cadastro, pois a conferência é feita pessoalmente no momento da assinatura do contrato.”

Analista Recebe e Confirma com o Cliente:
“O sistema envia uma mensagem de confirmação de cadastro por e-mail para o aluno logo após o seu cadastro”.

Cliente Confirma com o Analista:
“Correto”.

Analista Transmite ao Desenvolvedor:
“O sistema envia uma mensagem de confirmação de cadastro por e-mail para o aluno logo após o seu cadastro”.


Desenvolvedor Recebe e Confirma com o Analista:
“O sistema envia apenas uma mensagem de confirmação de cadastro por e-mail para o aluno logo após o seu cadastro?”.

Analista Recebe e Transmite ao Desenvolvedor:
“Correto”.

Desenvolvedor Recebe e Desenvolve:
“O sistema envia apenas uma mensagem de confirmação de cadastro por e-mail para o aluno logo após o seu cadastro”.

“Sistema: Envia apenas uma mensagem de confirmação de cadastro por e-mail para o aluno logo após o seu cadastro”.

Já neste caso a informação é recebida de forma errada, mas corrigida em seguida graças ao retorno dispensado, e o projeto anda conforme as especificações do cliente.
Não só no processo de software, mas em todas as áreas, a comunicação eficaz é uma ferramenta de suma importância visto que ela dita o rumo e fim que os projetos terão.

Por fim, fale de forma clara, escute com atenção e questione.

Comunique-se com eficácia!

Rodrigo Mauricio de Oliveira – RA: 0901344449

sábado, 2 de abril de 2011

[Seminário] Introdução à Ferramenta Bugzilla


[SEMINÁRIO]
LUCAS S. MELO RA: 1099433969
GERENCIAMENTO DE DEFEITOS EM PROJETOS DE SOFTWARE
INTRODUÇÃO Á FERRAMENTA BUGZILLA

Podemos definir que o grande marco para o início de um pensamento pela melhoria de fabricação de produtos com maior qualidade se deu durante a revolução industrial, onde a busca por um diferencial na fabricação de produtos fez com que as empresas criassem métodos e técnicas diferentes para que isso acontecesse, começando então um conceito que hoje chamamos de processo, procurando minimizar as despesas e maximizar os lucros.

Até então a qualidade do produto era o fator que iria qualificar positivamente a empresa fabricante, fazendo com que o objetivo principal fosse de a entrega de um produto com maior qualidade e o mínimo de defeito.

Hoje o contexto de desenvolvimento de Software já é diferente, a qualidade já não é o fator de diferenciação no mercado e sim uma condição para que as empresas sejam bem-sucedidas. Hoje a busca por métodos maduros que podem ser proporcionados por certificações de qualidade garantem que o usuário receba o software com as especificações definidas e esperadas por ele.

Alguns autores conhecidos e com experiência, fazem uma reflexão sobre a importância dos padrões de processos para minimizar os gastos e esforços com manutenção. A manutenção, é uma etapa de melhoria e otimização de um software já finalizado, é nessa etapa que os bugs são encontrados e os defeitos são reparados.

Podemos considerar que a satisfação do cliente está ligada diretamente a funcionalidade correta da aplicação, para isso há grande parcela de importância no processo de desenvolvimento. Um software com muitos defeitos, gera insatisfação, prejuízos financeiros e pode colocar em risco o sucesso do processo de desenvolvimento e até o próprio software.

Para isso existem ferramentas como o Bugzilla dá apoio à tarefa de manutenção de software, sendo utilizado principalmente como centralizador para reporte de defeitos em software.

Foi desenvolvido inicialmente em TCL (Tool command Language) por Terry Weissmam. Hoje a ferramenta é distribuída gratuita e com código fonte aberto (freeware e opensource) e foi migrada para a linguagem PERL.

O Bugzilla por ser uma ferramenta WEB precisa rodar num servidor WEB, configurado com suporte PEARL, em modo CGI (tecnologia que permite que o navegador passe parâmetros para programas alojados em servidor WEB e depois geram as páginas após processar). Os desenvolvedores recomendam um servidor WEB APACHE. Há também outros módulos requeridos e opcionais no manual de instalação da ferramenta que pode ser encontrada na própria pagina do Bugzilla. Suporta banco de dados MySQL, PostgreSQL e Oracle. Para sua instalação temos um script para automatizar o processo e para executá-lo é necessário ter acesso ao shell do servidor (SSH no Linux ou prompt MS-DOS no Windows) e é compatível com qualquer um desses ambientes.

O Bugzilla pode ajuda-lo dar um salto sobre o processo de desenvolvimento de software. Projetos bem sucedidos, muitas vezes são o resultado da boa organização e comunicação e esta é uma ferramenta que ajudará a sua equipe a se organizar e comunicar com eficácia.