SlideShare uma empresa Scribd logo
1 de 6
Baixar para ler offline
O Desenvolvimento de Software Aplicando a Técnica Joint Application Design
Marco A. PALUDO
PUC-PR – PPGEPS – Pontifícia Universidade Católica do Paraná
R. Imaculada Conceição, 1155 - 80215-901 - Curitiba - Paraná - Brasil
FESP - BSI - Fundação de Estudos Sociais do Paraná – Curso BSI
Rua Gal. Carneiro, 216 Centro Curitiba PR Brasil - 80060-150
paludo@fesppr.br
Robert C. BURNETT
PUC-PR - PPGEPS - Pontifícia Universidade Católica do Paraná
R. Imaculada Conceição, 1155 - 80215-901 - Curitiba - Paraná - Brasil
robert@rla01.pucpr.br
João M. LOCH
CEFET-PR - PPGTE - Centro Federal de Educação Tecnológica do Paraná
Av. Sete de Setembro, 3165. Rebouças - Curitiba-PR - CEP: 80230-901
matias@fesppr.br
Dálcio REIS
CEFET-PR - PPGTE - Centro Federal de Educação Tecnológica do Paraná
Av. Sete de Setembro, 3165. Rebouças - Curitiba-PR - CEP: 80230-901
dalcio@ppgte.cefetpr.br
RESUMO
O objetivo deste trabalho é apresentar a importância da
técnica JAD e sua contribuição na transferência do
conhecimento tácito para o explícito na área de
desenvolvimento de software, minimizando os custos e
acelerando o processo de desenvolvimento e manutenção
de software. O processo para elaboração deste trabalho
iniciou com a revisão da literatura na área do
conhecimento e as suas formas de transmissão e dos
aspectos que envolvem o processo de desenvolvimento e
manutenção de software e nas ferramentas e métodos
que suportam este ciclo de desenvolvimento. Foram
identificados os principais problemas presentes no
desenvolvimento de produtos de software e observadas
as técnicas aplicadas neste processo de desenvolvimento.
Foram contatados gerentes de projetos que utilizam a
técnica JAD na região de Curitiba, no Estado do Paraná -
Brasil, com o intuito de evidenciar os resultados do
emprego desta técnica. Os dados foram processados com
base nas respostas dos entrevistados. A pesquisa
efetuada analisou e validou a técnica JAD, comprovando
a sua efetividade nas empresas que a adotam. Foram
obtidos produtos de software com maior qualidade e
projetos com maior grau de efetividade, principalmente
com a participação do usuário. Relatam-se experiências
de empresas e consultores que utilizam a técnica, tanto
para o desenvolvimento como para a manutenção de
sistemas. Pretende-se com este estudo oferecer subsídios
para os desenvolvedores interessados em inovar no
processo de criação e manutenção de software, bem
como contribuir com o processo de inovação no
desenvolvimento de serviços.
Palavras-chave: Desenvolvimento de Software,
Conhecimento; Produtividade; Planejamento.
1. O DESENVOLVIMENTO DE SOFTWARE E O
CONHECIMENTO
Nos últimos anos, o tema “conhecimento”,
segundo Reis (2000:32) [10] tem sido explorado por
autores proeminentes como Peter Drucker, Alvin Toffler,
James Brian Quin, Michael Gibbons, Thomas
Davenport, Ikujiro Nonaka, Peter Lorange, Peter Senge,
Giovanni Dosi entre outros. O conhecimento, segundo
Davenport & Prusack (1998) [1], não é dado e nem
informação – embora estejam relacionados, mas sim,
uma informação valiosa da mente humana, que inclui
reflexão, síntese e contexto. Normalmente é de difícil
estruturação, trabalhosa captura em máquinas,
freqüentemente tácito ou subentendido, de transferência
dificultosa e complexo de gerenciar. (DAVENPORT &
PRUSACK, 1998) [1].
O conhecimento implícito ou tácito, segundo
Reis (2000:33) [10], citando Gibbons (1994), refere-se
ao conhecimento não codificável o qual não pode ser
transmitido por documentos escritos e que está presente
no cérebro humano de quem trabalha com um processo
particular de transformação. Para adquiri-lo, é necessário
um grande investimento individual, financeiro e
temporal uma vez que este tipo de conhecimento se
adquire através de um longo processo de educação e de
acumulação de experiências (Reis, 2000:34) [10]. Desta
forma, o conhecimento tácito só pode ser utilizado por
quem o detém. Cita-se o exemplo dos usuários de um
software, que sabem fazer as suas atividades, adquiridas
por processos de educação e experiências ao longo de
sua vida.
O conhecimento explícito ou codificável,
segundo Reis (2000:34) [10], é aquele que pode ser
armazenado fora do cérebro humano, portanto, ele é
formal e sistemático. O conhecimento explícito, por ter
uma distribuição fácil e de baixo custo, é abundante,
especialmente como resultado dos avanços nas
tecnologias de informação, tornando-se difícil atribuir e
defender direitos de propriedade. Ainda por apresentar a
característica de baixo custo para sua distribuição, Reis
(2000:34) [10] destaca que os esforços de criação deste
conhecimento são elevados e seus resultados podem ser
incertos. No contexto abordado por este trabalho pode
ser evidenciada a quantidade de produtos de software,
cujo custo de distribuição é baixo, mas os custos de
elaboração e de manutenção são elevados.
O software, segundo Pressman (1995:24) [9] é
um elemento de sistema lógico, e não físico e que não se
desgasta. Para Schorer (2000) [11] o software é o melhor
negócio do mundo: não se desgasta, não polui, você
vende para um número infinito de clientes no mundo
inteiro, continua sendo dono do produto e ainda recebe
valores para a sua manutenção. Como os sistemas de
informação tornaram-se cada vez mais complexos, o
desenvolvimento, a manutenção e a operação estão
atingindo seus limites da viabilidade material e
econômica. O desenvolvimento de software é visto cada
vez mais, segundo Paludo (2003) [7] como uma
disciplina de engenharia e, desta forma, princípios e
métodos a ela inerentes vêm sendo progressivamente
aplicados, como exemplo planejamento, formalismo e
capacidade de reproduzir projetos bem sucedidos.
Diante desses fatos, a comunidade de
desenvolvimento de software tem despendido especial
atenção aos problemas apresentados nas diversas áreas e
nas diversas etapas do ciclo de desenvolvimento de
software. Nenhum grupo de especialistas isolado tem a
responsabilidade exclusiva pela criação de novos
conhecimentos (NONAKA, 1997:39). Para ele, altos e
médios gerentes, bem como os demais funcionários de
linha, desempenham todos um papel. Dessa forma, o
valor da contribuição de qualquer pessoa é determinado
pela importância da informação que ela traz ao sistema
como um todo, independentemente da hierarquia.
Algumas abordagens consideram este conceito como
valor agregado (earned value).
Os problemas que estão presentes no
desenvolvimento de software podem ser caracterizados a
partir de uma série de perspectivas diferentes, mas
segundo Pressman (1995:23) [9] os gerentes
responsáveis pelo desenvolvimento de software
concentram-se nas questões de ‘primeiro plano’, tais
como: (i) as estimativas de prazo e de custo
freqüentemente são imprecisas; (ii) a produtividade das
pessoas da área de software não tem acompanhado a
demanda por seus serviços; e (iii) a qualidade de
software às vezes é menos que adequada.
Os elevados custos do software sejam eles para
o desenvolvimento ou manutenção, têm sido objeto de
constantes discussões entre a área contratante e de
desenvolvimento. Os prazos estimados geralmente não
são cumpridos e os índices de erros para novos
programas causam insatisfação ao cliente gerando
frustrações e desconfiança. Para ilustrar e confirmar
estas características, pesquisa desenvolvida no Brasil
com gerentes de projetos de software indicou que 12,8%
dos gerentes de projetos simplesmente desconhecem os
seus custo e que 41,43% dos projetos atrasam (Machado,
2002) [5].
Além dessas, Pressman (1995) [9] destaca as
seguintes dificuldades no desenvolvimento do software:
a) não dedicação de tempo para coletar dados sobre o
processo de desenvolvimento de software; b)
insatisfação do cliente com o sistema “concluído”; c) a
qualidade de software freqüentemente é suspeita devido
a pouca importância é dada aos testes de software. Em
muitos casos os testes são executados pelo próprio
desenvolvedor, exercitando somente o que o programa
era destinado a fazer, esquecendo-se de testar aquilo que
o sistema não deve fazer. Para Pressman (1995, p.23) [9]
somente agora [1995] estão começando a surgir
conceitos quantitativos sólidos de confiabilidade e
garantia de qualidade de software.
2. CAUSAS DOS PROBLEMAS DE
DESENVOLVIMENTO E MANUTENÇÃO DE
SOFTWARE
Os problemas associados ao desenvolvimento e
manutenção do software, segundo Pressman (1995:24)
[9] foram causados pelo próprio caráter do software e
pelas falhas das pessoas que detinham a
responsabilidade pelo desenvolvimento de software. Esta
também é uma atividade nova, com pouco mais de 40
anos. O software, por ser de natureza lógica, torna-se um
desafio para as pessoas que o desenvolvem, mas os
problemas vistos anteriormente são causados por falhas
humanas. Gerências médias e altas com pouca
preparação e qualificação assumem a responsabilidade
pelo gerenciamento e desenvolvimento de projetos de
sistemas para computadores. A falta de comunicação
entre os atores envolvidos no processo cria uma
incompreensão do software a ser desenvolvido e quando
isso ocorre, os problemas associados às falhas serão
inevitáveis.
O processo de desenvolvimento de software,
segundo Pressman (1995:46) [9] contém três fases
distintas, as quais são: definição, desenvolvimento e
manutenção. Na fase de definição (o quê) o
desenvolvedor de software busca identificar quais as
informações devem ser processadas, quais as funções
desejadas, quais as interfaces devem ser estabelecidas,
quais restrições e critérios de validação. Na fase de
desenvolvimento (o como) procura-se definir como a
estrutura de dados e a arquitetura de software devem ser
projetadas, como os detalhes procedimentais devem ser
implementados, a utilização de uma linguagem de
programação e como os testes devem ser realizados. Já
na fase da manutenção o desenvolvedor concentra-se nas
mudanças associadas à correção de erros, adaptação e
melhorias.
3. O DESENVOLVIMENTO DE SOFTWARE E
SUAS TÉCNICAS
A engenharia de software vem evoluindo e
refinando técnicas e métodos para o desenvolvimento de
aplicações e sistemas de informação que sejam
confiáveis, de fácil manutenção e com custo e prazos de
desenvolvimento viáveis. Uma forma para atingir essas
metas é o emprego de reuso no processo de
desenvolvimento. Outra abordagem eficiente é a
formalização do processo de desenvolvimento e, em
especial, a formalização da documentação utilizada
como base para todo o ciclo de vida do software.
(PALUDO, 2003) [7].
Diante dos problemas e suas causas no
gerenciamento e desenvolvimento de software, quais as
técnicas que poderiam ser utilizadas para reduzir os
problemas e ampliar a participação do cliente em todas
as etapas do desenvolvimento e manutenção do
software? Como fazer para transferir o conhecimento
tácito ou implícito, que está com o cliente ou usuário, em
um conhecimento explícito ou codificável em um
software?
Existem muitos métodos para o
desenvolvimento de projetos de software e o Joint
Application Design – JAD, é uma técnica de reunião que
têm por objetivo acelerar o projeto de desenvolvimento e
manutenção de software. Sua aplicação permite a criação
de sistemas mais eficazes em menor tempo, tendo como
um de seus maiores benefícios à aderência que pode ter a
vários métodos de desenvolvimento de software
atualmente empregados, como análise estruturada,
análise essencial, orientada a objetos, Unified Process,
entre outras.
Desenvolvida originalmente em 1977, pela
IBM do Canadá, ela nasceu da frustração de se tentar
obter um acordo entre os usuários, quanto às exigências
e projetos de sistemas para manufatura (JUDY, 1993:11)
[4]. Visto como um meio de se obter consenso entre um
grupo de usuários, a técnica fixou-se rapidamente,
principalmente no Canadá, onde a IBM executou
diversos JAD’s para seus clientes. Embora seja visto
como uma ruptura das tradicionais metodologias de
desenvolvimento de software, segundo Judy (1993:11)
[4], o JAD é um método de senso comum. Ele vem
sendo utilizado em grande escala por empresas de
consultoria, na engenharia de sistemas e em empresas
dos mais variados segmentos de negócios (financeiro,
serviços, indústrias, comércio, etc.).
Essa técnica se adapta perfeitamente na
metodologia de desenvolvimento de sistemas, pois vem
sendo vista como um compromisso com a qualidade e o
consenso entre os desenvolvedores e os clientes. Utiliza-
se de um líder neutro que, por intermédio de reuniões,
orienta os usuários e analistas para projetarem juntos o
sistema, tornando-os co-responsáveis pelo sucesso ou
fracasso do sistema. Estas reuniões obedecem a agendas
e calendários previamente estabelecidos, as quais estão
baseadas em formalizações, regras de comportamento e
geração de documentação acerca das definições obtidas.
Por que o JAD recebeu tanta atenção e tornou-
se um padrão tão bem-sucedido? Judy (1993:3) [4]
afirma que “enquanto a maioria das metodologias difere
no padrão de diagramas e textos que empregam, o JAD
se distingue por toda a sua filosofia e abordagem”. Ele
coloca na mesma posição os usuários e profissionais da
área de sistemas para que projetem o sistema em
conjunto, através de sessões de grupo. Esta técnica
possui uma abordagem inovadora, mas dentro do senso
comum, para a definição dos objetivos e requisitos do
software e projeto das interfaces (telas, relatórios,
dados).
Os relatórios oficiais mais recentes sobre o
cenário nacional da Qualidade e Produtividade no Setor
de Software Brasileiro apresentam a técnica JAD sendo
utilizada por 8,1 % das empresas desenvolvedoras de
software. Estes números apontam uma lacuna e uma boa
oportunidade para estas empresas fazerem uso desta
técnica e aprimorarem a qualidade e produtividade em
seus processos. A fonte deste percentual de uso é a
“Tabela 40 – Práticas de Engenharia de Software
adotadas no desenvolvimento e manutenção de software”
do relatório editado em 2002 pelo Ministério da Ciência
e Tecnologia (MCT, 2002) [6].
4. JOINT APPLICATION DESIGN
Para Judy (1993:3) [4] a técnica Joint
Application Design traz diversos benefícios para o
processo de desenvolvimento de software, sendo
apresentados na seqüência os principais:
a) Maior produtividade: estudos relatam aumentos de
20 a 60% na produtividade, em relação aos métodos
tradicionais. Esses ganhos são obtidos tanto no que diz
respeito ao cronograma quanto ao número de horas
necessárias para completar as fases de definição de
objetivos, exigências e projeto das interfaces, produzindo
melhores informações.
b) Maior qualidade: embora muitas organizações
experimentam o JAD por causa de seus ganhos de
produtividade, usuários e analistas de sistemas,
costumam citar “projeto de software de alta qualidade”
como sendo o maior benefício do método.
Considerando-se o ciclo de desenvolvimento do
software, o JAD se ajusta perfeitamente em todas as suas
fases, conforme o ciclo de vida de desenvolvimento do
software apresentado na Figura 1. Pode observar-se que
o JAD atua fortemente nos três primeiros ciclos,
enquanto os últimos três ciclos referem-se a execução do
projeto após aprovação durante as reuniões. Devido à
participação intensiva das pessoas "certas", o resultado
final é um sistema que é funcionalmente correto.
c) Trabalho em equipe: promove o espírito de
cooperação, entendimento e trabalho em equipe. É
comum, nos métodos tradicionais de desenvolvimento de
sistemas, que os usuários apresentem resistências em um
novo sistema, tentando dificultar a sua implantação. O
JAD produz informações baseadas no consenso do grupo
e faz com que os participantes construam o sistema,
apoiados no conhecimento de cada um. Dessa forma,
usuários e analistas tornam-se confiantes e todos são co-
responsáveis pelo sucesso ou pelo fracasso do sistema.
d) Custos mais baixos de desenvolvimento e
manutenção: o projeto de alta qualidade, obtido através
do JAD, possibilita uma grande economia de tempo e
dinheiro durante as fases de desenvolvimento e após a
entrega do sistema. Isso é possível, pois o sistema é
desenvolvido de forma mais rápida, consistente e com o
comprometimento do usuário. Estudos têm demonstrado
que os erros na definição dos objetivos, requisitos e
projeto externo são os mais caros de corrigir, incorrendo
com freqüência em significativos estouros de prazos e
orçamentos. Segundo Gary Rusch (p.11), citado por Judy
(1993:5) [4] “a eliminação dos erros constitui até 40%
dos custos de um sistema. Desses erros, 45 a 65% são
cometidos no projeto do sistema”. Proporcionando um
projeto correto desde o início os custos com correções de
erros e manutenções são reduzidos.
Princípios do JAD
Segundo Davenport & Prusack (1999:108) [1]
a transferência espontânea e estruturada do
conhecimento é vital para o sucesso de uma empresa.
Para que ocorra esta transferência de conhecimentos
entre os desenvolvedores de software e os clientes, faz-se
necessário o desenvolvimento de estratégias para
incentivar essas trocas espontâneas. Para a obtenção dos
benefícios do JAD, segundo Judy (1993:5) [4], é
necessário que sejam seguidos os quatro princípios
básicos, para tornar o sistema mais tangível aos
participantes. Esses princípios são:
a) Dinâmica de grupo: desperta a força e a criatividade
da dinâmica de grupo para determinarem os objetivos e
os requisitos do sistema. Auxiliados por um líder
experiente, usuários, gerentes e analistas definem como
será o projeto, desde: o escopo; os objetivos; os
problemas com a sistemática atual; layout de telas e
relatórios; modelo dos dados.
b) Recursos audiovisuais: utiliza esses recursos para
tornar o projeto do sistema menos abstrato, permitindo
uma comunicação perfeitamente compreendida pelos
participantes.
c) Processo organizado e racional: o JAD emprega a
análise top-down e atividades extremamente bem
definidas, determinando um caminho a ser seguido desde
o início ao fim do projeto. Isso possibilita a garantia de
uma análise completa reduzindo as chances de falhas ou
lacunas no projeto e cada nível de detalhe recebe a
devida atenção.
d) A escolha do local: o local escolhido deverá ser
agradável para evitar a dispersão dos participantes e,
preferencialmente, afastado do local de trabalho para
evitar interrupções e facilitar o intercâmbio entre os
participantes. O acesso deve ser restrito aos
participantes, convidados e ouvintes para que a atenção
seja mantida durante todo o período de trabalho.
e) Documentação com a abordagem WYSIWIG "O
que você vê é o que você obtém": produz um
documento final, de forma clara e completa, onde estão
registrados os resultados do processo para que analistas e
usuários entendam as decisões tomadas. Este documento
garante a qualidade esperada do projeto e ajuda a evitar
acusações mútuas, promovendo a confiança e o orgulho
dos participantes nos documentos do projeto.
Participantes do JAD
As pessoas que participam do JAD, segundo
Judy (1993:44) [4] têm funções bem definidas, com
tarefas e responsabilidades específicas para cada uma
delas. Tudo irá depender das pessoas selecionadas, pois
pessoas sem experiência, sem imaginação e resistentes a
mudanças irão projetar um JAD ruim. Com pessoas
competentes e compromissadas, a metodologia produzirá
soluções inovadoras e altamente eficientes. Os principais
integrantes do JAD são:
Condutor (líder de reunião, mediador): é a
pessoa que irá conduzir o JAD tendo como principais
atribuições reunir e conduzir os participantes do JAD.
Deve ter facilidade de comunicação, possuir grande
conhecimento e experiência (teoria e prática) na
condução e apresentação da técnica ao grupo; ter
capacidade de controlar as discussões e superar as
questões pessoais entre os participantes; estar sempre
preparado e pronto para surpresas que possam surgir no
decorrer da reunião; ter conhecimento de sistemas
aplicativos; ser imparcial, ter domínio de grupo e
facilidade de síntese.
Analista de Sistemas: geralmente é a pessoa
que efetuará o desenvolvimento do sistema, dando
continuidade aos trabalhos do JAD. Suas principais
características: possuir conhecimento das necessidades
do usuário; ter competência na elaboração da
documentação; saber comunicar-se; possuir boa redação
e conhecer o negócio da empresa.
Patrocinador: o Patrocinador ou Executivo
Responsável é a pessoa que possui autoridade suprema
sobre a área funcional que o sistema abrangerá. Suas
principais atribuições são: resolver os conflitos que
ocorrem durante as sessões; fornecer uma visão
estratégica para os participantes, pois conhece as
diretrizes gerais da empresa e os objetivos a atingir;
manter o projeto suprido de recursos financeiros e
humanos quando o sistema estiver em produção e deve
participar em tempo integral das reuniões.
Usuários do sistema: são as pessoas que irão
trabalhar com o sistema. Suas informações serão de
extrema importância para implementação do sistema e
suas principais atribuições são: apresentar as
necessidades de processamento de informações para o
sistema e fornecer dados importantes para a abrangência
do mesmo; decidir sobre o projeto, pois será o principal
interessado no sistema; participar das votações e avalizar
as decisões tomadas. A sua principal característica é a de
possuir experiência e bom conhecimento do ambiente
organizacional da empresa.
Documentador: o responsável por esta
atividade deve fazer todas as anotações necessárias para
produzir o documento final do JAD e auxiliar o líder de
reunião.
Demais participantes: a prática tem
demonstrado que eventualmente são necessárias outras
pessoas no processo e que tal necessidade deve ser
avaliada pelos membros do projeto e do usuário, tais
como: Gerente da área de sistemas, Auditoria interna,
especialista e equipe de desenvolvimento (caso esteja
definida).
4.3 ORGANIZAÇÃO E A APLICAÇÃO DO JAD
EM UM PROJETO DE SOFTWARE (ADAPTAÇÃO
DA TÉCNICA)
O JAD é organizado em quatro sessões, sendo
elas:
a) Primeira reunião: a primeira reunião,
conduzida pelo Patrocinador o qual fará a abertura dos
trabalhos, apresentando os participantes. Nessa reunião
são definidos: a) o escopo do sistema (a idéia principal
do que se espera do sistema); b) os objetivos específicos
a serem alcançados com o novo sistema; c) os problemas
com a sistemática atual, os quais o sistema deverá
resolvê-los; d) os limites do sistema; e) as pessoas a
serem entrevistadas durante a fase de levantamento de
dados; e f) a data da sessão de Design.
b) Levantamento de dados e análise: a etapa
de levantamento de dados inicia-se após a primeira
reunião, cabendo a sua execução ao Analista de Sistemas
responsável pelo projeto. Ele efetuará o levantamento de
dados e a análise, utilizando-se como base os itens
definidos na reunião inicial, descrevendo os processos ou
eventos e elaborando os respectivos Diagramas de Fluxo
de Dados - DFD's.
c) Planejamento para a Sessão de Design: é
prudente fazer uma reunião de planejamento da sessão
de design entre o Analista de Sistemas e o Condutor.
Nessa reunião, o Analista de Sistemas apresenta ao
Condutor a proposta do sistema a ser debatida no Design
para que o mesmo tome conhecimento do sistema e
apresente suas críticas e sugestões com o objetivo de
melhorar a apresentação da proposta. Concluída esta
etapa, o Analista responsável irá preparar o material de
apoio (proposta do sistema), a lista de presenças, a pauta
para a reunião, a convocação dos participantes e
providenciar os recursos audiovisuais para a sessão de
design.
d) Reunião de design: a reunião de design é o
ponto alto da técnica do JAD, pois é o momento onde os
atores envolvidos no projeto irão debater sobre a
proposta a ser apresentada pelo Analista de Sistemas
responsável. Esta reunião está dividida nas seguintes
etapas:
d.1) Apresentações, definição de objetivos,
levantamento de problemas e limites do sistema: o
condutor administra o progresso da reunião,
apresentando inicialmente a pauta e fornecendo aos
participantes uma visão geral da técnica do JAD, seus
objetivos e quais as responsabilidades dos integrantes.
Através da dinâmica de grupo, definem-se os objetivos a
serem alcançados com o novo sistema, problemas
encontrados com a sistemática atual, prioridades, limites
e soluções;
d.2) Análise dos processos, dados e
interfaces do sistema: o Analista de Sistemas apresenta
o esboço do sistema, cabendo aos usuários debaterem
cada processo apresentado e sugerindo as alterações
necessárias, inclusive os dados das tabelas, os layouts e
os relatórios (pré-impressos ou não). Também é possível
que esses layouts sejam montados durante a própria
sessão de design. Uma vez concluído o processo, passa-
se ao processo seguinte;
d.3) Análise do novo fluxo e necessidades
administrativas surgidas: concluída a análise dos
processos, dados e interfaces do sistema, o Condutor
verifica junto aos participantes os aspectos de segurança
e auditoria do novo sistema. Nesta etapa o novo fluxo de
trabalho é analisado e debatido, registrando as eventuais
sugestões e problemas. Posteriormente os participantes
identificam as necessidades administrativas que possam
ter surgido com a proposta apresentada, relacionando-as
e identificando os responsáveis e prazos para a solução
de cada necessidade;
d.4) Cronograma, aprovação do novo fluxo
e avaliação da reunião: o Analista de Sistemas
apresenta o cronograma, prazos e responsáveis para o
desenvolvimento e implantação do sistema. Para a
aprovação do novo fluxo do sistema o Condutor do JAD
busca a aprovação do sistema proposto junto aos
participantes, verificando se o mesmo irá solucionar os
problemas atuais e se atenderá os objetivos a serem
alcançados, bem como os limites propostos. Esta etapa é
de fundamental importância, pois as responsabilidades e
os compromissos são acordados neste momento.
Também a aprovação do novo fluxo é essencial e cabe
ao Condutor da sessão alertar a todos os participantes
que estarão aprovando e concordando com todas as
decisões tomadas durante a sessão de design, afetando
diretamente todas as etapas posteriores do ciclo de vida
do desenvolvimento do software. Ao final da sessão de
design, o Condutor busca a opinião dos participantes
quanto à utilização da técnica do JAD, com o objetivo de
identificar os pontos positivos e corrigir as falhas para
aprimorar as futuras reuniões;
d.5) Documento final: após a conclusão da
sessão de design, o Analista de Sistemas irá elaborar um
documento final, abrangendo todas as sessões do JAD,
com base nas anotações realizadas pelo Documentador.
Esse documento representa as conclusões do grupo,
estabelecendo o compromisso de todas as partes
envolvidas no desenvolvimento do sistema e será
assinado por todos os participantes. Cada participante, ao
assinar o projeto, está assumindo a co-responsabilidade
pelo sucesso ou fracasso do sistema.
Essa abordagem cria um comprometimento
mútuo pelo sucesso do projeto, minimizando a procura
pelos “culpados” quando um projeto fracassa. Nesta
etapa pode haver duas formas de procedimento. A
primeira, mais comum, ocorre com a elaboração
posterior da ata que será entregue para a apreciação e
aprovação por todos os envolvidos em um momento
seguinte ao da reunião. A segunda abordagem ocorre
quando é disponível recurso de ferramentas
automatizadas durante as sessões do JAD. Nesta última
abordagem, no exato momento em que as sugestões e
correções vão sendo evidenciadas, o Documentador
transcreve cada comentário ou alteração no próprio
corpo do projeto, seja um texto, um DFD ou um modelo
de dados. Desta forma, ao final da reunião toda a
documentação está atualizada e pode ser verificada e
assinada ao término da sessão. Tem-se esta abordagem
como a mais indicada, mas é considerada pré-requisito
para o sucesso da técnica JAD.
Apesar de toda a preparação das sessões, Paula
Filho (2003:117) [8] alerta para os riscos e cuidados na
condução das sessões JAD, pois as sessões [do JAD]
exigem intenso comprometimento dos desenvolvedores e
clientes, embora durem normalmente um período
bastante curto se comparado a duração do projeto
completo. Deve ser constantemente enfatizado o
benefício da aplicação desta técnica até mesmo para que
o cliente e os gestores liberem, das atividades
corriqueiras, todos os participantes que sejam
considerados importantes para a reunião. Dentre os
principais problemas que podem comprometer a eficácia
dos JADs são evidenciados: a) não-participação das
pessoas que desempenham papéis chaves nos processo
de negócio que irão utilizar o software; b) participação
de pessoas não comprometidas com o sistema e com os
objetivos iniciais; c) número reduzido ou excessivo de
participantes.
5. RELATO DE USO DE CONSULTORES
QUE UTILIZAM O JAD EM CURITIBA/BRASIL
Na opinião dos Consultores, Denis D.
Fernandes [2] e de Mário G. Gabardo [3] (2003), a
produtividade é ampliada em aproximadamente 30%
tendo em vista que o trabalho é realizado em conjunto e
as divergências são discutidas até que se chegue a um
consenso. Dessa forma, a análise de requisitos torna-se
uma tarefa menos estafante para o Analista de Sistemas,
reduzindo sensivelmente o tempo necessário para as
demais fases do desenvolvimento de sistema. Quanto à
qualidade os Consultores dizem que reduz
substancialmente o descontentamento do usuário com o
sistema produzido, pois ele participa ativamente das
definições dos requisitos. Nos trabalhos em equipe, os
consultores observam que há diferentes tipos de pessoas
e cada um com suas características, uns contribuindo
mais, outros menos, mas de uma forma geral consegue-
se as definições desejadas. Observam, também, que há
uma intensiva participação do usuário na análise de
requisitos, no desenho das interfaces e definições das
informações, tornando-o comprometido e co-autor do
sistema, dividindo as glórias e as dificuldades com o
analista de sistemas.
Quanto aos custos mais baixos de
desenvolvimento e manutenção, os Consultores afirmam
que o JAD agiliza a fase de análise do sistema,
permitindo um projeto físico estável e sem alterações
durante o desenvolvimento em função da alta qualidade
dos requisitos. A fase de manutenção, após a entrega,
será menos corretiva e mais evolucionista do produto. Os
consultores observam ainda que quando se diz maior
produtividade e maior qualidade está se dizendo custos
mais baixos. Como na empresa a produtividade
aumentou em 30%, pode-se dizer que os custos de
desenvolvimento diminuíram nesta proporção, deixando
de existir aquele custo de manutenção que existe na
implantação do sistema.
Quanto ao processo organizado e racional, os
Consultores afirmam que sempre que se utiliza método,
organização e planejamento para o entendimento de
qualquer coisa, a probabilidade de sucesso é muito
maior. No desenvolvimento de sistemas não é diferente.
A organização e o formalismo do JAD aumentam e
muito o sucesso do projeto. A agenda deve ser conhecida
por todos com antecedência e o Condutor é o
responsável por executá-la com autoridade, caso
contrário, o processo não funciona.
Destacam, ainda, que a técnica foi tão bem
aceita que foi incluída na Metodologia de
desenvolvimento de Sistemas, sendo obrigatório o seu
uso. Consideram, também, o papel do Condutor do JAD,
o qual deve conhecer a técnica, já ter participado na
aplicação em outros sistemas e ser um apreciador
vibrante da técnica. Deve também ser analista de
sistemas sênior para que, não sendo comprometido com
a solução, poder levantar pontos com definições
precárias que poderão trazer impactos negativos no
projeto físico, etc.
Os Consultores destacam que a aplicação do
JAD, comparado à outras técnicas, é a melhor ferramenta
para o desenvolvimento de sistemas que já surgiu. O
Analista de Sistemas que não adotar algo parecido, com
certeza terá muitos problemas em sua profissão,
principalmente nos dias atuais em que as soluções estão
cada vez mais complexas, envolvendo não só usuários
internos à empresa, como também clientes e
fornecedores.
6. CONCLUSÃO
O software tornou-se o elemento principal da
evolução dos sistemas e aplicações baseados em
computador. Por outro lado, encontra-se a dificuldade
para a transferência do conhecimento tácito para o
conhecimento explícito. Os desenvolvedores conhecem
as técnicas para o desenvolvimento do software mas, na
maioria das vezes, desconhecem o conhecimento das
atividades do cliente. Esse impasse leva ao
desenvolvimento de softwares de baixa qualidade e
produtividade gerando, muitas vezes, atritos entre os
atores. A técnica do JAD, se adaptada à realidade da
empresa e aplicada corretamente tende a aproximar esses
atores e torna-se uma interface para a conversão do
conhecimento tácito em conhecimento explícito. O
consenso e o comprometimento entre os atores cria um
ambiente de despeito mútuo e de responsabilidade pelo
sucesso do sistema. A técnica do JAD pode ser aplicada
em outras atividades, tais como: reuniões de negócio,
avaliação e implantação de pacotes de software, entre
outras atividades. Pelas informações dos consultores
pesquisados, observa-se que a técnica desenvolve um
importante papel na intermedição de conhecimentos
entre as equipes de trabalho.
7. REFERÊNCIAS
[1] DAVENPORT, Thomas H; PRUSACK, Laurence.
Conhecimento empresarial: como as organizações
gerenciam o seu capital intelectual. Rio de Janeiro:
Campus, 1998.
[2] FERNANDES, Denis Donato. Entrevista concedida
em março/2003 em Curitiba, Paraná, Brasil.
[3] GABARDO, Mário Gerson. Entrevista concedida em
março/2003 em Curitiba, Paraná, Brasil.
[4] JUDY, August H. (1993). Joint Application Design.
São Paulo: Makron Books, 1993.
[5] MACHADO, Cristina Filipak (2002). A-Risk: Um
Método para Identificar e Quantificar Risco de Prazo em
Projetos de Desenvolvimento de Software. Curitiba:
PUCPR. Dissertação de Mestrado, 2002.
[6] MCT - Ministério da Ciência e Tecnologia (2002):
Qualidade e Produtividade no Setor de Software
Brasileiro. N.4 (2002). Brasília: Secretaria de Política de
Informática. ISSN 1518-112X.
[7] PALUDO, Marco Antônio; BURNETT, Robert
Carlisle. O Reuso de Componentes da Modelagem
Dinâmica. In: 2DA. CONFERÊNCIA
IBEROAMERICANA EN SISTEMAS, CIBERNÉTICA
E INFORMÁTICA CISCI 2003, Orlando: International
Institute of Informatics and Systemics IIIS, 2003. v. 1.
[8] PAULA FILHO, Wilson de Pádua. Engenharia de
Software: Fundamentos, Métodos e Padrões. Segunda
Edição. Rio de Janeiro: LTC, 2003.
[9] PRESSMAN, Roger S. Engenharia de Software. São
Paulo: Makron Books, 1995.
[10] REIS, Dálcio R. Contributos para a melhoria da
eficiência e da eficácia nas relações de cooperação entre
universidades e pequenas e médias empresas industriais
brasileiras. Aveiro/Portugal, 2000. Tese de Doutorado.
371 págs.
[11] SCHORER, Hans G. Cônsul da República da
Alemanha em Curitiba/PR. Entrevista concedida em
julho/2000. Curitiba, Paraná, Brasil
[12] STARKEY, Ken. Como as organizações aprendem:
relatos do sucesso das grandes empresas. In A empresa
criadora de conhecimento. Ikujiro Nonaka, p. 27-43. São
Paulo: Futura, 1997.

