[1] O documento discute a iniciativa SEMAT (Software Engineering Method and Theory) que visa rediscutir os fundamentos da engenharia de software.
[2] A SEMAT sugere que a engenharia de software carece de organização e maturidade, convocando a comunidade a trabalhar em um "Kernel" conceptual mínimo.
[3] O grupo defende a necessidade de reduzir a divergência entre teoria acadêmica e prática empresarial na engenharia de software.
2. Em cada bloco de mármore eu vejo uma estátua tão simples
como se estivesse diante de mim, em forma e perfeição em
movimento e ação.
Eu só preciso que cortem fora as paredes ásperas que
aprisionam a adorável aparição para revelar aos olhos a
forma que estou vendo.
-Michelangelo
In every block of marble I see a statue as plain as though it stood before me,
shaped and perfect in attitude and action. I have only to hew away the rough
walls that imprison the lovely apparition to reveal it to the other eyes as mine
see it.
—Michelangelo
3. SEMAT (Software Engineering Method and
Theory)
É uma comunidade aberta onde voluntários trabalham juntos
para refazer a Engenharia de Software.
4. SEMAT – Repensando a Engenharia de Software
• Recentemente, notáveis do mundo da
engenharia de software, liderados por Ivar
Jacobson, Bertrand Meyer and Richard
Soley, criaram um movimento para
rediscutir as bases da engenharia de
software.
5. • O “SEMAT” sugere que não há organização na
engenharia de software, que suas práticas são
imaturas e, assim, convoca a comunidade para
trabalhar seus fundamentos.
• O ponto de partida é a definição de uma base mínima
conceitual, nomeada pelos idealistas por “Kernel ”.
• A importância deste Kernel está na necessidade de
“elencarmos o conjunto de elementos que são
essenciais a todos esforços do desenvolvimento de
software, um BoK (Body of Knowledge) compartilhado
para acadêmicos, pesquisadores e profissionais”.
6. • De fato, um dos pontos elencados pelo
grupo como o principal problema da
engenharia de software atual é a
divergência entre a teoria do mundo
acadêmico e a prática nas empresas.
• Em boa parte, este gap é devido aos
apelos de marketing a que nosso “mundo”
(de TI) está sujeito.
8. •Vinte anos atrás - Estruturada – Orientação Objeto
•Quinze anos - Componentes, UML, Processo Unificado
(RUP)
•Doze anos atras - CMMI
•Alguns anos – XP – EXtreame Programming
•Agora é Scrum,Lean (Pensamento Enxuto) and Kanban
•(Canvas)
•Amanhã ???
Todos são bons, mas nenhum tem tudo o que voce
precisa !!!
9. •Eles são todos originais !!
•Eles não podem ser comparados !!
•Não podemos escolher as melhores
práticas a partir deles !!
•Nós não sabemos quais os métodos
que temos em uma grande empresa
•Você não tem nenhum conhecimento
sólido que você pode tirar de emprego
em emprego
21. O que é um alpha?
Applying Essence in Practice / 2014 21
• Um elemento essencial do esforço da engenharia de
software que é relevante para a avaliação do
progresso e saúde do empreendimento.
Abstract
Level
Progress
Health
Attribute.
Alpha é um acrônimo para
22. Alpha Estrutura
Applying Essence in Practice / Essence Workshop / 20 June 2013 22
State
XXXXXXXXXXXXXXXXXX
XXXXXXXXXXX
XXXXXXXXXXXX
State
XXXXXXXXXXXXXXXXXX
XXXXXXXXXXX
XXXXXXXXXXXX
State
XXXXXXXXXXXXXXXXXX
XXXXXXXXXXX
XXXXXXXXXXXX
……..
Checklist
Alpha
23. A Solução Real
Applying Essence in Practice / Essence Workshop / 20 June 2013 23
Sistema de
Software
Modo de
Trabalho
Time
Requisitos
24. Identificando Estados e Aplicando Cartões
Applying Essence in Practice / Essence Workshop / 20 June 2013 24