quinta-feira, 14 de Abril |
9:00h |
Abertura |
09:10h |
Metodologias ágeis de desenvolvimento: Uma primeira introdução ao Scrum –
José Alegria, PT Prime e PT ComunicaçõesResumo
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.
Biografia
José António dos Santos Alegria obteve o Ph.D. (General Examinations)
e Master of Science em Computer and Information Science
pela Ohio State University nos EUA, e a Licenciatura em Engenharia
Informática pela FCT/UNL. Exerceu funções de direcção técnica e de
administração em diversas empresas: Data General, IBM, BPI, Banif e ONI.
Actualmente é Director de Negócios Empresariais da PT (DIT) e Director
de Gestão de Risco Técnico, Segurança e Controlo dos Sistemas de
Informação da PT Comunicações (DRI). É vogal do Colégio de Engenharia
Informático da Ordem dos Engenheiros e membro da equipa de avaliação das
Licenciaturas em Informática por parte da OE e do CRUP. É autor de
diversos artigos publicados em Conferências e Revistas Internacionais.
|
10:00h |
Introdução ao Extreme Programming –
Paulo Correia, Consultor
Resumo
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.
Biografia
Tem 27 anos, casado, uma filha. Começou na informática há mais de 20
anos num Spectrum 48K. Trabalha como Consultor há cerca de cinco anos,
os três últimos anos com .NET/C#. Nos tempos livres, podem encontrá-lo a
escalar em alguma parede na Arrábida.
|
10:50h |
Café |
11:10h |
Utilização de métodos ágeis no Visual Studio 2005 –
José
António Silva, Microsoft Portugal
Biografia
José António Silva é Architech Advisor no Developer and
Platform Group. É responsável pelo suporte de toda a comunidade de
arquitectos fornecendo as orientações e ferramentas necessárias para
implementações bem sucedidas usando Plataformas Microsoft. Juntou-se à
Microsoft em 1997 e desde aí ajudou inúmeros parceiros e clientes a
adoptar e integrar tecnologias como ASP, Commerce, XML, Biztalk,
WebServices, Portals e BI. Escreve um weblog português sobre
WebServices e Service-Oriented Arquitectures: http://canoas.com/blog.
José António é licenciado pela Universidade do Minho em Engenharia de
Sistemas.
|
12:00h |
Desenvolvimento rápido baseado em modelos –
Alberto
Silva, IST
Resumo
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.
Biografia
Alberto Manuel Rodrigues da Silva é Professor Auxiliar no Departamento de
Engenharia Informática (DEI) do IST/UTL, investigador sénior no INESC-ID Lisboa
e consultor em diferentes empresas e instituições. Tem um doutoramento em
Engenharia Informática e Computadores pelo IST/UTL, um mestrado em Engenharia
Electrotécnica e Computadores pelo IST/UTL e uma licenciatura em Engenharia
Informática pela FCT/UNL. Lecciona actualmente cadeiras da área de Sistema de
Informação e de Engenharia de Software de nível licenciatura,
pós-graduação e mestrado, assim como supervisiona a realização de vários
trabalhos finais de curso, de teses de mestrado e de doutoramento. Tem
interesses profissionais e científicos em sistemas de informação dinâmicos e
distribuídos em larga escala; engenharia de requisitos, desenvolvimento baseado
em modelos, processos e ferramentas de desenvolvimento de software; e negócios
suportados electronicamente. No INESC-ID, é o responsável pelo Grupo do Sistemas
de Informação e é co-fundador do Laboratório de Ambientes Virtuais e
Cooperativos (LAVC). Actualmente desempenha os seguintes cargos de gestão:
- Coordenador do Grupo do Sistemas de Informação do INESC-ID
- Coordenador dos programas de Mestrado e de Doutoramento em Engenharia
Informática e Computadores do IST
- Vogal da Região Sul do Colégio de Engenharia Informática da Ordem dos
Engenheiros.
É autor de três livros técnicos e cerca de 50 artigos científicos em
revistas, conferências e workshops nacionais e internacionais.
|
12:50h |
Debate/Painel com os oradores |
13:20h |
Almoço livre |
14:40h |
Introdução ao Test-Driven Development –
José Almeida,
Microsoft Portugal
Resumo
O 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.
Biografia
Consultor da área de desenvolvimento da Microsoft Consulting Services.
Na sua actividade como consultor define, desenha e implementa soluções
empresariais, e apoia clientes na optimização dos seus processos
internos de desenvolvimento de software, promovendo a adopção de
boas práticas da indústria.
|
15:30h |
Métodos formais: incompatíveis com metodologias ágeis? –
Luís Andrade, ATX Software
Resumo
Na sua edição de 10 de Maio de 2003 (vol 367[8323] ), “The Economist”
retratou de forma exemplar a situação actual da industria de TI:
Computing has certainly got faster, smarter and cheaper, but
it has also become much more complex. Ever since the orderly days of the
mainframe, which allowed tight control of IT, computer systems have become
ever more distributed, more heterogeneous and harder to manage. […] Computing
is becoming a utility and software a service. This will profoundly change the
economics of the IT industry. […] For software truly to become a service,
something else has to happen: there has to be a wide deployment of web
services. […] applications will no longer be a big chunk of software that runs
on a computer but a combination of web services; and the platform for which
developers write their programs will no longer be the operating system, but
application servers.
Nesta apresentação darei ênfase aos desafios que se colocam aos processos
de desenvolvimento de software, de forma a responderem adequadamente
aos requisitos e à evolução do negócio das empresas, tornando-os mais ágeis e
eficazes.
Biografia
Licenciado em Matemática Aplicada pela Faculdade de Ciências de Lisboa
em 1987. Vários artigos publicados sobre "arquitecturas de software
e tecnologias de reconfiguração dinâmica". Co-autor do livro “Software
Design Using Java 2” by Kevin Lano, José Luiz Fiadeiro and Luís Andrade,
Palgrave Macmillan. Fundador e gestor da ATX Software, líder em
tecnologias de reengenharia e migração de código legado.
|
16:20h |
Café |
16:40h |
Desafios e limitações das metodologias ágeis –
Henrique O'Neill, ISCTE
Resumo
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.
Biografia
Doutor em CIM (Computer Integrated Manufacturing) pela Universidade de
Cranfield, em Inglaterra, e Mestre em Engenharia Electrotécnica e de
Computadores pelo IST. Especialista no desenvolvimento de sistemas integrados
para o reforço da competitividade das organizações, articulando estratégia de
negócio com a aplicação de tecnologias e sistemas de informação. Experiência
como consultor no desenvolvimento e implementação de projectos de SI/TI em
organismos públicos e empresas, com particular incidência no sector industrial.
Professor Associado de Sistemas de Informação no Departamento de Ciências e
Tecnologias de Informação do ISCTE. Docente dos cursos de Mestrado e de
Pós-Gradução do INDEG/ISCTE. Formador do INA.
|
17:30h |
Desenvolvimento sem requisitos –
Pedro Antunes, FC/UL
Resumo
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.
Biografia
Lecciona nas áreas de Engenharia de Software, Análise e Design de Sistemas, e
Interfaces Pessoa-Máquina.
Actividades de investigação centradas na análise, design, desenvolvimento e
avaliação de sistemas socio-técnicos complexos, envolvendo múltiplos
utilizadores e factores de risco de vida, sociais, económicos e técnicos.
|
18:20h |
Debate/Painel com os oradores |
|
sexta-feira, 15 de Abril |
08:30h |
Desenvolvimento ágil usando Scrum –
Bruno Câmara, Agilior
Resumo
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.
Biografia
Bruno Câmara é sócio fundador da Agilior desde Janeiro de 2004,
encontrando-se actualmente dedicado à exploração de Microsoft BizTalk Server
2004 no âmbito de integração de sistemas (EAI) e arquitecturas orientadas aos
serviços (SOA). Sendo o processo um dos vectores com maior importância na
Agilior, dedica parte do seu tempo ao estudo das diferentes metodologias,
advogando a abordagem Agile. Antes de fundar a Agilior, dedicou grande parte da
actividade profissional à concepção e implementação de arquitecturas de software
escaláveis e de elevada reutilização, tendo também como função a coordenação
técnica de equipas. Destaca-se primordialmente o envolvimento nos projectos de
integração de canais de uma instituição bancária e uma seguradora a operarem a
nível nacional.
Actualmente dedica também parte do seu tempo a investigação académica,
encontrando-se a frequentar o mestrado em Engª Informática e de Computadores no
IST, na área de especialização de Programação e Sistemas de Informação. O tema
da sua tese foca-se no impacto do SOA numa arquitectura empresarial, e qual o
seu papel no alinhamento do Negócio e os Sistemas de Informação. Licenciado em
Engenharia Informática e de Computadores pelo IST.
|
09:20h |
Metodologias Pesadas ou Ágeis: Bulimia ou Anorexia? –
Fernando Brito e Abreu, UNLResumo
Esta apresentação visa contrapor abordagens mais pesadas ao
processo de desenvolvimento de software, com as ditas mais
ágeis, estas últimas dando nome a este seminário. De um lado do
ring temos os "pesos-pesados", isto é, as aproximações subjacentes
aos modelos de maturidade do software, sistemas de gestão de qualidade
baseados na ISO9001 ou em normas impostas pelos organismos de defesa,
com algumas metodologias comerciais, como o RUP, à mistura. Do outro
lado temos os "pesos-pluma", ou seja, as abordagens como o Extreme
Programming (XP), Scrum, Feature-Driven Development (FDD), Adaptive
Software Process, Crystal e outras, algumas delas que serão amplamente
abordadas pelos outros oradores deste seminário. Como diferem na
cobertura? Quando devemos ser ágeis? Quando é que o peso é importante?
Quais os prós e os contras de cada um dos lados? São abordagens
inconciliáveis? Estas são algumas das questões sobre as quais serão
lançadas algumas achegas nesta apresentação.
Biografia
Fernando Brito e Abreu é líder do grupo de investigação QUASAR e professor da
linha de Engenharia de Software do Departamento de Informática da FCT/UNL. É
licenciado em Engenharia Electrotécnica, mestre em Engenharia Electrotécnica e
de Computadores e Doutor em Engenharia Informática, tendo todos os graus sido
obtidos no IST/UTL. É autor ou co-autor de cerca de 70 artigos em conferências,
workshops e revistas técnicas, maioritariamente com painel de revisão. Serviu
como presidente ou membro da comissão de programa ou organizadora de vários
eventos científicos nacionais e internacionais, bem como orador convidado,
coordenador de sessões e outras funções. Tem ainda participado como membro do
painel de revisão em diversas revistas técnicas e coordenado ou participado em
vários projectos nacionais e internacionais de I&D. O seu trabalho científico é
amplamente citado em artigos de outros autores (vide Science Citation Index, ACM
Digital Library e CiteSeer), em livros técnicos e mesmo utilizado em várias
ferramentas de investigação e comerciais.
Os seus interesses de investigação incluem a engenharia de software experimental, a meta-modelação, a econometria do
software, a reengenharia de
sistemas legados com objectos, a formalização de métricas de software, a
avaliação de arquitecturas de software baseadas em componentes e a modelação,
gestão, qualidade, avaliação, certificação e melhoria do processo de
desenvolvimento de software.
|
10:10h |
Café |
10:30h |
Introdução à Programação Orientada para Aspectos –
Manuel
Menezes de Sequeira, ISCTE
Resumo
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.
Biografia
Manuel Menezes de Sequeira é Professor Auxiliar no ISCTE. É
licenciado em Engenharia Electrotécnica, mestre em Engenharia
Electrotécnica e de Computadores e Doutor em Engenharia Electrotécnica e
de Computadores, sempre pelo IST. Exerce actividade de
investigação na área de processamento de imagem. Coordenou as
disciplinas de programação no ISCTE de 1998 a 2005. Lecciona desde
2002 a disciplina de mestrado Programação Avançada, onde aborda a
Programação Genérica, a Metaprogramação e a Programação Orientada para
Aspectos.
|
11:20h |
Refabricação de programas usando Programação Orientada para
Aspectos –
Miguel Pessoa Monteiro, ESTCB
Resumo
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".
Biografia
Miguel Pessoa Monteiro é docente da Escola Superior de Tecnologia de Castelo
Branco (ESTCB) desde 1996. As suas áreas de interesse são a Engenharia de
Software, particularmente a Programação Orientada para Objectos, a Programação
Orientada para Aspectos e os Métodos Ágeis. Encontra-se actualmente a terminar o
doutoramento em informática no Departamento de Informática da Universidade do
Minho. O seu trabalho de doutoramento consistiu em documentar novos passos de
refabricaçao de código fonte de programas de modo a introduzir os conceitos e
mecanismos da orientação para aspectos em código legado orientado para objectos.
|
12:10h |
Desenvolvimento de Software Orientado para
Aspectos: o papel dos Early Aspects –
Ana
Moreira, UNL
Biografia
Ana Moreira é Professora Auxiliar no Departamento de Informática da
Faculdade de Ciências e Tecnologia da Universidade Nova de Lisboa. As
suas áreas principais de investigação são a tecnologia dos objectos, a
engenharia de requisitos e os métodos formais. Actualmente está
interessada em investigar como os aspectos podem ser usados durante as
fases iniciais do processo do desenvolvimento de software. É
co-editora da edição especial em “Early Aspects: Aspect-Oriented
Requirements Engineering and Architecture Design” publicada pelo "IEE
Software Proceedings" e é membro do conselho editorial das revistas "Transactions
on Aspect-Oriented Software Development" e "Software and Systems
Modeling" publicadas pela Springer. Ao longo de vários anos tem sido
membro dos comités de programa de muitas conferências internacionais, em
particular da ECOOP, CAiSE e UML. Foi presidente da conferência UML’2004
e workshop chair da ECOOP'99, ECOOP'02 e UML'03. Co-organizou
diversos workshops nas conferências AOSD, ECOOP, OOPSLA, UML e
ETAPS. É vice-presidente do comité permanente da conferência MODELS
(série UML). É co-fundadora do pUML e do Early-Aspects.net. Para mais
informação visite http://www-ctp.di.fct.unl.pt/~amm/.
Resumo
O AOSD (Aspect-Oriented Software Development) tem por objectivo
tratar os assuntos transversais (do inglês crosscutting concerns)
oferecendo técnicas para a sua identificação, separação, representação e
composição. Os assuntos transversais, difíceis de modularizar com as técnicas
oferecidas pelas abordagens de desenvolvimento tradicional, são encapsulados
em módulos separados, os “aspectos”, de modo a promover a localização. Isto
facilita a modularização e contribui para a diminuição dos custos de
desenvolvimento, manutenção e evolução.
Na última década apareceram várias linguagens de programação orientadas
pelos aspectos, sendo o AspectJ a mais conhecida. Além disso, muitos são os
trabalhos que visam a incorporação dos aspectos e a separação de assuntos
transversais ao nível do desenho. Todavia, a investigação sobre o uso dos
aspectos nas fases iniciais do desenvolvimento é muito recente e não existe
consenso sobre o que é um aspecto nestas fases tão inicias do ciclo de vida.
O movimento “Early Aspects” teve início em 2002, com a primeira edição do
workshop “Early Aspects: Aspect-Oriented Requirements Engineering and
Architecture Design”, organizado com a primeira conferência internacional em
AOSD.
Esta apresentação começa com uma introdução ao AOSD, depois foca a
iniciativa “Early Aspects” e termina apresentando o ARCADE, uma abordagem
orientada pelos aspectos para engenharia de requisitos.
|
13:00h |
Debate/Painel com os oradores |
13:30h |
Encerramento |
|