Mais conteúdo relacionado

Mais procurados

Manual pim i comum entre os cursos de gestão - turma 2010
Manual pim i   comum entre os cursos de gestão - turma 2010Manual pim i   comum entre os cursos de gestão - turma 2010
Manual pim i comum entre os cursos de gestão - turma 2010Jose Rudy
 
Utilização da Gestão do Conhecimento nas Metodologias Ageis para Melhoria da ...
Utilização da Gestão do Conhecimento nas Metodologias Ageis para Melhoria da ...Utilização da Gestão do Conhecimento nas Metodologias Ageis para Melhoria da ...
Utilização da Gestão do Conhecimento nas Metodologias Ageis para Melhoria da ...Felipe J. R. Vieira
 
Apresentação do curso técnico de informática modalidade EAD
Apresentação do curso técnico de informática modalidade EADApresentação do curso técnico de informática modalidade EAD
Apresentação do curso técnico de informática modalidade EADavleite
 
Artigo halan t14_seminário21102006
Artigo halan t14_seminário21102006Artigo halan t14_seminário21102006
Artigo halan t14_seminário21102006Halan Ridolphi
 
PDF - Projeto de Pesquisa: MELHORIA DE PROCESSO DE SOFTWARE BRASILEIRO APLICA...
PDF - Projeto de Pesquisa: MELHORIA DE PROCESSO DE SOFTWARE BRASILEIRO APLICA...PDF - Projeto de Pesquisa: MELHORIA DE PROCESSO DE SOFTWARE BRASILEIRO APLICA...
PDF - Projeto de Pesquisa: MELHORIA DE PROCESSO DE SOFTWARE BRASILEIRO APLICA...Adson Wendel
 
