Академический Документы
Профессиональный Документы
Культура Документы
Departamento de RH ATAN Cincia da Informao Tel.: (31) 3289.7769 Belo Horizonte MG Brasil Departamento de Engenharia de Produo UFMG Tel.: (31) 3499.4895 Belo Horizonte MG Brasil
2
renata.bastos@atan.com.br, fpalima@dep.ufmg.br
Abstract: The Software Engineering for a long time has been facing problems related to the delay in the delivery of projects, the extrapolated budget, the costumers and users discontentment, besides the conflicts and detritions among annalists and costumers. Aiming at better results, the IT companies are adopting software development methodologies more flexible and propitious to the frequent changes, beyond more interaction during the whole project between the users and the system itself. These methodologies are considered agile in contraposition to the heavy methodologies that, traditionally, prevailed in the area but have shown themselves ineffective and unproductive. Resumo: A Engenharia de Software h muito vem enfrentando problemas relativos a atraso na entrega de projetos, oramento extrapolado, insatisfao de clientes e usurios, alm de conflitos e desgastes entre analistas e clientes. Visando a melhores resultados, as empresas de TI esto adotando metodologias de desenvolvimento de software mais flexveis e propcias s freqentes mudanas, alm de mais interao durante todo o projeto entre os usurios e o prprio sistema. Estas metodologias so chamadas de geis em contraposio s metodologias pesadas que, tradicionalmente, predominaram na rea, mas que se mostraram ineficientes e improdutivas.
107
isso, ver LOJKINE, 1996; DERTOUZOS, 1997 e vrios estudos em KLING, 1996). De modo geral, a tendncia atual de diversificao de produtos para atender mercados fragmentados, mediante uma maior customizao, depende do reconhecimento preciso das necessidades reais dos usurios. Essa adequao pode no ocorrer devido a problemas de comunicao, quando se adota um processo de desenvolvimento seqencial, separando a fase de concepo da operao em escala real. As conseqncias so bem conhecidas: canibalismo entre produtos semelhantes, no atendimento das necessidades dos clientes, retrabalho, atrasos e perda de produtividade em geral. Em seus estudos de caso, Wheelwright e Clark (1992) revelaram o modo reativo de resoluo de problemas adotado pelos gerentes de projeto (after-the-fact problem solving), ao invs de preveno de problemas por meio de pr-projetos e planejamento mais efetivos. Esse comportamento reativo diminui o poder dos gerentes para influenciar as solues de projeto. O problema do escopo mal definido acontece em todos os tipos de projeto, de bens de consumo s instalaes e equipamentos industriais, de natureza mais tcnica. Por exemplo, a anlise dos conflitos entre clientes e fornecedores de equipamentos automticos na Frana revelou o papel crucial das especificaes (cahier des charges), que estavam sujeitas a mltiplas interpretaes. De um lado, os clientes estavam insatisfeitos com equipamentos que no atendiam suas necessidades, de outros os construtores reclamavam da impreciso dos requisitos das encomendas. Aps estudos conduzidos por um consrcio entre clientes, fornecedores, entidades de classe e pesquisadores, chegou-se concluso que a especificao no uma questo puramente tcnica (a ser resolvida, por exemplo, com um check list aperfeioado), uma vez que os problemas decorriam, sobretudo, das relaes sociais entre cliente e fornecedor (TIGER, 1990). Essa tendncia de associao dos clientes e dos usurios finais ao processo de desenvolvimento de produtos em geral, e de softwares em particular, surge como uma alternativa para se melhoras as especificaes, na forma de uma coresponsabilizao. No caso dos projetos de automao estudados por ns, um dos tcnicos associa os prejuzos sofridos pela empresa precariedade da especificao dos requisitos de projeto: "O foco principal do prejuzo no est no desenvolvimento tcnico do projeto, pois este muito bom, mas no pouco contato com o cliente e na especificao rpida (programador). O foco de anlise deve, portanto, ser redirecionado para as relaes entre fornecedores e clientes. Apesar dos mtodos de desenvolvimento de softwares preverem a avaliao permanente dos clientes, os procedimentos e as tcnicas de participao ainda esto distantes de se conseguir uma associao efetiva. As recomendaes, por vezes, se limitam a aspectos comportamentais, notadamente na capacidade comunicativa: uma publicao j antiga, nos ensina que o analista tem que ter "talentos combinados de lder, professor e psiclogo (...), saber entender as queixas dos clientes, reclamaes e opinies do usurio" (CARVALHO, 1988, p. 175) e,na fase de implementao, detectar "desvios, erros, atitudes perigosas"(ibid. p. 201). Mais recentemente, o surgimento das metodologias geis se apresenta como uma possvel soluo para integrar o usurio ao processo de desenvolvimento de softwares (OLIVEIRA, 2003), s vezes combinadas com metodologias top-down (BOEHM e TURNER, 2004).
108
109
Decises globais
B A
Decises especfica ESTUDOS capacidade de antecipa e margem de manobra PARTIDA ESTUDOS PARTIDA
Finalmente, na abordagem ascendente representada pela linha C, torna-se possvel a reflexo entre os agentes envolvidos no projeto (gerentes, tcnicos, clientes e usurios) a respeito de suas opes principais. "Essa combinao das abordagens descendentes e ascendentes permite a descrio e compreenso das inter-relaes entre os diferentes componentes do projeto, ampliando a capacidade de antecipao e reduzindo, ao longo do processo de concepo, as incertezas relativas eficcia do funcionamento futuro." (DUARTE, 2000) Assim, gere-se melhor os efeitos de irreversibilidade implicados em qualquer deciso. Evidentemente, a simples enunciao desse princpio no cria as condies necessrias para a antecipao, apenas assinala a necessidade de que isso ocorra. Se viabilizado, problemas clssicos em desenvolvimento de softwares, como a prototipagem, em especial a tendncia a transformar um prottipo que consome grande parte dos recursos em produto (PREECE, ROGERS e SHARP, 2005), poderiam ser resolvidos ou amenizados. A questo se resolve na medida em que as avaliaes se tornam mais realistas e que a experincia dos usurios diretos incorporada na especificao dos softwares. Vinck et al. (1999) mostram, em uma anlise comparativa, como a incorporao da experincia dos tcnicos de cho-de-fbrica permite desenvolver um sistema CAD-CAM (aplicado em projetos de matrizes de extruso de perfis de alumnio) bem mais eficiente do que o sistema desenvolvido apenas com os conhecimentos de engenharia. O primeiro software no definia por si s as sadas, mas deixava espao para ajustes feitos pelos tcnicos e supervisores de produo que amenizavam, por exemplo, um ngulo da matriz "demasiadamente agudo".
110
OTNEMAHLATED E OTNEMIVLOVNESED
OTNEMAHLATED E OTNEMIVLOVNESED
111
aumento do escopo devido a requisitos no especificados inicialmente, a ineficincia do sistema que no atende s necessidades dos clientes, situao esta comum de acontecer devido estrutura seqencial e linear do projeto. Os clientes ou usurios s participam da fase inicial do projeto (concepo) e da final, que a implantao do sistema. Durante o desenvolvimento propriamente dito no h interao alguma entre os usurios e o sistema, impedindo assim as correes graduais e as implementaes de novas funcionalidades correspondentes s necessidades dos usurios. Quando o projeto est todo pronto que os usurios tero a oportunidade de experiment-lo, e, caso percebam problemas, h muita resistncia dos analistas em corrigi-los, deixando de fora muitas necessidades dos usurios. O relato de um operador, usurio final de um sistema de automao, retrata muito bem este problema: quando eles vo embora fica um monte de problema pra trs, a gente tem que ficar arrumando e burlando o sistema, seno a gente no trabalha e a produo no sai como deveria (operador de fbrica). Devido a esses problemas, a Engenharia de Software tem se empenhado na construo de novas metodologias de desenvolvimento, dentre elas as metodologias geis, que parte de premissas contrrias quelas das metodologias pesadas.
112
fases anteriores e interao concepo/produo. As metodologias geis propem que os projetos devam ser conduzidos de forma adaptativa, isto , feito atravs de desenvolvimento iterativo e interativo. A idia central trabalhar com iteraes curtas. Cada iterao entrega ao seu final um produto completo e pronto para ser usado, que contm a implementao de um novo subconjunto de caractersticas. O uso de iteraes curtas permite aos usurios e clientes fazerem uma avaliao do sistema logo que uma verso inicial colocada em produo. Neste momento, usurios, clientes e desenvolvedores decidem sobre quais caractersticas devem ser adicionadas, quais devem ser modificadas, e at, quais devem ser retiradas do sistema. O sistema desenvolvido da forma mais iterativa possvel. O escopo de cada iterao pequeno e contempla somente as funcionalidades que aquela iterao dever possuir, deixando para iteraes futuras o restante dos requisitos. O oramento segue a lgica das iteraes, isto , cada iterao ter um custo definido e pago aps a sua concluso. Obtm-se com isso facilidade na negociao, tendo em vista que o aparecimento de novas funcionalidades ser negociado na prxima iterao. Para o cliente esses procedimentos so tambm vantajosos, pois ele ter maior transparncia e visibilidade do processo, poder acompanhar seu desenvolvimento e seus investimentos. Mas nem sempre foi fcil convencer o cliente deste mtodo, que comea a ser posto em prtica em projetos de automao industrial em uma empresa brasileira, antes acostumados aos projetos baseados na metodologia pesada. A dificuldade era convencer o cliente a pagar parcelado, ao invs de comprar o sistema no valor global de 1000,00 reais (valor fictcio), ele pagaria 10 iteraes de 100,00 reais. Por mais interessante que possa parecer, causou muita estranheza no incio. Atualmente os clientes que participaram de projetos baseados nas metodologias geis esto satisfeitos e demandando sempre por novas iteraes, o que tem gerado contratos permanentes. O sucesso desta metodologia est relacionado aos sistemas mais adaptados s necessidades dos usurios, ao cumprimento dos prazos e do oramento, uma vez que as correes esperadas de cada iterao no impactam mais em grandes retrabalhos. Pelo contrrio, as modificaes aqui so desejadas, tanto que as iteraes servem para estimular o contato do usurio com o sistema justamente para possibilitar o mximo de correes, evitando-se assim que, ao final, ele venha a apresentar ineficincias. Quanto mais cedo os problemas aparecerem, melhores so as chances de se obter um sistema eficiente, no tempo estimado e no preo acordado. Problemas clssicos na informtica (apesar de ser uma prtica relativamente nova), como no cumprimento de prazos, m qualidade dos softwares e oramentos estourados (CARVALHO, 1988), so contornados com esta nova metodologia.
4. Concluso
A soluo dos problemas relatados aqui fundamental para evitar o retrabalho decorrente de informaes lacunares ou inadequadas, obtidas durante o projeto de controle automtico. Podemos resumir o princpio geral de uma abordagem alternativa na gesto da irreversibilidade das decises tomadas ao longo do PDP. A possibilidade de (re)definir o escopo depende das diversas combinaes entre estratgias de projeto descendentes e ascendentes, onde se criam condies de antecipao e de correo, minimizando o retrabalho. Isto implica uma nova temporalidade do PDP, gastando-se mais tempo na especificao, para se economizar no retrabalho e no start-up, e a realimentao mais eficaz dos momentos de deciso com informaes de campo
113
(mtodos ascendentes). Isto possvel, em parte, com o aperfeioamento dos mtodos de obteno e validao das informaes de campo e dos testes intermedirios (testes de plataforma, objetos intermedirios...). O PDP uma criao coletiva. No entanto, a mistura de papis pode ser prejudicial, transformando o fornecedor de softwares em um mero executante. A gesto dessa relao complexa precisamente porque exige uma definio precisa dos papis de cada agente, assim como do conhecimento especializado que cada um possui enquanto especialista em um certo campo, ao mesmo tempo em que esses diversos especialistas devem cooperar entre si, levando em conta o ponto de vista do outro e traduzindo suas necessidades em exigncias de projeto. Propostas especficas sobre uma nova abordagem foram detalhadas em Ferreira (2004). Ressaltamos, aqui, apenas o princpio geral: as especificaes tcnicas devem se inserir em um contrato social mais amplo, cujo objetivo definir as condies de relacionamento dos agentes, em especial entre cliente e fornecedor. Nesse sentido, as metodologias geis vm favorecer a confrontao de lgicas diferentes entre usurios e analistas durante toda a fase de desenvolvimento do projeto, de modo a manter o mais aberta possvel, o mximo de tempo possvel, a definio dos objetivos e dos requisitos do projeto (TIGER, 1991). Seja pela antecipao, seja pela retroalimentao, o que vai acontecer interfere sobre o j acontecido, tornando o PDP menos determinado por decises irreversveis e criando condies mais favorveis para se projetar certo da primeira vez.
Referncias
BAINBRIDGE, L. (1999). Verbal reports as evidence of the process operator's knowledge, In: Int. Human-Computer Studies, n.51, p.213-238. BECK, K. (2000). Extreme programming explained: embrace change, Boston: Addison-Wesley. BOEHM, B. E TURNER, R. (2004). Balacing agility and discipline: evaluating and integrating agile and plan-driven methods, Proceedings of the 26th Int. Conf. On Soft. Eng. (ICSE'04). CAMPOS, N. (2002). Equipes multifuncionais de projeto, Dissertao Mestrado. UFMG, Belo Horizonte. CARVALHO, L.C. (1988). Anlise de sistemas, Rio de Janeiro: Livros Tcnicos e Cientficos. COLLINS, H.M. (1992). Artificials experts, Seuil: MIT Press. DERTOUZOS, M. (1997). O que ser? Como o novo mundo da informao transformar nossas vidas, So Paulo, Cia das Letras. DREYFUS, H.; DREYFUS, S (1986). Mind over machine, New York: Free Press. DUARTE, F. (2000). Complementaridade entre ergonomia e engenharia em projetos industriais, In: DUARTE, F. (org.) Ergonomia e projeto na indstria de processo contnuo. Rio de Janeiro, Lucerna, pp. 11-21. FERREIRA, R. B. (2004). Dilogo de surdos: a difcil explicitao do saber entre programadores de software e operadores de fbrica, Dissertao de mestrado pela
114
Engenharia de Produo: UFMG. KLING, R. (1996). Computerization and Controversy, Academic Press LOJKINE, J. (1996). A revoluo informacional, So Paulo: Cortez. MCGRAW, K.L.; HARBISON-BRIGGS, K. (1989). Knowledge acquisition, Englewood Cliffs: Prentice Hall. PREECE, J.; RIGERS, Y.; SHARP. H. (2005). Design de interao, Porto Alegre, Bookman. OLIVEIRA, E. S. (2003). Uso de Metodologias geis no Desenvolvimento de Software, Monografia apresentada no Programa de Ps-Graduao em Engenharia de Software da UFMG. SILVA, C. & LIMA, F. (2000). A objetivao do saber prtico em sistemas especialistas, In: DUARTE, op. cit. TIGER, H. (1991). L'tablissement du Cahier des Charges des quipements automatiques, Colloque A.R.R.P., MRT, Janvier 1991. VINCK, D. (1999). Ingnieurs au quotidien. Grenoble, PUG. WHEELWRIGHT, S. C. & CLARK, K. B. (1992). Revolutioning product development, New York, Free Press.
115
116