Karine Roy

SQA Manager, Autodesk Media & Entertainment

Bio:
Working in the Film, Video and 3D industry since 1995, Karine has held a
variety of software testing positions ranging from core tester,
automation tester, automation lead and QA team lead. For the last few
years she’s been working as a QA manager at Softimage Avid and, since
2004, at Autodesk, in their Media and Entertainment division. Karine is
leading a team of over 60 test specialists, the majority of which being
full time employees. She also manages remote team in India. Autodesk’s
M&E products range from 3D applications to 2D color grading, effects and
editing as well as video compression and encoding. The various projects
Karine has been involved in create and deliver authoring tools for
creative professionals making Computer Generated Imagery (CGI) for
feature films, commercials and video games.

About Autodesk:
Autodesk, Inc. (NASDAQ: ADSK) is wholly focused on ensuring that great
ideas are turned into reality. With over seven million users, Autodesk
is the world’s leading software and services company for the
manufacturing, building, infrastructure, wireless data services and
media and entertainment fields. Autodesk’s solutions help customers
create, manage and share their data and digital assets more effectively.
As a result, customers turn ideas into competitive advantage by becoming
more productive, streamlining project efficiency and maximizing profits.
In October 2005, Autodesk announced its intent to acquire Alias
(Toronto), makers of 3D CGI software for film & games, making Autodesk
one the largest employers of software development professionals in
Canada serving the media & entertainment industry. Founded in 1982,
Autodesk is headquartered in San Rafael, California. For additional
information about Autodesk, please visit www.autodesk.com.

Patrick Ng, Aditya Thakur, Gang(George) Zhu

Motorola GSG

A Software Developer’s Experience with Agile
The best known and oldest software development lifecycle is the waterfall model, where developers follow the steps of requirements gathering, analysis, design, coding and testing in order. Recently, a project team at the Motorola Global Software Group Canada centre in Montreal experimented with an “Agile” process for the development of a new software feature. The development itself presented a number of challenges, such as the significant enhancement of the software functionality, an aggressive schedule, and a number of technical unknowns. As part of the project, the team utilized the following Agile techniques: prototyping, just enough documentation, pair programming, iterative and incremental development, refactoring, constant integration, constant communication, test first development and automated testing. In the end, the team observed increased productivity, boosted creativity, and lower cost of quality. In this presentation we will investigate the reasons behind these improvements as well as share the team’s experience in practicing Agile, as compared to traditional, non-Agile, methods.

Robert Sabourin

Amibug Inc.
online: bio

Bio:
Robert Sabourin has been involved in all aspects of development, testing and management of software engineering projects. Robert graduated from McGill University in 1982. Since writing his first program in 1972, Robert has become accomplished software engineering and SQA management expert and evangelist (don’t tell me it can’t de done!). He is presently the President of AmiBug.Com Inc; a Montreal-based international management consulting firm specializing in the implementation of “light effective process” to achieve excellence in delivering on-time, on-quality, on-budget commercial software solutions. AmiBug.Com provides management consulting, training and professional development directly and with various business partners.

Robert works with several major companies to establish software engineering teams, automate workflow to facilitate continuous software development in web based e-commerce applications, virtual online communities and multiple cross vendor integrated “e-commerce” for B2B and B2C applications.

Previously Robert was Director of Research and Development at Purkinje (3 years), which specialized in the development of sophisticated, client server, knowledge driven critical medical software used at the point of care.

As R&D Manager at Alis Technologies (10 years), Robert championed many complex international multilingual software development and globalization efforts involving several intricate business partnerships and relationships including international governments (Czech, Russia, Egypt, France, Morocco, Algeria…) and corporations (Microsoft, IBM, AT&T, HP, Thompson CSF, Digital, Olivetti…). Systems included concurrent co-ordinated multilingual multiplatform product releases.

Chris Laffra

Rational Performance Engineering Team, IBM
online: website

Eclipse Performance
To scale the Eclipse platform to a large product, plugin developers will
at some point have to study both their CPU performance and their memory
consumption. Eclipse offers non-traditional performance challenges that have to do
with the adoption of a large framework. It has been wisely coined that every
Computer Science problem can be solved by adding one more layer of abstraction.
The various Eclipse abstractions such as plugins, extension points, and
features, allow developers to grow Eclipse to an unprecedented size. Some products
include over 2,000 plugins. However, profiling tools typically only show
low-level details that make it hard to rediscover the abstractions. For instance,
one single API call in JDT may unwittingly result in millions of method
calls if the workspace is large. Stack traces of 500-600 deep are not exceptional.
How do we profile such large applications and make sure we don’t get lost?
In addition to performance, memory consumption is highly relevant for Eclipse
applications. Most Eclipse applications, including IDE extensions, are
just in the business of converting data into different formats, such as from XML
into a binary registry, Java source into class files, JSPs into Java and HTML,
etc.

