Agenda

Dia 14 de Abril

09:00h
Abertura

09:10h
Metodologias ágeis de desenvolvimento: Uma primeira introdução ao Scrum
José Alegria, PT Prime e PT Comunicações

Nesta economia dinâmica e competitiva, a rápida inovação de produtos, serviços e processos é cada vez mais um factor essencial de vantagem competitiva. Por outro lado, a não linearidade da inovação, resultante de uma competição crescente, global e muitas vezes vinda de sectores não esperados, constitui uma dificuldade adicional a ter em conta.

Uma das principais crenças dos promotores do manifesto para o desenvolvimento ágil de software (Manifesto for Agile Software Development) é que a Engenharia de Software tradicional, fortemente assente numa disciplina de especificações prévias rigorosas e processos de desenvolvimento em cascata e suportados por contratos formais, não consegue lidar com o ritmo de mudança, grau de incerteza e não linearidade que os processos criativos acima referidos exigem.

Entre as várias metodologias de desenvolvimento ágil hoje disponíveis, existe uma especialmente simples e adaptada à gestão do processo de desenvolvimento rápido e não linear de produtos inovadores. Trata-se da metodologia Scrum desenvolvida por Ken Schwaber e Mike Beedle e inspirada nas ideias seminais de desenvolvimento rápido e concorrente de produtos de Hirotaka Takeuchi e Ikujiro Nonaka.. Esta, não estando ligada a nenhuma tecnologia concreta de construção de software, apresenta, contudo, uma excelente simbiose com o conjunto de práticas a que Kent Beck deu o nome de “eXtremme Programming”.

Pretendemos nesta apresentação introduzir a metodologia Scrum na óptica da gestão do processo de desenvolvimento rápido e não linear de produtos inovadores e mostrar que práticas concretas de desenvolvimento de software se apresentam mais essenciais para o sucesso da aplicação do Scrum.


10:00h
Introdução ao Extreme Programming
Paulo Correia, Consultor

Hoje em dia, segundo o Gartner Group, 80% a 90% dos projectos de IT fracassam. Fracassam porque foram cancelados ou entregues com prazo e/ou orçamento largamente ultrapassados. Tentamos concretizar projectos de software há mais de 20 anos da mesma forma. Continuamos a ter insucesso, mas continuamos a resolver da mesma maneira. Passamos pelo que chamo de "síndrome Homer Simpson", em que erramos, e continuamos a errar, porque temos medo de mudar. O XP pretende ser uma forma diferente de abordar o processo de desenvolvimento de software. Não pretende ser a chamada "Silver Bullet", porque não é aplicável a todos os projectos, mas é possível aplicar, com um tremendo sucesso, na maioria dos projectos em que estamos ou iremos estar envolvidos. É preciso coragem, muita coragem, para mudar o que já foi aceite como a "única forma de fazer" ou a "melhor forma de ser feito". São esses dogmas que temos de ultrapassar e deixar de aceitar de forma passiva. Abracem a mudança e tenham coragem para implementar o XP.


10:50h
Café

11:10h
Utilização de métodos ágeis no Visual Studio 2005
José António Silva, Microsoft

Utilização de métodos ágeis no Visual Studio 2005.


12:00h
Desenvolvimento rápido baseado em modelos
Alberto Silva, IST

A indústria dos SI/TI passou ao longo das últimas décadas por diferentes paradigmas de concepção e desenvolvimento de sistemas. Actualmente, as metodologias ágeis aparecem como uma nova buzzword em que os aspectos não técnicos (e.g., relacionados com gestão, comunicação, motivação de pessoas e equipas) são equacionados em paralelo com aspectos técnicos (e.g., concepção, desenvolvimento, testes). Nesta apresentação descreve-se o programa de investigação "ProjectIT" em realização no Grupo de Sistemas de Informação do INESC-ID, focando-se principalmente os aspectos de desenvolvimento baseado em modelos (ProjectIT UML profile) e em linguagens de requisitos (ProjectIT RSL). Apresentam-se exemplos concretos de alguns protótipos já desenvolvidos no âmbito do ProjectIT.