Programa Redes de Comunicação - Ens. Profissional
Programa Redes de Comunicação - Ens. ProfissionalPrograma Redes de Comunicação - Ens. Profissional
Programa Redes de Comunicação - Ens. ProfissionalFilipe Mendonça
 
PROJETO INTEGRADO MULTIDISCIPLINAR IV - PIM IV
PROJETO INTEGRADO MULTIDISCIPLINAR IV - PIM IVPROJETO INTEGRADO MULTIDISCIPLINAR IV - PIM IV
PROJETO INTEGRADO MULTIDISCIPLINAR IV - PIM IVHenry Jackman
 
Plano+de+gerenciamento+das+comunicacoes
Plano+de+gerenciamento+das+comunicacoesPlano+de+gerenciamento+das+comunicacoes
Plano+de+gerenciamento+das+comunicacoeslucasoliveira1234
 
Aula 02 - Analisando objetivos e restrições de um projeto - Projeto de Redes ...
Aula 02 - Analisando objetivos e restrições de um projeto - Projeto de Redes ...Aula 02 - Analisando objetivos e restrições de um projeto - Projeto de Redes ...
Aula 02 - Analisando objetivos e restrições de um projeto - Projeto de Redes ...Dalton Martins
 
Aula 01 - Introdução ao curso - Projeto de Redes de Computadores
Aula 01 - Introdução ao curso - Projeto de Redes de ComputadoresAula 01 - Introdução ao curso - Projeto de Redes de Computadores
Aula 01 - Introdução ao curso - Projeto de Redes de ComputadoresDalton Martins
 
