- A Primer on Test-Driven Development - Dr. Hakan Erdogmus
"TDD it's not unit testing!" - Teste unitário é apenas umas das atividades de TDD, e TDD não é, por si só, um processo completo para desenvolvimento de software. É uma técnica que pode ser utilizada juntamente com outro(s) processo(s), de forma ortogonal. Os resultados de melhoria ao adotar esta metodologia são comprovados, apesar de ser muito difícil conseguir medir resultados em componentes muito complexos. Também citou várias abordagens TDD.
- Trends on Software Architecture - Dr. Phillipe Kruchten
Palestrante canadense que foi líder de desenvolvimento do RUP, autor de vários livros conceituados sobre este tema e membro da OMG, enfatizou que, para criar uma arquitetura de software, pode-se (e deve-se) escolher uma das várias metodologias existentes (exemplificou com RUP) para aprimorar e qualificar o desenho e a tomada de decisões da arquitetura. Deu exemplos de como documentar, para quem documentar (várias visões), e como documentar as tomadas de decisões com o uso de backlogs. Citou também outros assuntos relacionados (exemplo: software product lines).
- Quantifying Quality Requirements using Planguage - J. David Blaine
Planguage significa linguagem de planejamento. É uma linguagem simples e bem definida para aumentar a eficiência de comunicação para qualquer aspecto que envolva planejamento de projeto e para expressar de forma correta e unambígua os requisitos de qualidade. Citou vários exemplos. Creio que essa linguagem pode ser utilizada juntamente com GQM (GQM para identificar a métrica conforme objetivos, e Planguage para documentar a métrica). Se alguém for estudar a relação entre as duas, favor me informar dos resultados.
- A Computer Science Perspective on the Antikythera Mechanism - Dr. Diomidis Spinellis
Começou demonstrando que o mecanismo de Antikythera é um dos primeiros design patterns conhecidos. Estabeleceu uma relação com a astrologia e a engenharia de software, encerrando com o futuro dos softwares educacionais para crianças - a iniciativa One Laptop per Child. Demonstrou os softwares que compõem este laptop (EToys, Squeak - Smaltalk gráfico, entre outros) e demonstrou a criação de uma simulação de um calendário Luni-Solar e Eclipse Prediction, de forma similar ao mecanismo de Antikythera - usando Squeak! Show de bola!!
- Model-Driven Development: Concepts, Trends, and Standardization - Dr. Stephen Mellor
Stephen Mellor é um dos evangelistas de MDD e MDA, e inclusive faz parte da minha bibliografia de trabalho de conclusão. Finalmente conheci ele pessoalmente! Ele citou o que é MDD, quais os objetivos, quais os problemas enfrentados e quais os problemas ainda a enfrentar. Falou bastante sobre Executable UML, citou as 3 melhores ferramentas que "executam UML" sem utilizar um mesmo padrão (padronização de artefatos e relacionamentos). Um dos maiores problemas é a portabilidade e o intercâmbio dos modelos entre as diversas ferramentas. A solução - a criação do Executable UML Foundation, visando eliminar este problema. Citou também que QVT é subsídio para a solução para atingir a portabilidade e padronização de ações (UML actions) e mapeamentos. E o futuro do MDD? DSL em cima de uma linguagem aberta e padronizada (provavelmente sob UML Profiles ou, pelo menos, utilizando alguma tecnologia OMG).
- People, Process and Technology Synergy - a Key to Business Excellence - Dr. Gargi Keeni
Consultora da TATA Consultancy Services, citou várias dicas para atingir excelência no refinamento de modelos e processos de negócio. Algumas das dicas: devemos comunicar os objetivos de uma medição para os envolvidos, e não somente obrigá-los a preencher os dados, visando estimular o preenchimento correto e a participação da análise dos resultados. Não somente medir, agir! Se algum requisito de medição está incorreto durante um processo de medição, corrija-o pontualmente! Diferenciar as pessoas pelas funções exercidas, pelas competências e experiências durante as medições. Citou também a existência de várias ferramentas (automating for SPI - Sofware Process Improvement).
- Trends on Object-Oriented Software Design - Rebecca Wirfs-Brock
Autora conceituada de várias publicações sobre metodologias de desenvolvimento de software OO, ilustrou com exemplos as boas práticas de comunicação através de técnicas de CRC Cards e Storytelling. Exemplos: decidir o nível de detalhamento conforme a equipe e onforme o que for realmente importante a ser exposto, técnicas para enfatizar textualmente a questão do problema, utilizar linguagem visual de acordo com a equipe que será exposta ao problema solução. A maioria do assunto exposto é conteúdo do livro publicada por ela - Designing Object-Oriented Software and Object Design: Roles, Responsabilities and Collaborations.
- Tendências Internacionais em Melhoria de Processos de Software - Dra. Juliana Herbert
Para encerrar, a Dra. Juliana expôs uma visão da situação internacional da melhoria de processos de software. "Quality is not for free", pois tem que haver esforço e investimento. Recomendou a leitura do livro The Demon-Haunted World, de Carl Sagan. As tendências atuais são simplificar, divulgar mais e utilizar mais.
