The programme for Industry Day will contain case presentations and discussion based on them.

Tuesday, 21 August

Room: Baltica

9:00am Opening, welcome, goals for the day. Hannu Kokko, Nokia.
9:15am Agile architecture in the large. Juha Tukkinen, NVIDIA.
10:00am Coffee break
10:30am Pragmatic architecture management in agile software development projects.
Max Packalen, Nitor Creations.
11:15am MongoDB, Redis and distributed architecture: experiences of a SaaS startup.
Ville Lautanala, Flowdock.
Presentation slides
12:00pm Lunch
1:30pm Renewal of Napa software GUI technologies and architecture
with language legacy transformation and architectural refactoring.
Antti Karanta and Robert Brotherus, Napa.
Presentation slides 1, slides 2, slides 3
2:30pm Technical debt: from metaphor to theory and practice.
Philippe Kruchten, UBC.
Presentation slides
3:30pm Coffee break
4:00pm Open discussion and wrap-up.
Hannu Kokko, Nokia. Juha Savolainen, Danfoss.
5:00pm End

More information

Below there is background information on presentations and presenters.

Renewal of Napa software GUI technologies and architecture with language legacy transformation and architectural refactoring

Antti Karanta, Robert Brotherus, Napa, Finland

Presentation slides 1, slides 2, slides 3
Napa is a world leading software house supplying the marine industry with environmentally friendly solutions for ship design and operation. NAPA’s goal is to maximize safety and efficiency in the marine industry. The core competencies are based on in-depth understanding of 3D product modelling technologies and naval architectural analyses. From the very outset, NAPA has been committed to making 3D product modelling a standard in the ship design industry.

Antti Karanta (M.Sc. Technical Physics) is a software developer / architect at Napa Ltd. In addition to software development he has for over a decade also lectured and taught both in the academia and the industry. In addition to software architectures Antti has strong interest in different programming languages and paradigms and the different ways to think about designing and implementing software systems.

Robert J. Brotherus is software developer/architect with 15 years of experience in development of scientific/ technical software in the academia and industry. He has Ph. Lic. in Computational Chemistry from University of Helsinki laboratory of Physical Chemistry. After moving to industry year 2000 he has worked at in GUI/data-analysis related projects Thermo Scientific, Nokia Research Center and Napa Technology Unit. His present responsibilities include transformation of Napa software legacy GUI codebase to modern GUI-frameworks and languages and architectural maintenance of legacy Fortran codebase. His current interests include GUI architectures, automatic language conversion, metaprogramming and functional programming.

Technical debt: from metaphor to theory and practice

Philippe Kruchten, UBC, Canada

The notion of Technical Debt (TD) in software development was introduced in 1992 by W. Cunningham, and since then refined and expanded, notably by S. McConnell in his taxonomy, Martin Fowler with his 4 quadrants, J. Highsmith and I. Gat etc. As a convenient metaphor to expose many ills of software development, technical debt has received lately a lot of attention from the agile community. As a result of its success as a rhetorical concept, the notion of debt becomes somewhat diluted. Is a visible bug or defect really a kind of technical debt? Are code smells technical debt? Is a new requirement, a new function or feature  not yet implemented requirement debt? Is debt only about bad low quality code? How about architectural debt, incurred inadvertently, just because of the passing of time? Can’t we just walk away from the debt? In this presentation, I will organize the technical debt landscape, reconciling it with the notions of changes, improvement and evolution, and propose that economic theoretical models, such as Net Present Value, Total Cost of Ownership, Opportunity Cost, or Real Options Analysis can constitute the framework needed to reason about technical debt.

Philippe Kruchten is a professor of software engineering in the department of electrical and computer engineering of the University of British Columbia, in Vancouver, Canada. He joined UBC in 2004 after a 30+ year career in industry, where he worked mostly in with large software-intensive systems design, in the domains of telecommunication, defense, aerospace and transportation. Some of his experience is embodied in the Rational Unified Process (RUP) whose development he directed from 1995 till 2003, when Rational Software was bought by IBM. His current research interests are mostly in software architecture, and in particular architectural decisions and the decision process, as well as software engineering processes.

MongoDB, Redis and distributed architecture: experiences of a SaaS startup

Ville Lautanala, Flowdock, Finland

Presentation slides

Ville Lautanala is full-stack developer who has been writing increasingly rich web-applications for almost half of his life. He participated in the development of APIdock, a Ruby documentation site, and is now Lead Developer at Flowdock. Ruby is his programming language of choice, but there has been lapses in other languages. He also suffers from Lisp envy.

Flowdock is a group chat tool for startup teams. It integrates email, Twitter, version control systems, project management tools and others to your team’s persistent chat room. You can access Flowdock using a web browser, desktop client, mobile client or even an IRC client.

Pragmatic architecture management in agile software development projects

Max Packalen, Nitor Creations, Finland

Improvements in software development efficiency brought by agile development methods are obvious. Having their roots in product development agile methods as such seldom consider the specific challenges that enterprise system development projects encounter. Enterprise system development usually has lots of dependencies to things outside the actual project scope. One of the key dependencies is enterprise architecture. Leaving architectural decisions to agile teams to decide might give good ROI but could result in a fragmented architecture and high TCO. The challenge is to maintain the agility and speed when steering the architecture so that it both benefits from existing architectural assets as well as aligns with the enterprise level architecture goals.

The presentation highlights some pragmatic experiences from projects where Nitor Creations’ architects have been involved. Main questions addressed in the presentation are:

- How to manage requirements so that development teams can focus on development and not be impeded by architectural decision making?

- How to keep the architecture, infrastructure and technologies in such a shape that the TCO does not run out of hands?

- How to ensure that development work is staffed efficiently throughout the whole lifecycle of the system?

Max Packalen (M.Sc. Industrial Management) works as senior system architect at Nitor Creations. He has about 15 years of experience from working in various roles related to architecture and organizational development.

Nitor Creations Oy is a Finnish software company developing demanding e-service solutions to support our customers’ business operations. Core competencies of Nitor Creations are system and software architecture design and pragmatic agile development services. Founded in 2006, Nitor Creations is privately owned company with headquarters in Helsinki, Finland. The company has currently approximately 40 employees.