Data conversion is often an expensive process, and plugin authors
quickly resort to using a cache to play the space/time tradeoff game. Monitoring Java
heap growth and doing blame analysis is far from trivial. It can be quite
difficult to discover who owns a certain string when the heap measures 600MB and
contains millions of objects.

What we will go over in this session is a set of publicly available
profiling tools, and see how they can be used to profile Eclipse and analyze its
heap usage and detect leaks. Various live demos will be given on real Eclipse
scenarios and we will see how these profiling tools help address
complexity. We will show how certain design decisions influence how we can trace
activity at runtime, and how profiling tools can be enhanced to benefit better from
them.

Bio:
Chris Laffra was born in The Netherlands and obtained his MsC at the
Vrije Universiteit of Amsterdam in 1988 and a PhD at the Erasmus University of
Rotterdam in 1992. At both IBM T.J. Watson Research Center and Morgan-Stanley,
Chris worked on tools for user interfaces, component infrastructures,
program analysis, debugging, visualization, compression, and optimization. He
led the OTI Amsterdam lab for 3.5 years, working on WebSphere Studio Device
Developer(r). At IBM Canada’s lab in Ottawa he worked on the border between Java(tm)
runtime environments and Eclipse (and co-authored The Official Eclipse 3.0
FAQs). Currently, Chris works at IBM RTP to improve RAD/RSA performance.

Louenas Hamdi

Researcher, SAP Labs Canada

OSGi: the open source and standard platform of choice for restrained devices
OSGi offers a component/service oriented computing environment for networked services. Enabling a networked device with an OSGi framework adds the capability to manage the life cycle of the software components in the device from anywhere in the network without ever having to disrupt the operation of the device. Software components are libraries or applications called bundles that can dynamically discover and use other components thru service sharing mechanism.

OSGi offers many standard component interfaces that are available for common functions like configuration, device access manager, universal plug and play, wire admin and many more. The OSGi specifications are broadly applicable in many areas, and especially to restrained environments, because it is a thin standard layer that allows multiple components to efficiently and securely cooperate in a single Java virtual machine. Unlike other Java technologies like JMX or MIDP, the OSGi service platform allows bundles to supply code as well as services to the environment. In restrained environments sharing code is important because it allows libraries with shared functionality to be exposed to all the allowed applications and therefore reduce the code redundancy and the applications size.

The presentation will illustrate a step by step application-building example and will show some very practical and real life examples using OSGi.

Bio:
Louenas Hamdi joined the SAP Research Team in Montreal on January 1st, 2004. He is currently involved in different projects within the SAP Smart Items Research Program. Louenas received his Master degree in Software Engineering from ETS (Ecole de Technologie Supérieure), Montreal, Canada. He also holds an Engineering diploma in Computer Science from Université de Tizi-Ouzou, Algeria. His research interests are in the domains of: Smart Items, Mobility, Enterprise Applications, Context Awareness, RFID, OSGi.

Alex Hyder

Development Director – NHL ’07, Electronic Arts Montreal

Software Engineering in the Video Game Industry
Modern software engineering has its roots in the military world, and even today is most rigorously applied to the development of mission-critical systems in the aerospace and telecom industries. The games industry has traditionally followed an extremely informal approach to software development, driven by the need for creativity and speed of development. However while, many of the drivers for process formalism such as schedule predictability, quality, and cost of rework apply to game development, others, such as requirements traceability and lifecycle costs do not. As a result, there is some debate among game developers as to what kind of software engineering practices should be followed in the game industry. This presentation is a result of the author’s personal transition from the formal practices used in the manned space program to the fast and flexible world of game development. It will examine some of the specific challenges of game development, and will discuss some of software engineering practices currently being adopted at Electronic Arts.

Bio:
Alex completed his B. Eng (1983) and M. Eng (1989) at McGill University in mechanical engineering, specializing in robotics. For the next 5 years, he worked as a software developer at the NASA Johnson Space Center, developing software simulation tools for the analysis of spacecraft dynamics and robotic systems as part of the Space Shuttle mission planning process. That was followed by several years in the telecom industry, first as a real-time software developer at Nortel, then as a project manager at Motorola’s Montreal Software Center. Alex has worked in the game industry since 2002, managing game teams developing for the Playstation2, Xbox, GameCube, PSP, and PC. His most recent projects include Medal of Honor European Assault and SSX On Tour. He is currently responsible for NHL ’07 PS2, Xbox, PC and PSP.