Title: pos'cin'ufpe'br::es'2003'1: uma fbrica de software
1pos.cin.ufpe.bres.2003.1-uma fábrica de
software
- silvio lemos meira, silvio_at_cesar.org.br
- jones oliveira de albuquerque, joa_at_ufrpe.br
2software uma coisa estranha
- Lei da Complexidade do Software
- Qualquer programa ou sistema, por mais complicado
que seja, tornar-se-á AINDA MAIS complicado se
for observado da forma correta. - Corolário de Quéops para software
- Nenhum programa ou sistema é construído dentro do
prazo ou do custo - Observação de Herr Baygon
- Em qualquer programa ou sistema, sempre há um bug
a mais...
3 quatrilhões de linhas de código...
Lines of Code in Service U.S. Dept. of Defense
4 produtividadelinguagens deprogramação
Trends in Software Expansion (Bernstein, 1997)
5bilhões pelo ralo... 20 de US2.7T um Brail
por ano em sw no lixo!
PIB do Brasil
6mas do jeito que vai... podemos acabar no...
jaron lenier
- ...the "planet of the Help Desks", in which the
human race will be largely engaged in maintaining
very large software systems... not an entirely
unappealing prospect, since it would keep
humanity gainfully employed...
7qual parece ser o problema?
- status ONTOLÓGICO de software
- o que é mesmo? pista software NÃO está sujeito
às LEIS DA NATUREZA!... - como chegamos ao entendimento atual?
- como fazemos software?
- The Roots Of Software Engineering
- Michael S. Mahoney
- Development and Structure of the International
Software Industry, 1950-1990 - Martin Campbell-Kelly
- todo este auê... e construir software é TRIVIAL!
- vide...
procurar ler!
8dá pra ensinar em ½ dia!
9é isso que se deve saber?
10usar isso leva a quê?
- As you may know, three hundred years ago at the
end of the twentieth century, a monstrous
earthquake shook the west coast of California.
The island on which we are standing used to be
part of a mountain range leading to a city that
was called San Francisco... - A conspiratorial theory of social history holds
that this labor-intensive, low-quality industry
was deliberately created to supply artificial
employment to the explosively growing population
characteristic of that era and not curbed until
after the catastrophes at the end of the
twenty-first century... - The Software Factory, stwww.weizmann.ac.il/G-CS/BE
NARI/articles/factory.pdf
11sw o produto e o processo
- o produto não é trivial
- tem VIDA, no sentido em que tem um longo e
mutante processo de desenvolvimento e utilização - NÃO obedece leis da natureza
- o SISTEMA modifica a INSTITUIÇÃO
- a natureza de software é INTENSIONAL
- e a instituição JÁ ESTÁ MUDANDO enquanto o
software está sendo desenvolvido - quem mandou lidar com a vida real?
12onde a fábrica entra...
- no ciclo de VIDA de software?
- na produção inicial, apenas?
(c) MERX LLC
13o PROCESSO é complexo!
(c) MERX LLC
14e as pessoas?...
(c) MERX LLC
15problema real qual é o problema?http//mockus.us
/papers/factory.pdf
- There are factors that create similarities and
differences among projects this means that one
model for software development does not work in
all situations - There is a direct relationship between process
and product this means one must choose the right
processes to create the desired product
characteristics - Measurement is necessary and must be based on the
appropriate goals and models that is,
appropriate measurement provides visibility - Evaluation and feedback are necessary for project
control this means a closed loop process for
project control is needed - Software development follows an experimental
paradigm, thus, learning and feedback are natural
activities for software development and
maintenance.
16...
- Process, product, knowledge, and quality models
need to be better defined and tailored the
components of the software business have an
evolutionary nature and must be defined according
to it - Evaluation and feedback are necessary for
learning a closed loop for long range
improvement, as well as for individual project
control, is needed - New technologies must be continually introduced
organizations and researchers need to experiment
with technologies - Reusing experience in the form of processes,
products, and other forms of knowledge is
essential for improvement, that is, reuse of
knowledge is the basis of improvement
17...
- Experience needs to be packaged organizations
must build competencies in software - Experiences must be evaluated for reuse
potential an analysis process is required - Software development and maintenance processes
must support reuse of experience, where reuse
must be defined in terms of what, how and when to
reuse
18...
- A variety of experiences can be packaged
process, product, resource, defect and quality
models can be developed and updated based on
experience - Experiences can be packaged in a variety of ways
we can use equations, histograms, algorithms,
etc. as mechanisms for packaging experience - Packaged experiences need to be integrated an
experience base is a repository of integrated
information, relating similar projects, products,
characteristics, phenomena, etc.
19o que nós sabemos, aqui?
- java TODO o pressman ou sommerville
- ou seja
- requisitos, especificações, refinamento,
validação e verificação, métodos, técnicas,
linguagens e ferramentas, componentes,
reutilização, manutenção, modelagem de processos,
qualidade, reengenharia,, verificação, validação
e teste... além de programação!... - falta o quê?
20o que vamos fazer?
- montar uma fábrica de software!
- como? em 4 meses? SIM!
- definir a fábrica, treinar o pessoal um mês
- rodar um piloto e afinar o processo um mês
- desenvolver uma aplicação real DOIS meses!
- resultados
- fábrica
- produto!
- relatório detalhado avaliando o experimento!
21quem vai fazer?
- VOCÊS!
- nós seremos experts... e avaliadores
- An expert is a man who has made all the mistakes
which can be made in a very narrow field. - Niels Bohr. Nobel Prize. Physics. Twice.
- avaliação
- incluirá a AVALIAÇÃO INTERNA da fábrica!
- como?
- vocês hão de dizer...
- uma fábrica de software, como TODO negócio, tem
que ser EFICAZ e EFICIENTE. resolvam-se!
22o que vai contar? aprendizado!
- resultados
- The essence of competitiveness is liberated when
we make people believe that what they think and
do is important - and then get out of their way
while they do it. - Jack Welch. GE former CEO
- criatividade
- Some men see things as they are and say, why? I
dream things that never were and say, why not? - George Bernard Shaw. Genius.
- capacidade de abstração
- 1. Out of clutter, find simplicity. 2. From
discord, find harmony. 3. In the middle of
difficulty lies opportunity. - Albert Einstein. Genius as well.
23próxima aula
- quem são as fábricas
- como se organizarão
- negócios
- processos
- ferramental
- como vão sair do zero
- qual é o plano para as três semanas até o piloto?
- em três semanas, o processo deve estar definido
- deve haver um piloto (interno) rodando na
quarta... - pois haverá RFPs no ar nesta época...
- que terão que ser respondidos até o fim do piloto
- e entregues até o fim do curso...
24guddorakku!...