MELHORIA DE PROCESSO DE SOFTWARE BRASILEIRO APLICADO NO NÍVEL DE MATURIDADE F...
MELHORIA DE PROCESSO DE SOFTWARE BRASILEIRO APLICADO NO NÍVEL DE MATURIDADE F...MELHORIA DE PROCESSO DE SOFTWARE BRASILEIRO APLICADO NO NÍVEL DE MATURIDADE F...
MELHORIA DE PROCESSO DE SOFTWARE BRASILEIRO APLICADO NO NÍVEL DE MATURIDADE F...Adson Wendel
 
TCC - Estudo de caso: Implantação do Modelo MPS.BR
TCC - Estudo de caso: Implantação do Modelo MPS.BRTCC - Estudo de caso: Implantação do Modelo MPS.BR
TCC - Estudo de caso: Implantação do Modelo MPS.BREdimar Ramos
 

Mais procurados (20)

Manual pim i comum entre os cursos de gestão - turma 2010
Manual pim i   comum entre os cursos de gestão - turma 2010Manual pim i   comum entre os cursos de gestão - turma 2010
Manual pim i comum entre os cursos de gestão - turma 2010
 
Utilização da Gestão do Conhecimento nas Metodologias Ageis para Melhoria da ...
Utilização da Gestão do Conhecimento nas Metodologias Ageis para Melhoria da ...Utilização da Gestão do Conhecimento nas Metodologias Ageis para Melhoria da ...
Utilização da Gestão do Conhecimento nas Metodologias Ageis para Melhoria da ...
 
Apresentação do curso técnico de informática modalidade EAD
Apresentação do curso técnico de informática modalidade EADApresentação do curso técnico de informática modalidade EAD
Apresentação do curso técnico de informática modalidade EAD
 
Progeto pim ii
Progeto pim iiProgeto pim ii
Progeto pim ii
 
Artigo halan t14_seminário21102006
Artigo halan t14_seminário21102006Artigo halan t14_seminário21102006
Artigo halan t14_seminário21102006
 
PDF - Projeto de Pesquisa: MELHORIA DE PROCESSO DE SOFTWARE BRASILEIRO APLICA...
PDF - Projeto de Pesquisa: MELHORIA DE PROCESSO DE SOFTWARE BRASILEIRO APLICA...PDF - Projeto de Pesquisa: MELHORIA DE PROCESSO DE SOFTWARE BRASILEIRO APLICA...
PDF - Projeto de Pesquisa: MELHORIA DE PROCESSO DE SOFTWARE BRASILEIRO APLICA...
 
Programa Redes de Comunicação - Ens. Profissional
Programa Redes de Comunicação - Ens. ProfissionalPrograma Redes de Comunicação - Ens. Profissional
Programa Redes de Comunicação - Ens. Profissional
 
PIM I GESTAO DE TI
PIM I GESTAO DE TIPIM I GESTAO DE TI
PIM I GESTAO DE TI
 
PROJETO INTEGRADO MULTIDISCIPLINAR IV - PIM IV
PROJETO INTEGRADO MULTIDISCIPLINAR IV - PIM IVPROJETO INTEGRADO MULTIDISCIPLINAR IV - PIM IV
PROJETO INTEGRADO MULTIDISCIPLINAR IV - PIM IV
 
Projeto 5 Doc
Projeto 5 DocProjeto 5 Doc
Projeto 5 Doc
 
Plano+de+gerenciamento+das+comunicacoes
Plano+de+gerenciamento+das+comunicacoesPlano+de+gerenciamento+das+comunicacoes
Plano+de+gerenciamento+das+comunicacoes
 
Ensiso day talks
Ensiso day   talksEnsiso day   talks
Ensiso day talks
 
Aula 02 - Analisando objetivos e restrições de um projeto - Projeto de Redes ...
Aula 02 - Analisando objetivos e restrições de um projeto - Projeto de Redes ...Aula 02 - Analisando objetivos e restrições de um projeto - Projeto de Redes ...
Aula 02 - Analisando objetivos e restrições de um projeto - Projeto de Redes ...
 
Pim vi
Pim viPim vi
Pim vi
 
Competencias Digitales
Competencias DigitalesCompetencias Digitales
Competencias Digitales
 
Aula 01 - Introdução ao curso - Projeto de Redes de Computadores
Aula 01 - Introdução ao curso - Projeto de Redes de ComputadoresAula 01 - Introdução ao curso - Projeto de Redes de Computadores
Aula 01 - Introdução ao curso - Projeto de Redes de Computadores
 