12:50h
Debate/Painel com os oradores



13:20h
Almoço Livre


14:40h
Introdução ao test driven development
José Almeida, Microsoft

Test driven development (TDD) tem vindo a emergir como uma das mais bem sucedidas técnicas de desenvolvimento. Os três passos de escrever um teste, escrever o código e factorizar resultam em rápido feedback ao programador que aumentam a confiança do programador e impõem ritmo ao processo de desenvolvimento tornando-o num ciclo virtuoso de reforço positivo. O código resultante é inerentemente testável, loosely coupled e mais coeso.




15:30h
Métodos formais: incompatíveis com metodologias ágeis?
Luis Andrade, ATX Software



16:20h
Café


16:40h
Desafios e limitações das metodologias ágeis
Henrique O'Neill, ISCTE

A aplicação das TIC no domínio das organizações configuram projectos de natureza sócio-técnica, que são substancialmente distintos de projectos vocacionados para o desenvolvimento de aplicações informáticas de utilização individual.

Se no caso das aplicações de utilização individual a inovação tecnológica é predominante, no caso das aplicações de informática organizacional tornam-se relevantes aspectos como a gestão individualizada de requisitos, a integração de pessoas, processos e aplicações, bem como a gestão da mudança organizacional.

Contextos aplicacionais distintos exigem abordagens diferenciadas. Nesta apresentação pretende-se identificar as limitações das metodologias ágeis no contexto de projectos de informática organizacional, bem como perspectivar o modo de adaptar os princípios da “agilidade” a projectos que se desenvolvem em contextos organizacionais complexos e diferenciados.

Toma-se como referência as abordagens Unified Process (UP) da Rational/IBM, Microsoft Solutions Framework Process Model e SCRUM, procurando realçar as características mais adequadas destas metodologias a domínios específicos de aplicação.



17:30h
Desenvolvimento sem requisitos
Pedro Antunes, FC/UL

Desde há alguns anos que o autor tem vindo a desenvolver sistemas socio-técnicos, envolvendo múltiplos utilizadores e processos de decisão complexos em situações de elevada informalidade. Argumenta-se que a engenharia de requisitos tradicional é pouco adequada para lidar com o desenvolvimento deste tipo de sistemas. Propõe-se uma nova abordagem e apresentam-se casos onde essa abordagem foi aplicada com sucesso.


18:20h
Debate/Painel com os oradores



Dia 15 de Abril

08:30h
Desenvolvimento ágil usando Scrum
Bruno Câmara, Agilior

O SCRUM é uma das metodologias pertencentes ao movimento ágil, e tem ganho bastante popularidade nos últimos tempos. Assentando os seus princípios fundamentalmente em boas práticas de gestão, o SCRUM assume-se como uma metodologia extremamente ágil e flexível, podendo ser usada conjuntamente com outras metodologias. Nesta sessão serão apresentadas as práticas, os perfis e os artefactos que constituem o SCRUM. O objectivo da sessão é dar a conhecer a metodologia e fomentar a sua utilização nos próximos projectos.


09:20h
Tudo o que um Engenheiro de Software deve saber sobre testes
Fernando Brito e Abreu, UNL

Num esforço concertado sem precedentes na área da Engenharia de Software, cerca de 600 peritos de 45 países, sob a égide do IEEE, concluíram, há poucos meses, a formulação do SWEBOK (Software Engineering Body of Knowledge). Com este documento de 200 páginas tenta-se promover uma visão consensual do conteúdo da disciplina de Engenharia de Software (ES) e clarificar as suas fronteiras com outras, como a Ciência da Computação ou a Gestão de Projectos. Este corpo de conhecimento, que corresponde às melhores práticas, aplicáveis à maioria dos projectos, a maioria do tempo, pode ser utilizado com várias finalidades como na concepção de curricula académicos, na acreditação dos mesmos ou na certificação profissional de especialistas.

