The nature of software engineering is changing. Whereas building systems was the predominant activity, more recently the focus has shifted toward composing systems from open-source, commercial and proprietary components and to only build the functionality that truly is competitively differentiating. In addition, the way software is developed has changed as well, especially focusing on short development cycles and frequent, or even continuous, deployment. Because of these requirements, often teams are organized around features, rather than components, and can change all components in the system, including their interfaces. A third trend is the increasing adoption of software ecosystems, where significant development of functionality relevant for customers occurs outside the platform organization. Obviously, however, the quality attributes that are necessary for system success remain important as well as the ability to easily incorporate new requirements in the system in a cost effective fashion. Because of the above, the role of software architecture and in particular the software architects is more important in this new world, but there is significant evolution in the implementation of the role. The talk starts by characterizing the new approach to software engineering and the role of compositionality. It then explores the implications for software architecture and the role of the software architect, Finally, it defines a number of research challenges for the ECSA community to explore.
Jan Bosch is VP, Engineering Process at Intuit Inc. Earlier, he was head of the Software and Application Technologies Laboratory at Nokia Research Center, Finland. Before joining Nokia, he headed the software engineering research group at the University of Groningen, The Netherlands, where he holds a professorship in software engineering. He received a MSc degree from the University of Twente, The Netherlands, and a PhD degree from Lund University, Sweden. His research activities include compositional software engineering, software architecture design, software product families and software variability management. He is the author of a book "Design and Use of Software Architectures: Adopting and Evolving a Product Line Approach" published by Pearson Education (Addison-Wesley & ACM Press), (co-)editor of several books and volumes in, among others, the Springer LNCS series and (co-)author of a significant number of research articles. He is editor for Science of Computer Programming, has been guest editor for journal issues, chaired several conferences as general and program chair, served on many program committees and organized numerous workshops.
As a consultant, as a professor and as an employee, Jan has worked with and for many companies on strategic reuse in general and software product lines specifically, including Philips, Thales Naval Netherlands, Robert Bosch GmbH, Siemens, Nokia, Ericsson, Tellabs, Avaya, Tieto Enator and Det Norska Veritas. Around software product lines, he has published on, advised and implemented specific techniques and methods around, among others, software architecture, software variability management, the link to business strategy, organizational models, assessment frameworks, adoption frameworks and quality attributes. More information about his background can be found at his website: www.janbosch.com.
When not working, Jan divides his time between his family, a spouse and three young boys, reading science fiction and sports, preferably long distance running, swimming, biking and horseback riding.
Title: Where did all this good architectural knowledge go?
Organizations developing large software intensive software have slowly realized that software architecture represents a significant intellectual asset. But as Rus & Lindvall stated, "the major problem with intellectual capital is that it has legs and walks home every day." Much of the architectural knowledge we have still resides mostly in peoples' head. Different parties involved in software development have different needs in terms of architecture at different point in time, not limited to the architects themselves. How can we deliver the right information at the right time to the right person, as schedules are compressed? And where wold the information be coming from? And how good is it? Various strategies have been tried, from central, bureaucratic accumulation of data--codification strategies, to simply giving access to the right person--personalization strategies, and a few hybrid strategies in between. The problem is getting more complicated as we move to product lines and software eco-systems, involving many more parties, across multiple organizational boundaries. We are still far from an ideal solution; the tools and processes that we have proposed are difficult to scale up, and to transfer to practitioners. The talk will describe the state of the practice, and give some pointers to the road ahead.
Philippe Kruchten is 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, defence, aerospace and transportation. Some of his experience is embodied in the Rational Unified Process (RUP) whose development he directed from 1996 until 2003, when Rational Software was bought by IBM. RUP includes an architectural design method, known as “RUP 4+1 views”. His current research interests still reside mostly with software architecture, and in particular architectural decisions and the decision process, as well as agile software engineering processes. He is a founding member of IFIP WG2.10-Software Architecture. Kruchten received his mechanical engineering diploma from Ecole Centrale de Lyon, and his doctorate degree in Information Systems from Ecole Nationale Supérieure des Télécommunications in Paris. He is a member of IEEE, ACM and AIS, and a Professional Engineer in British Columbia.
Over the years we've seen many systems architecture approaches come and go as we've worked hard in IT to keep up with the pace of business change. While agile delivery methods have helped enormously on a project-by-project basis, enterprise system portfolios remain notoriously resistant to change. Although we've seen significant progress in the way we analyse and govern enterprise systems through business-aligned SOA, the technology choices we make all too often undermine those efforts. But for almost two decades the enterprise architecture most of us have dreamed of has been sitting in plain sight. The Web has become the world's foremost example of a scalable, resilient, and loosely-coupled system of systems, which are precisely the characteristics we want in enterprise solutions. In contrast the Web wins out by avoiding inappropriate technology choices, which bow to vendor pressure over business imperatives, while delivering all of the "ilities" that we demand from enterprise-grade systems. Not only is the Web more than a match for traditional middleware from a technology perspective, but from a cost perspective too. This talk will also address financial and risk in software architecture using case studies from recent projects.
Jim Webber is director of professional services for ThoughtWorks where he works on dependable distributed systems architecture for clients worldwide. Jim was formerly a senior researcher with the UK E-Science programme where he developed strategies for aligning Grid computing with Web Services practices and architectural patterns for dependable Service-Oriented computing and has extensive Web and Web Services architecture and development experience. As an architect with Hewlett-Packard, and later Arjuna Technologies, Jim was the lead developer on the industry's first Web Services Transaction solution. Jim is an active speaker and is invited to speak regularly at conferences across the globe. He is an active author and in addition to "Developing Enterprise Web Services - An Architect's Guide" he is working on a new book on Web-based integration. Jim holds a B.Sc. in Computing Science and Ph.D. in Parallel Computing both from the University of Newcastle upon Tyne. His blog is located at http://jim.webber.name.