MELHORIA DE PROCESSO DE SOFTWARE BRASILEIRO APLICADO NO NÍVEL DE MATURIDADE F...
MELHORIA DE PROCESSO DE SOFTWARE BRASILEIRO APLICADO NO NÍVEL DE MATURIDADE F...MELHORIA DE PROCESSO DE SOFTWARE BRASILEIRO APLICADO NO NÍVEL DE MATURIDADE F...
MELHORIA DE PROCESSO DE SOFTWARE BRASILEIRO APLICADO NO NÍVEL DE MATURIDADE F...
 
TCC - Estudo de caso: Implantação do Modelo MPS.BR
TCC - Estudo de caso: Implantação do Modelo MPS.BRTCC - Estudo de caso: Implantação do Modelo MPS.BR
TCC - Estudo de caso: Implantação do Modelo MPS.BR
 
O_uso_das_tecnologias_na_comunicacao_com_empregados
O_uso_das_tecnologias_na_comunicacao_com_empregadosO_uso_das_tecnologias_na_comunicacao_com_empregados
O_uso_das_tecnologias_na_comunicacao_com_empregados
 
portfolio unopar
portfolio unoparportfolio unopar
portfolio unopar
 

Semelhante a Artigo jad utfpr

Desenvolvimento de um microprocesso utilizando métricas e indicadores como a...
Desenvolvimento de um microprocesso utilizando métricas e indicadores como a...Desenvolvimento de um microprocesso utilizando métricas e indicadores como a...
Desenvolvimento de um microprocesso utilizando métricas e indicadores como a...Maicon Zerbielli
 
Gerenciamento estratégico de projetos em tecnologia da informação
Gerenciamento estratégico de projetos em tecnologia da informaçãoGerenciamento estratégico de projetos em tecnologia da informação
Gerenciamento estratégico de projetos em tecnologia da informaçãoDouglas Souza
 
Analise de gerenciamento_de_projeto_de_software_utilizando_metodologia_agil_x...
Analise de gerenciamento_de_projeto_de_software_utilizando_metodologia_agil_x...Analise de gerenciamento_de_projeto_de_software_utilizando_metodologia_agil_x...
Analise de gerenciamento_de_projeto_de_software_utilizando_metodologia_agil_x...Elisangela Paulino
 
Fases do desenvolvimento de software baseado no código de ética.
Fases do desenvolvimento de software baseado no código de ética.Fases do desenvolvimento de software baseado no código de ética.
Fases do desenvolvimento de software baseado no código de ética.Ronildo Oliveira
 
TCC_CMMI_Projeto_AndreLuisDeAndrade_FINAL
TCC_CMMI_Projeto_AndreLuisDeAndrade_FINALTCC_CMMI_Projeto_AndreLuisDeAndrade_FINAL
TCC_CMMI_Projeto_AndreLuisDeAndrade_FINALAndre Luis de Andrade
 
A Importância dos Sistemas de Qualidade para o Desenvolvimento de Software da...
A Importância dos Sistemas de Qualidade para o Desenvolvimento de Software da...A Importância dos Sistemas de Qualidade para o Desenvolvimento de Software da...
A Importância dos Sistemas de Qualidade para o Desenvolvimento de Software da...Universidade de São Paulo (EEL USP)
 
O Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareO Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareCamilo de Melo
 
QATEST - Agile Brazil 2014 - O impacto do DEVOPS na Qualidade de Software
QATEST - Agile Brazil 2014 - O impacto do DEVOPS na Qualidade de SoftwareQATEST - Agile Brazil 2014 - O impacto do DEVOPS na Qualidade de Software
QATEST - Agile Brazil 2014 - O impacto do DEVOPS na Qualidade de SoftwareWelington Monteiro
 
Aula 1 Analise e Projeto
Aula 1   Analise e ProjetoAula 1   Analise e Projeto
Aula 1 Analise e ProjetoSergio Silva
 
Tecnologia da Informação - Carreira e perspectiva
Tecnologia da Informação - Carreira e perspectiva Tecnologia da Informação - Carreira e perspectiva
Tecnologia da Informação - Carreira e perspectiva Jônatan Gouveia
 
Metodologias ágeis de desenvolvimento trabalho
Metodologias ágeis de desenvolvimento   trabalhoMetodologias ágeis de desenvolvimento   trabalho
Metodologias ágeis de desenvolvimento trabalhoRuan Pozzebon
 
Saiba coisas de Design da Tecnologia, Programação e Análise de Sistemas que ...
 Saiba coisas de Design da Tecnologia, Programação e Análise de Sistemas que ... Saiba coisas de Design da Tecnologia, Programação e Análise de Sistemas que ...
Saiba coisas de Design da Tecnologia, Programação e Análise de Sistemas que ...Erika Ragghiante B Pavao
 
Metadesign: redes de conversação e o desenvolvimento de sistemas de informação
Metadesign: redes de conversação e o desenvolvimento de sistemas de informaçãoMetadesign: redes de conversação e o desenvolvimento de sistemas de informação
Metadesign: redes de conversação e o desenvolvimento de sistemas de informaçãoDalton Martins
 

Semelhante a Artigo jad utfpr (20)

Pim 4
Pim 4Pim 4
Pim 4
 
Tudo são Dados - PHP Conference 2008
Tudo são Dados - PHP Conference 2008Tudo são Dados - PHP Conference 2008
Tudo são Dados - PHP Conference 2008
 
Crise de software2
Crise de software2Crise de software2
Crise de software2
 
Desenvolvimento de um microprocesso utilizando métricas e indicadores como a...
Desenvolvimento de um microprocesso utilizando métricas e indicadores como a...Desenvolvimento de um microprocesso utilizando métricas e indicadores como a...
Desenvolvimento de um microprocesso utilizando métricas e indicadores como a...
 
Gerenciamento estratégico de projetos em tecnologia da informação
Gerenciamento estratégico de projetos em tecnologia da informaçãoGerenciamento estratégico de projetos em tecnologia da informação
Gerenciamento estratégico de projetos em tecnologia da informação
 
Analise de gerenciamento_de_projeto_de_software_utilizando_metodologia_agil_x...
Analise de gerenciamento_de_projeto_de_software_utilizando_metodologia_agil_x...Analise de gerenciamento_de_projeto_de_software_utilizando_metodologia_agil_x...
Analise de gerenciamento_de_projeto_de_software_utilizando_metodologia_agil_x...
 
Artigo corrigido
Artigo corrigidoArtigo corrigido
Artigo corrigido
 
Fases do desenvolvimento de software baseado no código de ética.
Fases do desenvolvimento de software baseado no código de ética.Fases do desenvolvimento de software baseado no código de ética.
Fases do desenvolvimento de software baseado no código de ética.
 
TCC_CMMI_Projeto_AndreLuisDeAndrade_FINAL
TCC_CMMI_Projeto_AndreLuisDeAndrade_FINALTCC_CMMI_Projeto_AndreLuisDeAndrade_FINAL
TCC_CMMI_Projeto_AndreLuisDeAndrade_FINAL
 
A Importância dos Sistemas de Qualidade para o Desenvolvimento de Software da...
A Importância dos Sistemas de Qualidade para o Desenvolvimento de Software da...A Importância dos Sistemas de Qualidade para o Desenvolvimento de Software da...
A Importância dos Sistemas de Qualidade para o Desenvolvimento de Software da...
 
O Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareO Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de Software
 
QATEST - Agile Brazil 2014 - O impacto do DEVOPS na Qualidade de Software
QATEST - Agile Brazil 2014 - O impacto do DEVOPS na Qualidade de SoftwareQATEST - Agile Brazil 2014 - O impacto do DEVOPS na Qualidade de Software
QATEST - Agile Brazil 2014 - O impacto do DEVOPS na Qualidade de Software
 
Aula 1 Analise e Projeto
Aula 1   Analise e ProjetoAula 1   Analise e Projeto
Aula 1 Analise e Projeto
 
Aula 1 analise e projeto
Aula 1   analise e projetoAula 1   analise e projeto
Aula 1 analise e projeto
 
Tecnologia da Informação - Carreira e perspectiva
Tecnologia da Informação - Carreira e perspectiva Tecnologia da Informação - Carreira e perspectiva
Tecnologia da Informação - Carreira e perspectiva
 
Metodologias ágeis de desenvolvimento trabalho
Metodologias ágeis de desenvolvimento   trabalhoMetodologias ágeis de desenvolvimento   trabalho
Metodologias ágeis de desenvolvimento trabalho
 
O Gerenciamento de Projetos de Software Desenvolvidos à Luz das Metodologias ...
O Gerenciamento de Projetos de Software Desenvolvidos à Luz das Metodologias ...O Gerenciamento de Projetos de Software Desenvolvidos à Luz das Metodologias ...
O Gerenciamento de Projetos de Software Desenvolvidos à Luz das Metodologias ...
 
Saiba coisas de Design da Tecnologia, Programação e Análise de Sistemas que ...
 Saiba coisas de Design da Tecnologia, Programação e Análise de Sistemas que ... Saiba coisas de Design da Tecnologia, Programação e Análise de Sistemas que ...
Saiba coisas de Design da Tecnologia, Programação e Análise de Sistemas que ...
 
Metadesign: redes de conversação e o desenvolvimento de sistemas de informação
Metadesign: redes de conversação e o desenvolvimento de sistemas de informaçãoMetadesign: redes de conversação e o desenvolvimento de sistemas de informação
Metadesign: redes de conversação e o desenvolvimento de sistemas de informação
 
Jucelir
JucelirJucelir
Jucelir
 

