Académique Documents
Professionnel Documents
Culture Documents
A receita da Competitividade
Gibeon Aquino e Silvio Meira
Eng.Software: A gnesis
http://homepages.cs.ncl.ac.uk/brian.randell/NATO/index.html
problemas da poca
Produtos de Software de baixa qualidade e sem atender requisitos e Projetos realizados acima
do oramento e do
problemas do passado?
quanto melhoramos?
Chaos Report 2006 2004 2002 2000 1998 1996 1994 35% 29% 34% 28% 26% 27% 16% 0% 20% 31% 40% 60% 19% 18% 15% 23% 28% 40% 46% 53% 51% 49% 46% 33% 53% 80% 100% Sucesso Cancelados Desafiados
Talvez....
Tenhamos que reaprender o que significa Qualidade
E
Redefinir como alcan-la
O que Qualidade??
Para Crosby (Crosby, 1979) ela pode ser definida como Conformidade com os requisitos do usurio Baldrige National Quality Program (BNQP, 2007) referem-se qualidade como Qualidade dirigida ao cliente e declaram a satisfao do cliente como ponto mais relevante
Na ISO 9000, a qualidade o grau em que um conjunto de caractersticas inerentes a um produto, processo ou sistema cumpre os requisitos inicialmente estipulados para estes.
QUALIDADE
(o
custo e preo:
qualidade?
NO...
querem SOBREVIVER
e para sobreviver preciso ser COMPETITIVO
por que?
Um dos objetivos bsicos da Engenharia de Software transformar a criao de sistemas software realizada de maneira artstica, indisciplinada e pouco entendvel para uma forma devidamente controlada, quantificada e previsvel.
E os Modelos de Maturidade?
Qualidade
Produtividade Tempo
...strong due diligence is recommended when evaluating the application of the highest levels of CMM to every project. There is a cost vs. productivity balance that needs to be assessed to ensure that the right decision is made in each specific context...
Gartner Research: Weigh Costs vs. Productivity When Pursuing CMM Initiatives Partha Iyengar, Steve Bittinger, Matthew Hotle
qualidade
tem que evoluir muito...
e...
tratar as questes de Q&P de software tecnicamente ou atravs de aes pontuais no leva a ganhos significativos:
preciso investigar as INSTITUIES ...e ORGANIZAES ...e pensar fora da caixa, em termos de economia, sociologia, recursos humanos, administrao...
Receita do Sucesso?
como?
Quer dizer...
O caminho para o Sucesso [ou sobrevivncia] passa [necessariamente] por iniciativas de melhoria da Produtividade e Qualidade
Reunio de acompanhamento
Pair Programming
Diminuindo a ociosidade
Aumentando a produtividade!!!
Mas como??
Gerando cdigo automaticamente Reusando componentes Usando os Paradigmas de L.P mais modernos (OO, AOP, etc) Melhorando os processos de desenvolvimento (RUP, MSF, XP, SCRUM....) Implantando modelos de qualidade (CMM, CMMI, ISO, PCMM) Aplicando Patterns (Organizational, Process, Analisys, Architecture, Design, Implementation,...) Usando ferramentas de apoio Investindo no capital humano Gesto do conhecimento
Problema
Falta de uma viso sistmica
Iniciativas e avanos isolados
Pouco conhecimento sobre as foras que regem a Produtividade Falta de uma perspectiva econmica para engenharia de software
Comparando a Produtividade
Projeto 1 Java 20 KLOC 50 PM Prod = 0,4 KLOC/PM DD = 1d/kloc Jogo de Celular 50 FPs Prod = 1 FP/PM Projeto 2 .NET 50 KLOC 100 PM Prod = 0,5 KLOC/PM DD = 5d/kloc Locadora on-line 300 FPs Prod = 3 FP/PM
O que produtividade?
Productivity is the amount of output created (in terms of goods produced or services rendered) per unit input used. wikipedia Productivity is a measure relating a quantity or quality of output to the inputs required to produce it. Cambridge Dictionary Em geral.... a razo entre a Quantidade produzida e o custo para produzi-la.
Conseqncias...
Aumentar a quantidade produzida
Produo de quantidades sem preocupao com a qualidade Incorporao de funcionalidades que no agregam valor (no so usadas)
Em 1860, Karl Marx, rejeitou a idia da produtividade convencional quando publicou Labour Theory of Value
A sharp distinction is drawn by Marx for the productivity of labor in terms of physical outputs produced, and the value or price of those outputs. A small physical output might create a large value, while a large physical output might create only a small value - with obvious consequences for the way the labor producing it would be rewarded in the marketplace. Moreover if a large output value was created by people, this did not necessarily have anything to do with their physical productivity; it could be just due to the favorable valuation of that output when traded in markets. Therefore, merely focusing on an output value realized, to assess productivity, might lead to mistaken conclusions. http://en.wikipedia.org/wiki/Productivity_(economics) http://www.marxist.com/Economy/theory_of_value_1.html
Inovao embutida no produto Componentes reusveis Conhecimento e experincia que o desenvolvimento do produto incorporou na organizao?
Valor consumido
Custos diretos do projeto Qualidade de Vida das pessoas envolvidas Desvio do Foco da empresa
A project can be tremendously successful with respect to cost-oriented earned value, but an absolute disaster in terms of actual organizational value earned"
Boehm, B. and Huang, L. G. 2003. Value-Based Software Engineering: A Case Study. Computer 36, 3 (Mar. 2003), 33-41. DOI= http://dx.doi.org/10.1109/MC.2003.1185215
Software economics is the sub-field of software engineering that seeks improvements which enable software engineers to reason more effectively about important economic aspects of software development, including cost, benefit, risk, opportunity, uncertainty, incomplete knowledge and the value of additional information, implications of competition, and so forth.
Boehm, B., Sullivan, K. Software economics: a roadmap
Conseqncias...
Se o conceito sobre produtividade no muito claro, o que podemos dizer sobre a medio da produtividade?
Medindo a produtividade
Valor consumido
Como medir o que foi consumido das pessoas em projetos estressantes? Como medir o impacto de projetos que andam em caminhos diferentes do direcionamento da empresa?
A realidade
Apesar de sabermos que... A maioria dos dados que se tem anlise de produtividade se baseiam na perspectiva quantitativa de produo
Maxwell, K. D., Van Wassenhove, L., and Dutta, S. 1996. Software Development Productivity of European Space, Military, and Industrial Applications.
Um estudo realizado pelo arquiteto McCue com apoio da rea de gesto da IBM concluiu que o espao ideal deve ser de 100 ps2 (9m2) Marco, T., Peopleware.
1 - http://www.bized.ac.uk/current/mind/2003_4/220304.htm
[Boehm, 1981] aponta 15 fatores (COCOMO) [Jones, 1986] aponta mais de 40 variveis
Descreve problemas e paradoxos relacionados ao assuntos
Questes tcnicas
Metodologia, Ferramentas, prticas, linguagem de programao, reusabilidade
Questes sociais
Experincia do time e do gerente, Experincia e tipo de cliente, Estrutura organizacional, Motivao, polticas de recompensa, etc.
Questes ergonmicas
Nveis de interrupo e distrao, tamanho e conforto do espao de trabalho, equipamentos e conectividade
Impacto na Produtividade
New Development Factors
Reuse of high-quality deliverables High management experience High Staff experience Effective method/process Effective management tools Effective technical CASE tools High-level programming languages Quality estimating tools Specialist occupations Effective client participation Formal cost/schedule estimates Unpaid overtime Use formal inspections Good office ergonomics Quality measurement Low project complexity Quick response time Moderate schedule pressure Productivity measurements Low requirements creep Annual training > 10 days No geographic separation High team morale Hierarchical organization SUM
Positive Range
350% 65% 55% 35% 30% 27% 24% 19% 18% 18% 17% 15% 15% 15% 14% 13% 12% 11% 10% 9% 8% 8% 7% 5% 800%
Negative Range
-300% -90% -87% -77% -75% -48% -45% -41% -40% -35% -30% -30% -27% -25% -24% -22% -15% -13% -12% -10% -8% -7% -6% 0% -1067%
Fonte: Software Assesments, Benchmarks and Best Practices, Figura 2.3 e 7.1
50
Produtividade
max media mediana CEF 15 15 327,4 22,5 7,4 15 39,8 10,3 7,1 14 115,9 13,3 20,9 17 259,7 32,6 6,8 12 29,1 9,1 7,1 14 115,9 13,6 8,3 29,1 10,6
Um projeto em Java varia de 2.8 a 259.7 h/pf!!! Por que ser???? .NET mais produtiva que Java? O que essa tabela diz?
Presso de Prazo
Melhorando a produtividade
Segundo [Boehm, 1999], trs so as estratgias:
working faster (tem um impacto de 8%)
Ferramentas e processos
Referncias
[Vosburgh, 1984] Vosburgh, J., et al. Productivity factors and programming environments. In Proceedings of the 7th international conference on Software engineering, Orlando, Florida, United States, pp. 143 152, 1984. [Jones, 1986] Jones, C., Programming Productivity, McGraw-Hill, New York, 1986. [Demarco, 1999] Demarco, T., Peopleware: productive projects and teams, 2nd Ed. Dorset House Publishing, 1999. [Clincy, 2003] Clincy, V. A., Software Development Productivity and Cycle Time Reduction. pp. 278-287, (2003). [Boehm, 1981] Boehm, B., Software Engineering Economics (Prentice-Hall Advances in Computing Science & Technology Series). Prentice Hall, 1981. [Scachi, 1984] Scacchi, W., Managing Software Engineering Projects: A social Analysis. IEEE Trans. Soft. Engr.,SE-10(1), 1984, 49-59. [Behrens, 1983] Behrens, C. A., Measuring Software Productivity of Computer System Development Activities with Point Functions. IEEE Trans. Soft. Engr. SE-9(6), (1983), 648-652. [Boehm, 2003] Boehm, B. W. and Sullivan, K. J. 2000. Software economics: a roadmap. In Proceedings of the Conference on the Future of Software Engineering (Limerick, Ireland, June 04 - 11, 2000). ICSE '00. ACM Press, New York, NY, 319-343. DOI= http://doi.acm.org/10.1145/336512.336584 [Maxwell, 1996] Maxwell, K. D., Van Wassenhove, L., and Dutta, S. 1996. Software Development Productivity of European Space, Military, and Industrial Applications. IEEE Trans. Softw. Eng. 22, 10 (Oct. 1996), 706-718. DOI= http://dx.doi.org/10.1109/32.544349 [Bruckhaus, 1996] Bruckhaus, T., Madhavji, N. H., Janssen, I., and Henshaw, J. 1996. The Impact of Tools on Software Productivity. IEEE Softw. 13, 5 (Sep. 1996), 29-38. DOI= http://dx.doi.org/10.1109/52.536456