O SWEBOK está organizado em 10 áreas do conhecimento (Requirements, Design, Construction, Testing, Maintenance, Configuration Management, Management, Process, Tools and Methods, Quality). O objectivo desta palestra é apresentar uma revisão comentada sobre a área de conhecimento do teste (em português deveria dizer-se "ensaio") de software, tal como foi proposta no SWEBOK. A apresentação cobrirá assuntos variados que irão desde os conceitos fundamentais, objectivos e aspectos taxinómicos, passando pelas técnicas de ensaio e sua aplicabilidade, pelas métricas de ensaio e pelo processo do ensaio.


10:10h
Café

10:30h
Introdução à Programação Orientada para Aspectos
Manuel Menezes de Sequeira, ISCTE

A programação orientada para aspectos é um novo paradigma de programação que complementa o da programação orientada para objectos. Neste novo paradigma, requisitos (funcionais ou não) transversais à decomposição principal do sistema são modularizados em "aspectos", reduzindo assim o espalhamento do código que lhes diz respeito e evitando o emaranhamento desse código com o código de outros requisitos. Far-se-á uma breve apresentação das ideias principais da programação orientada para aspectos, que serão ilustradas através de exemplos em AspectJ, a mais conhecida das linguagens que suportam este paradigma.


11:20h
Refabricação de programas usando Programação Orientada para Aspectos
Miguel Pessoa Monteiro, ESTCB

Na sua apresentação, Miguel Pessoa Monteiro demonstrará como se pode utilizar a refabricação de programas para extrair uma faceta transversal de uma base de código fonte Java, modularizando-a num aspecto da linguagem AspectJ. Para esse efeito utilizará um pequeno exemplo do padrão de concepção 'Observador'.


12:10h
Desenvolvimento de Software Orientado para Aspectos: o papel dos Early Aspects
Ana Moreira, UNL

Aspect-oriented software development (AOSD) aims at addressing crosscutting concerns by providing means for their systematic identification, separation, representation and composition. Crosscutting concerns are encapsulated in separate modules, known as aspects, so that localisation can be promoted. This results in better support for modularisation hence reducing development, maintenance and evolution costs. A number of aspect-oriented programming approaches have been proposed. Work has also been carried out to incorporate aspects, and hence separation of crosscutting concerns, at the design level mainly through extensions to the UML meta-model. Research on the use of aspects at the early phases of the software development is still immature and there is no consensus about what an aspect is at this early stage of software development and how it maps to artefacts at later development stages. The Early Aspects movement begun in 2002, with the organization of the first edition of the “Early Aspects”, in conjunction with the first AOSD conference.
This talk starts with a brief introduction to AOSD, then follows by focusing on the Early Aspects initiative and finishes by presenting ARCADE, a particular aspect-oriented requirements engineering approach.


13:00h
Debate/Painel com os oradores


13:30h
Encerramento




Oradores

Alberto Silva
Departamento de Informática do Instituto Superior Técnico ...
Leia mais


Ana Moreira
Departamento de Informática da Facultade de Ciências e Tecnologias da Universidade Nova de Lisboa ...
Leia mais


Bruno Câmara
Bruno Câmara é sócio fundador da Agilior desde Janeiro de 2004, encontrando-se actualmente dedicado à exploração de Microsoft BizTalk Server 2004 ...
Leia mais


Fernando Brito e Abreu
Departamento de Informática da Faculdade de Ciências e Tecnologias da Universidade Nova de Lisboa ...
Leia mais


Henrique O'Neill
Instituto Superior de Ciências do Trabalho e da Empresa (ISCTE) ...
Leia mais


José Alegria
Portugal Telecom ...
Leia mais


José Almeida
Microsoft Portugal ...
Leia mais


José António Silva
Microsoft Portugal ...
Leia mais


Luís Andrade
ATX Software ...
Leia mais


Manuel Menezes de Sequeira
Instituto Superior de Ciências do Trabalho e da Empresa (ISCTE) ...
Leia mais


Miguel Pessoa Monteiro
Escola Superior de Tecnologia de Castelo Branco (ESTCB) ...
Leia mais


Paulo Correia
Ex-colaborador da Microsoft Brasil ...
Leia mais


Pedro Antunes
Departamento de Informática da Faculdade de Ciências da Universidade de Lisboa ...
Leia mais