Artigo jad utfpr

  • 1. O Desenvolvimento de Software Aplicando a Técnica Joint Application Design Marco A. PALUDO PUC-PR – PPGEPS – Pontifícia Universidade Católica do Paraná R. Imaculada Conceição, 1155 - 80215-901 - Curitiba - Paraná - Brasil FESP - BSI - Fundação de Estudos Sociais do Paraná – Curso BSI Rua Gal. Carneiro, 216 Centro Curitiba PR Brasil - 80060-150 paludo@fesppr.br Robert C. BURNETT PUC-PR - PPGEPS - Pontifícia Universidade Católica do Paraná R. Imaculada Conceição, 1155 - 80215-901 - Curitiba - Paraná - Brasil robert@rla01.pucpr.br João M. LOCH CEFET-PR - PPGTE - Centro Federal de Educação Tecnológica do Paraná Av. Sete de Setembro, 3165. Rebouças - Curitiba-PR - CEP: 80230-901 matias@fesppr.br Dálcio REIS CEFET-PR - PPGTE - Centro Federal de Educação Tecnológica do Paraná Av. Sete de Setembro, 3165. Rebouças - Curitiba-PR - CEP: 80230-901 dalcio@ppgte.cefetpr.br RESUMO O objetivo deste trabalho é apresentar a importância da técnica JAD e sua contribuição na transferência do conhecimento tácito para o explícito na área de desenvolvimento de software, minimizando os custos e acelerando o processo de desenvolvimento e manutenção de software. O processo para elaboração deste trabalho iniciou com a revisão da literatura na área do conhecimento e as suas formas de transmissão e dos aspectos que envolvem o processo de desenvolvimento e manutenção de software e nas ferramentas e métodos que suportam este ciclo de desenvolvimento. Foram identificados os principais problemas presentes no desenvolvimento de produtos de software e observadas as técnicas aplicadas neste processo de desenvolvimento. Foram contatados gerentes de projetos que utilizam a técnica JAD na região de Curitiba, no Estado do Paraná - Brasil, com o intuito de evidenciar os resultados do emprego desta técnica. Os dados foram processados com base nas respostas dos entrevistados. A pesquisa efetuada analisou e validou a técnica JAD, comprovando a sua efetividade nas empresas que a adotam. Foram obtidos produtos de software com maior qualidade e projetos com maior grau de efetividade, principalmente com a participação do usuário. Relatam-se experiências de empresas e consultores que utilizam a técnica, tanto para o desenvolvimento como para a manutenção de sistemas. Pretende-se com este estudo oferecer subsídios para os desenvolvedores interessados em inovar no processo de criação e manutenção de software, bem como contribuir com o processo de inovação no desenvolvimento de serviços. Palavras-chave: Desenvolvimento de Software, Conhecimento; Produtividade; Planejamento. 1. O DESENVOLVIMENTO DE SOFTWARE E O CONHECIMENTO Nos últimos anos, o tema “conhecimento”, segundo Reis (2000:32) [10] tem sido explorado por autores proeminentes como Peter Drucker, Alvin Toffler, James Brian Quin, Michael Gibbons, Thomas Davenport, Ikujiro Nonaka, Peter Lorange, Peter Senge, Giovanni Dosi entre outros. O conhecimento, segundo Davenport & Prusack (1998) [1], não é dado e nem informação – embora estejam relacionados, mas sim, uma informação valiosa da mente humana, que inclui reflexão, síntese e contexto. Normalmente é de difícil estruturação, trabalhosa captura em máquinas, freqüentemente tácito ou subentendido, de transferência dificultosa e complexo de gerenciar. (DAVENPORT & PRUSACK, 1998) [1]. O conhecimento implícito ou tácito, segundo Reis (2000:33) [10], citando Gibbons (1994), refere-se ao conhecimento não codificável o qual não pode ser transmitido por documentos escritos e que está presente no cérebro humano de quem trabalha com um processo particular de transformação. Para adquiri-lo, é necessário um grande investimento individual, financeiro e temporal uma vez que este tipo de conhecimento se adquire através de um longo processo de educação e de acumulação de experiências (Reis, 2000:34) [10]. Desta forma, o conhecimento tácito só pode ser utilizado por quem o detém. Cita-se o exemplo dos usuários de um software, que sabem fazer as suas atividades, adquiridas por processos de educação e experiências ao longo de sua vida. O conhecimento explícito ou codificável, segundo Reis (2000:34) [10], é aquele que pode ser armazenado fora do cérebro humano, portanto, ele é formal e sistemático. O conhecimento explícito, por ter uma distribuição fácil e de baixo custo, é abundante, especialmente como resultado dos avanços nas tecnologias de informação, tornando-se difícil atribuir e defender direitos de propriedade. Ainda por apresentar a característica de baixo custo para sua distribuição, Reis (2000:34) [10] destaca que os esforços de criação deste
  • 2. conhecimento são elevados e seus resultados podem ser incertos. No contexto abordado por este trabalho pode ser evidenciada a quantidade de produtos de software, cujo custo de distribuição é baixo, mas os custos de elaboração e de manutenção são elevados. O software, segundo Pressman (1995:24) [9] é um elemento de sistema lógico, e não físico e que não se desgasta. Para Schorer (2000) [11] o software é o melhor negócio do mundo: não se desgasta, não polui, você vende para um número infinito de clientes no mundo inteiro, continua sendo dono do produto e ainda recebe valores para a sua manutenção. Como os sistemas de informação tornaram-se cada vez mais complexos, o desenvolvimento, a manutenção e a operação estão atingindo seus limites da viabilidade material e econômica. O desenvolvimento de software é visto cada vez mais, segundo Paludo (2003) [7] como uma disciplina de engenharia e, desta forma, princípios e métodos a ela inerentes vêm sendo progressivamente aplicados, como exemplo planejamento, formalismo e capacidade de reproduzir projetos bem sucedidos. Diante desses fatos, a comunidade de desenvolvimento de software tem despendido especial atenção aos problemas apresentados nas diversas áreas e nas diversas etapas do ciclo de desenvolvimento de software. Nenhum grupo de especialistas isolado tem a responsabilidade exclusiva pela criação de novos conhecimentos (NONAKA, 1997:39). Para ele, altos e médios gerentes, bem como os demais funcionários de linha, desempenham todos um papel. Dessa forma, o valor da contribuição de qualquer pessoa é determinado pela importância da informação que ela traz ao sistema como um todo, independentemente da hierarquia. Algumas abordagens consideram este conceito como valor agregado (earned value). Os problemas que estão presentes no desenvolvimento de software podem ser caracterizados a partir de uma série de perspectivas diferentes, mas segundo Pressman (1995:23) [9] os gerentes responsáveis pelo desenvolvimento de software concentram-se nas questões de ‘primeiro plano’, tais como: (i) as estimativas de prazo e de custo freqüentemente são imprecisas; (ii) a produtividade das pessoas da área de software não tem acompanhado a demanda por seus serviços; e (iii) a qualidade de software às vezes é menos que adequada. Os elevados custos do software sejam eles para o desenvolvimento ou manutenção, têm sido objeto de constantes discussões entre a área contratante e de desenvolvimento. Os prazos estimados geralmente não são cumpridos e os índices de erros para novos programas causam insatisfação ao cliente gerando frustrações e desconfiança. Para ilustrar e confirmar estas características, pesquisa desenvolvida no Brasil com gerentes de projetos de software indicou que 12,8% dos gerentes de projetos simplesmente desconhecem os seus custo e que 41,43% dos projetos atrasam (Machado, 2002) [5]. Além dessas, Pressman (1995) [9] destaca as seguintes dificuldades no desenvolvimento do software: a) não dedicação de tempo para coletar dados sobre o processo de desenvolvimento de software; b) insatisfação do cliente com o sistema “concluído”; c) a qualidade de software freqüentemente é suspeita devido a pouca importância é dada aos testes de software. Em muitos casos os testes são executados pelo próprio desenvolvedor, exercitando somente o que o programa era destinado a fazer, esquecendo-se de testar aquilo que o sistema não deve fazer. Para Pressman (1995, p.23) [9] somente agora [1995] estão começando a surgir conceitos quantitativos sólidos de confiabilidade e garantia de qualidade de software. 2. CAUSAS DOS PROBLEMAS DE DESENVOLVIMENTO E MANUTENÇÃO DE SOFTWARE Os problemas associados ao desenvolvimento e manutenção do software, segundo Pressman (1995:24) [9] foram causados pelo próprio caráter do software e pelas falhas das pessoas que detinham a responsabilidade pelo desenvolvimento de software. Esta também é uma atividade nova, com pouco mais de 40 anos. O software, por ser de natureza lógica, torna-se um desafio para as pessoas que o desenvolvem, mas os problemas vistos anteriormente são causados por falhas humanas. Gerências médias e altas com pouca preparação e qualificação assumem a responsabilidade pelo gerenciamento e desenvolvimento de projetos de sistemas para computadores. A falta de comunicação entre os atores envolvidos no processo cria uma incompreensão do software a ser desenvolvido e quando isso ocorre, os problemas associados às falhas serão inevitáveis. O processo de desenvolvimento de software, segundo Pressman (1995:46) [9] contém três fases distintas, as quais são: definição, desenvolvimento e manutenção. Na fase de definição (o quê) o desenvolvedor de software busca identificar quais as informações devem ser processadas, quais as funções desejadas, quais as interfaces devem ser estabelecidas, quais restrições e critérios de validação. Na fase de desenvolvimento (o como) procura-se definir como a estrutura de dados e a arquitetura de software devem ser projetadas, como os detalhes procedimentais devem ser implementados, a utilização de uma linguagem de programação e como os testes devem ser realizados. Já na fase da manutenção o desenvolvedor concentra-se nas mudanças associadas à correção de erros, adaptação e melhorias. 3. O DESENVOLVIMENTO DE SOFTWARE E SUAS TÉCNICAS A engenharia de software vem evoluindo e refinando técnicas e métodos para o desenvolvimento de aplicações e sistemas de informação que sejam confiáveis, de fácil manutenção e com custo e prazos de desenvolvimento viáveis. Uma forma para atingir essas metas é o emprego de reuso no processo de desenvolvimento. Outra abordagem eficiente é a formalização do processo de desenvolvimento e, em especial, a formalização da documentação utilizada como base para todo o ciclo de vida do software. (PALUDO, 2003) [7]. Diante dos problemas e suas causas no gerenciamento e desenvolvimento de software, quais as técnicas que poderiam ser utilizadas para reduzir os problemas e ampliar a participação do cliente em todas as etapas do desenvolvimento e manutenção do software? Como fazer para transferir o conhecimento tácito ou implícito, que está com o cliente ou usuário, em um conhecimento explícito ou codificável em um software?
  • 3. Existem muitos métodos para o desenvolvimento de projetos de software e o Joint Application Design – JAD, é uma técnica de reunião que têm por objetivo acelerar o projeto de desenvolvimento e manutenção de software. Sua aplicação permite a criação de sistemas mais eficazes em menor tempo, tendo como um de seus maiores benefícios à aderência que pode ter a vários métodos de desenvolvimento de software atualmente empregados, como análise estruturada, análise essencial, orientada a objetos, Unified Process, entre outras. Desenvolvida originalmente em 1977, pela IBM do Canadá, ela nasceu da frustração de se tentar obter um acordo entre os usuários, quanto às exigências e projetos de sistemas para manufatura (JUDY, 1993:11) [4]. Visto como um meio de se obter consenso entre um grupo de usuários, a técnica fixou-se rapidamente, principalmente no Canadá, onde a IBM executou diversos JAD’s para seus clientes. Embora seja visto como uma ruptura das tradicionais metodologias de desenvolvimento de software, segundo Judy (1993:11) [4], o JAD é um método de senso comum. Ele vem sendo utilizado em grande escala por empresas de consultoria, na engenharia de sistemas e em empresas dos mais variados segmentos de negócios (financeiro, serviços, indústrias, comércio, etc.). Essa técnica se adapta perfeitamente na metodologia de desenvolvimento de sistemas, pois vem sendo vista como um compromisso com a qualidade e o consenso entre os desenvolvedores e os clientes. Utiliza- se de um líder neutro que, por intermédio de reuniões, orienta os usuários e analistas para projetarem juntos o sistema, tornando-os co-responsáveis pelo sucesso ou fracasso do sistema. Estas reuniões obedecem a agendas e calendários previamente estabelecidos, as quais estão baseadas em formalizações, regras de comportamento e geração de documentação acerca das definições obtidas. Por que o JAD recebeu tanta atenção e tornou- se um padrão tão bem-sucedido? Judy (1993:3) [4] afirma que “enquanto a maioria das metodologias difere no padrão de diagramas e textos que empregam, o JAD se distingue por toda a sua filosofia e abordagem”. Ele coloca na mesma posição os usuários e profissionais da área de sistemas para que projetem o sistema em conjunto, através de sessões de grupo. Esta técnica possui uma abordagem inovadora, mas dentro do senso comum, para a definição dos objetivos e requisitos do software e projeto das interfaces (telas, relatórios, dados). Os relatórios oficiais mais recentes sobre o cenário nacional da Qualidade e Produtividade no Setor de Software Brasileiro apresentam a técnica JAD sendo utilizada por 8,1 % das empresas desenvolvedoras de software. Estes números apontam uma lacuna e uma boa oportunidade para estas empresas fazerem uso desta técnica e aprimorarem a qualidade e produtividade em seus processos. A fonte deste percentual de uso é a “Tabela 40 – Práticas de Engenharia de Software adotadas no desenvolvimento e manutenção de software” do relatório editado em 2002 pelo Ministério da Ciência e Tecnologia (MCT, 2002) [6]. 4. JOINT APPLICATION DESIGN Para Judy (1993:3) [4] a técnica Joint Application Design traz diversos benefícios para o processo de desenvolvimento de software, sendo apresentados na seqüência os principais: a) Maior produtividade: estudos relatam aumentos de 20 a 60% na produtividade, em relação aos métodos tradicionais. Esses ganhos são obtidos tanto no que diz respeito ao cronograma quanto ao número de horas necessárias para completar as fases de definição de objetivos, exigências e projeto das interfaces, produzindo melhores informações. b) Maior qualidade: embora muitas organizações experimentam o JAD por causa de seus ganhos de produtividade, usuários e analistas de sistemas, costumam citar “projeto de software de alta qualidade” como sendo o maior benefício do método. Considerando-se o ciclo de desenvolvimento do software, o JAD se ajusta perfeitamente em todas as suas fases, conforme o ciclo de vida de desenvolvimento do software apresentado na Figura 1. Pode observar-se que o JAD atua fortemente nos três primeiros ciclos, enquanto os últimos três ciclos referem-se a execução do projeto após aprovação durante as reuniões. Devido à participação intensiva das pessoas "certas", o resultado final é um sistema que é funcionalmente correto. c) Trabalho em equipe: promove o espírito de cooperação, entendimento e trabalho em equipe. É comum, nos métodos tradicionais de desenvolvimento de sistemas, que os usuários apresentem resistências em um novo sistema, tentando dificultar a sua implantação. O JAD produz informações baseadas no consenso do grupo e faz com que os participantes construam o sistema, apoiados no conhecimento de cada um. Dessa forma, usuários e analistas tornam-se confiantes e todos são co- responsáveis pelo sucesso ou pelo fracasso do sistema. d) Custos mais baixos de desenvolvimento e manutenção: o projeto de alta qualidade, obtido através do JAD, possibilita uma grande economia de tempo e dinheiro durante as fases de desenvolvimento e após a entrega do sistema. Isso é possível, pois o sistema é desenvolvido de forma mais rápida, consistente e com o comprometimento do usuário. Estudos têm demonstrado que os erros na definição dos objetivos, requisitos e projeto externo são os mais caros de corrigir, incorrendo com freqüência em significativos estouros de prazos e orçamentos. Segundo Gary Rusch (p.11), citado por Judy (1993:5) [4] “a eliminação dos erros constitui até 40% dos custos de um sistema. Desses erros, 45 a 65% são cometidos no projeto do sistema”. Proporcionando um projeto correto desde o início os custos com correções de erros e manutenções são reduzidos. Princípios do JAD Segundo Davenport & Prusack (1999:108) [1] a transferência espontânea e estruturada do conhecimento é vital para o sucesso de uma empresa. Para que ocorra esta transferência de conhecimentos entre os desenvolvedores de software e os clientes, faz-se necessário o desenvolvimento de estratégias para incentivar essas trocas espontâneas. Para a obtenção dos benefícios do JAD, segundo Judy (1993:5) [4], é necessário que sejam seguidos os quatro princípios básicos, para tornar o sistema mais tangível aos participantes. Esses princípios são:
  • 4. a) Dinâmica de grupo: desperta a força e a criatividade da dinâmica de grupo para determinarem os objetivos e os requisitos do sistema. Auxiliados por um líder experiente, usuários, gerentes e analistas definem como será o projeto, desde: o escopo; os objetivos; os problemas com a sistemática atual; layout de telas e relatórios; modelo dos dados. b) Recursos audiovisuais: utiliza esses recursos para tornar o projeto do sistema menos abstrato, permitindo uma comunicação perfeitamente compreendida pelos participantes. c) Processo organizado e racional: o JAD emprega a análise top-down e atividades extremamente bem definidas, determinando um caminho a ser seguido desde o início ao fim do projeto. Isso possibilita a garantia de uma análise completa reduzindo as chances de falhas ou lacunas no projeto e cada nível de detalhe recebe a devida atenção. d) A escolha do local: o local escolhido deverá ser agradável para evitar a dispersão dos participantes e, preferencialmente, afastado do local de trabalho para evitar interrupções e facilitar o intercâmbio entre os participantes. O acesso deve ser restrito aos participantes, convidados e ouvintes para que a atenção seja mantida durante todo o período de trabalho. e) Documentação com a abordagem WYSIWIG "O que você vê é o que você obtém": produz um documento final, de forma clara e completa, onde estão registrados os resultados do processo para que analistas e usuários entendam as decisões tomadas. Este documento garante a qualidade esperada do projeto e ajuda a evitar acusações mútuas, promovendo a confiança e o orgulho dos participantes nos documentos do projeto. Participantes do JAD As pessoas que participam do JAD, segundo Judy (1993:44) [4] têm funções bem definidas, com tarefas e responsabilidades específicas para cada uma delas. Tudo irá depender das pessoas selecionadas, pois pessoas sem experiência, sem imaginação e resistentes a mudanças irão projetar um JAD ruim. Com pessoas competentes e compromissadas, a metodologia produzirá soluções inovadoras e altamente eficientes. Os principais integrantes do JAD são: Condutor (líder de reunião, mediador): é a pessoa que irá conduzir o JAD tendo como principais atribuições reunir e conduzir os participantes do JAD. Deve ter facilidade de comunicação, possuir grande conhecimento e experiência (teoria e prática) na condução e apresentação da técnica ao grupo; ter capacidade de controlar as discussões e superar as questões pessoais entre os participantes; estar sempre preparado e pronto para surpresas que possam surgir no decorrer da reunião; ter conhecimento de sistemas aplicativos; ser imparcial, ter domínio de grupo e facilidade de síntese. Analista de Sistemas: geralmente é a pessoa que efetuará o desenvolvimento do sistema, dando continuidade aos trabalhos do JAD. Suas principais características: possuir conhecimento das necessidades do usuário; ter competência na elaboração da documentação; saber comunicar-se; possuir boa redação e conhecer o negócio da empresa. Patrocinador: o Patrocinador ou Executivo Responsável é a pessoa que possui autoridade suprema sobre a área funcional que o sistema abrangerá. Suas principais atribuições são: resolver os conflitos que ocorrem durante as sessões; fornecer uma visão estratégica para os participantes, pois conhece as diretrizes gerais da empresa e os objetivos a atingir; manter o projeto suprido de recursos financeiros e humanos quando o sistema estiver em produção e deve participar em tempo integral das reuniões. Usuários do sistema: são as pessoas que irão trabalhar com o sistema. Suas informações serão de extrema importância para implementação do sistema e suas principais atribuições são: apresentar as necessidades de processamento de informações para o sistema e fornecer dados importantes para a abrangência do mesmo; decidir sobre o projeto, pois será o principal interessado no sistema; participar das votações e avalizar as decisões tomadas. A sua principal característica é a de possuir experiência e bom conhecimento do ambiente organizacional da empresa. Documentador: o responsável por esta atividade deve fazer todas as anotações necessárias para produzir o documento final do JAD e auxiliar o líder de reunião. Demais participantes: a prática tem demonstrado que eventualmente são necessárias outras pessoas no processo e que tal necessidade deve ser avaliada pelos membros do projeto e do usuário, tais como: Gerente da área de sistemas, Auditoria interna, especialista e equipe de desenvolvimento (caso esteja definida). 4.3 ORGANIZAÇÃO E A APLICAÇÃO DO JAD EM UM PROJETO DE SOFTWARE (ADAPTAÇÃO DA TÉCNICA) O JAD é organizado em quatro sessões, sendo elas: a) Primeira reunião: a primeira reunião, conduzida pelo Patrocinador o qual fará a abertura dos trabalhos, apresentando os participantes. Nessa reunião são definidos: a) o escopo do sistema (a idéia principal do que se espera do sistema); b) os objetivos específicos a serem alcançados com o novo sistema; c) os problemas com a sistemática atual, os quais o sistema deverá resolvê-los; d) os limites do sistema; e) as pessoas a serem entrevistadas durante a fase de levantamento de dados; e f) a data da sessão de Design. b) Levantamento de dados e análise: a etapa de levantamento de dados inicia-se após a primeira reunião, cabendo a sua execução ao Analista de Sistemas responsável pelo projeto. Ele efetuará o levantamento de dados e a análise, utilizando-se como base os itens definidos na reunião inicial, descrevendo os processos ou eventos e elaborando os respectivos Diagramas de Fluxo de Dados - DFD's. c) Planejamento para a Sessão de Design: é prudente fazer uma reunião de planejamento da sessão de design entre o Analista de Sistemas e o Condutor. Nessa reunião, o Analista de Sistemas apresenta ao Condutor a proposta do sistema a ser debatida no Design para que o mesmo tome conhecimento do sistema e apresente suas críticas e sugestões com o objetivo de melhorar a apresentação da proposta. Concluída esta etapa, o Analista responsável irá preparar o material de apoio (proposta do sistema), a lista de presenças, a pauta para a reunião, a convocação dos participantes e providenciar os recursos audiovisuais para a sessão de design.
  • 5. d) Reunião de design: a reunião de design é o ponto alto da técnica do JAD, pois é o momento onde os atores envolvidos no projeto irão debater sobre a proposta a ser apresentada pelo Analista de Sistemas responsável. Esta reunião está dividida nas seguintes etapas: d.1) Apresentações, definição de objetivos, levantamento de problemas e limites do sistema: o condutor administra o progresso da reunião, apresentando inicialmente a pauta e fornecendo aos participantes uma visão geral da técnica do JAD, seus objetivos e quais as responsabilidades dos integrantes. Através da dinâmica de grupo, definem-se os objetivos a serem alcançados com o novo sistema, problemas encontrados com a sistemática atual, prioridades, limites e soluções; d.2) Análise dos processos, dados e interfaces do sistema: o Analista de Sistemas apresenta o esboço do sistema, cabendo aos usuários debaterem cada processo apresentado e sugerindo as alterações necessárias, inclusive os dados das tabelas, os layouts e os relatórios (pré-impressos ou não). Também é possível que esses layouts sejam montados durante a própria sessão de design. Uma vez concluído o processo, passa- se ao processo seguinte; d.3) Análise do novo fluxo e necessidades administrativas surgidas: concluída a análise dos processos, dados e interfaces do sistema, o Condutor verifica junto aos participantes os aspectos de segurança e auditoria do novo sistema. Nesta etapa o novo fluxo de trabalho é analisado e debatido, registrando as eventuais sugestões e problemas. Posteriormente os participantes identificam as necessidades administrativas que possam ter surgido com a proposta apresentada, relacionando-as e identificando os responsáveis e prazos para a solução de cada necessidade; d.4) Cronograma, aprovação do novo fluxo e avaliação da reunião: o Analista de Sistemas apresenta o cronograma, prazos e responsáveis para o desenvolvimento e implantação do sistema. Para a aprovação do novo fluxo do sistema o Condutor do JAD busca a aprovação do sistema proposto junto aos participantes, verificando se o mesmo irá solucionar os problemas atuais e se atenderá os objetivos a serem alcançados, bem como os limites propostos. Esta etapa é de fundamental importância, pois as responsabilidades e os compromissos são acordados neste momento. Também a aprovação do novo fluxo é essencial e cabe ao Condutor da sessão alertar a todos os participantes que estarão aprovando e concordando com todas as decisões tomadas durante a sessão de design, afetando diretamente todas as etapas posteriores do ciclo de vida do desenvolvimento do software. Ao final da sessão de design, o Condutor busca a opinião dos participantes quanto à utilização da técnica do JAD, com o objetivo de identificar os pontos positivos e corrigir as falhas para aprimorar as futuras reuniões; d.5) Documento final: após a conclusão da sessão de design, o Analista de Sistemas irá elaborar um documento final, abrangendo todas as sessões do JAD, com base nas anotações realizadas pelo Documentador. Esse documento representa as conclusões do grupo, estabelecendo o compromisso de todas as partes envolvidas no desenvolvimento do sistema e será assinado por todos os participantes. Cada participante, ao assinar o projeto, está assumindo a co-responsabilidade pelo sucesso ou fracasso do sistema. Essa abordagem cria um comprometimento mútuo pelo sucesso do projeto, minimizando a procura pelos “culpados” quando um projeto fracassa. Nesta etapa pode haver duas formas de procedimento. A primeira, mais comum, ocorre com a elaboração posterior da ata que será entregue para a apreciação e aprovação por todos os envolvidos em um momento seguinte ao da reunião. A segunda abordagem ocorre quando é disponível recurso de ferramentas automatizadas durante as sessões do JAD. Nesta última abordagem, no exato momento em que as sugestões e correções vão sendo evidenciadas, o Documentador transcreve cada comentário ou alteração no próprio corpo do projeto, seja um texto, um DFD ou um modelo de dados. Desta forma, ao final da reunião toda a documentação está atualizada e pode ser verificada e assinada ao término da sessão. Tem-se esta abordagem como a mais indicada, mas é considerada pré-requisito para o sucesso da técnica JAD. Apesar de toda a preparação das sessões, Paula Filho (2003:117) [8] alerta para os riscos e cuidados na condução das sessões JAD, pois as sessões [do JAD] exigem intenso comprometimento dos desenvolvedores e clientes, embora durem normalmente um período bastante curto se comparado a duração do projeto completo. Deve ser constantemente enfatizado o benefício da aplicação desta técnica até mesmo para que o cliente e os gestores liberem, das atividades corriqueiras, todos os participantes que sejam considerados importantes para a reunião. Dentre os principais problemas que podem comprometer a eficácia dos JADs são evidenciados: a) não-participação das pessoas que desempenham papéis chaves nos processo de negócio que irão utilizar o software; b) participação de pessoas não comprometidas com o sistema e com os objetivos iniciais; c) número reduzido ou excessivo de participantes. 5. RELATO DE USO DE CONSULTORES QUE UTILIZAM O JAD EM CURITIBA/BRASIL Na opinião dos Consultores, Denis D. Fernandes [2] e de Mário G. Gabardo [3] (2003), a produtividade é ampliada em aproximadamente 30% tendo em vista que o trabalho é realizado em conjunto e as divergências são discutidas até que se chegue a um consenso. Dessa forma, a análise de requisitos torna-se uma tarefa menos estafante para o Analista de Sistemas, reduzindo sensivelmente o tempo necessário para as demais fases do desenvolvimento de sistema. Quanto à qualidade os Consultores dizem que reduz substancialmente o descontentamento do usuário com o sistema produzido, pois ele participa ativamente das definições dos requisitos. Nos trabalhos em equipe, os consultores observam que há diferentes tipos de pessoas e cada um com suas características, uns contribuindo mais, outros menos, mas de uma forma geral consegue- se as definições desejadas. Observam, também, que há uma intensiva participação do usuário na análise de requisitos, no desenho das interfaces e definições das informações, tornando-o comprometido e co-autor do sistema, dividindo as glórias e as dificuldades com o analista de sistemas. Quanto aos custos mais baixos de desenvolvimento e manutenção, os Consultores afirmam que o JAD agiliza a fase de análise do sistema, permitindo um projeto físico estável e sem alterações
  • 6. durante o desenvolvimento em função da alta qualidade dos requisitos. A fase de manutenção, após a entrega, será menos corretiva e mais evolucionista do produto. Os consultores observam ainda que quando se diz maior produtividade e maior qualidade está se dizendo custos mais baixos. Como na empresa a produtividade aumentou em 30%, pode-se dizer que os custos de desenvolvimento diminuíram nesta proporção, deixando de existir aquele custo de manutenção que existe na implantação do sistema. Quanto ao processo organizado e racional, os Consultores afirmam que sempre que se utiliza método, organização e planejamento para o entendimento de qualquer coisa, a probabilidade de sucesso é muito maior. No desenvolvimento de sistemas não é diferente. A organização e o formalismo do JAD aumentam e muito o sucesso do projeto. A agenda deve ser conhecida por todos com antecedência e o Condutor é o responsável por executá-la com autoridade, caso contrário, o processo não funciona. Destacam, ainda, que a técnica foi tão bem aceita que foi incluída na Metodologia de desenvolvimento de Sistemas, sendo obrigatório o seu uso. Consideram, também, o papel do Condutor do JAD, o qual deve conhecer a técnica, já ter participado na aplicação em outros sistemas e ser um apreciador vibrante da técnica. Deve também ser analista de sistemas sênior para que, não sendo comprometido com a solução, poder levantar pontos com definições precárias que poderão trazer impactos negativos no projeto físico, etc. Os Consultores destacam que a aplicação do JAD, comparado à outras técnicas, é a melhor ferramenta para o desenvolvimento de sistemas que já surgiu. O Analista de Sistemas que não adotar algo parecido, com certeza terá muitos problemas em sua profissão, principalmente nos dias atuais em que as soluções estão cada vez mais complexas, envolvendo não só usuários internos à empresa, como também clientes e fornecedores. 6. CONCLUSÃO O software tornou-se o elemento principal da evolução dos sistemas e aplicações baseados em computador. Por outro lado, encontra-se a dificuldade para a transferência do conhecimento tácito para o conhecimento explícito. Os desenvolvedores conhecem as técnicas para o desenvolvimento do software mas, na maioria das vezes, desconhecem o conhecimento das atividades do cliente. Esse impasse leva ao desenvolvimento de softwares de baixa qualidade e produtividade gerando, muitas vezes, atritos entre os atores. A técnica do JAD, se adaptada à realidade da empresa e aplicada corretamente tende a aproximar esses atores e torna-se uma interface para a conversão do conhecimento tácito em conhecimento explícito. O consenso e o comprometimento entre os atores cria um ambiente de despeito mútuo e de responsabilidade pelo sucesso do sistema. A técnica do JAD pode ser aplicada em outras atividades, tais como: reuniões de negócio, avaliação e implantação de pacotes de software, entre outras atividades. Pelas informações dos consultores pesquisados, observa-se que a técnica desenvolve um importante papel na intermedição de conhecimentos entre as equipes de trabalho. 7. REFERÊNCIAS [1] DAVENPORT, Thomas H; PRUSACK, Laurence. Conhecimento empresarial: como as organizações gerenciam o seu capital intelectual. Rio de Janeiro: Campus, 1998. [2] FERNANDES, Denis Donato. Entrevista concedida em março/2003 em Curitiba, Paraná, Brasil. [3] GABARDO, Mário Gerson. Entrevista concedida em março/2003 em Curitiba, Paraná, Brasil. [4] JUDY, August H. (1993). Joint Application Design. São Paulo: Makron Books, 1993. [5] MACHADO, Cristina Filipak (2002). A-Risk: Um Método para Identificar e Quantificar Risco de Prazo em Projetos de Desenvolvimento de Software. Curitiba: PUCPR. Dissertação de Mestrado, 2002. [6] MCT - Ministério da Ciência e Tecnologia (2002): Qualidade e Produtividade no Setor de Software Brasileiro. N.4 (2002). Brasília: Secretaria de Política de Informática. ISSN 1518-112X. [7] PALUDO, Marco Antônio; BURNETT, Robert Carlisle. O Reuso de Componentes da Modelagem Dinâmica. In: 2DA. CONFERÊNCIA IBEROAMERICANA EN SISTEMAS, CIBERNÉTICA E INFORMÁTICA CISCI 2003, Orlando: International Institute of Informatics and Systemics IIIS, 2003. v. 1. [8] PAULA FILHO, Wilson de Pádua. Engenharia de Software: Fundamentos, Métodos e Padrões. Segunda Edição. Rio de Janeiro: LTC, 2003. [9] PRESSMAN, Roger S. Engenharia de Software. São Paulo: Makron Books, 1995. [10] REIS, Dálcio R. Contributos para a melhoria da eficiência e da eficácia nas relações de cooperação entre universidades e pequenas e médias empresas industriais brasileiras. Aveiro/Portugal, 2000. Tese de Doutorado. 371 págs. [11] SCHORER, Hans G. Cônsul da República da Alemanha em Curitiba/PR. Entrevista concedida em julho/2000. Curitiba, Paraná, Brasil [12] STARKEY, Ken. Como as organizações aprendem: relatos do sucesso das grandes empresas. In A empresa criadora de conhecimento. Ikujiro Nonaka, p. 27-43. São Paulo: Futura, 1997.