Tracks of OOP 2020
An independent advisory board selects the lectures with reviewers after thorough examination and decides which speakers and topics are to be included in the programme of the OOP:
Software Architecture Maintenance and Evolution
Software Architecture results from of a sequence of architectural decisions. It is a common misconception that this process ends with system release. Instead, systems require continuous maintenance and evolution during their lifetime which amounts to 70-80% of overall costs. Unsystematic approaches to maintenance and evolution are harmful. This especially holds for system families, ecosystems, and for re-use in the small (e.g. microservices, APIs, libraries, frameworks).
Objective of the track is to illustrate how software architects can address this challenge systematically in their design activities. Sessions comprise best practices, methods, processes and tools for understanding, evaluating, extending and maintaining software systems. They (may) also explain the benefits of DevOps in this context.
Modern Software Architecture – Known and Unknown
Software Architecture is the foundation for any software project. Constantly, development teams discover and try new kinds of architectures. This track covers well-known approaches, but is also open to any kind of new architecture. Keeping this in mind we are discussing the following topics:
- Agile architecture
- Structured Monoliths
- Self-contained Systems
Agile going Enterprise Architecture? Or vice versa?
It has been a dominant question if it comes to Enterprise Architecture, whether it can become “agile”. Agile methods have their roots in single, comparably small projects. They do not have their roots in large scale enterprise programs. Methods round scaled agile yet have to prove that they can deliver long term sustainable enterprise architectures. At the same time Enterprise Architects are confronted with accusations that they are inhabitants of the famous ivory tower.
This track comprises sessions on Enterprise Architecture that deal with tradeoffs that arise from the simultaneous need for sustainability and enterprise agility at the same time. Invited Topics:
- EAM for Agile Enterprise
- EAM at Speed
- Agile and Lean EAM
- Business Architecture for Agile Enterprise
- The changing job of the Enterprise Architect in agile times
- Techie, Entrepreneur or both?: Who’s the ideal Enterprise Architect
Product Discovery, Innovation & User Experience
An expedition Into the Unknown comes with chances, but also with surprises and risks. Which problems do we want to solve for our future, how does a future worth living look like and how can products, services and systems contribute to that future?The track “Product Discovery, Innovation and User Experience” concentrates on the question how we can smartly invest in product and business development. The early validation of ideas is as important as sustainability in the whole product life cycle.Therefore we are looking for case studies, methods and ideas to face these challenges, for example:
- Design Thinking and Lean Startup
- UX/UI/ Customer Centricity
- Digital Design, Digital Transformation
- Prototyping and Experiments
- Product Discovery and Product Design
- Innovation and Business Model Generation
Testing & Quality
Effective and efficient software and system development requires superior test approaches in place and a strong commitment to quality. To determine the right mix of test methods and quality measures is no easy task in real project life due to increasing demand for reliability of systems, cost efficiency, and market needs on speed, flexibility, and sustainability.
Therefore the T&Q-Track@OOP2020 provides practical guidance how to address these challenges in the area of testing and quality and presents professional testing as a lever to explore into the unknown. Experts from different domains present new directions in the field explain approved strategies and practices, and share valuable project experiences how to make it happen. Sample topics (but not limited to):
- Test strategies ready to explore into the unknown
- Flexible test automation and test architectures well prepared for new directions
- Digitalization of testing: cloud testing, mobile testing, big data testing, IoT testing
- Continuous Testing @ DevOps
- Testing of systems with artificial intelligence (AI) and machine learning
- Testing non-functional requirements
- Effectiveness, efficiency, and sustainability of innovative test approaches
- Defect prevention by innovative testing
- Social and ethical responsibility of testing
- Of particular interest are case studies, success stories, innovations, and practical lessons that attendees will be able to apply in their projects.
Into the unknown - a perfect challenge for the social beings we humans are :-) Given relationships are the only things we can rely on in times where everything changes. That’s how we evolved this way! Unfortunately, as engineers, we have a tendency to nurture our relationships less than other systems we work on. Integration, in the words of neurobiologist Dan Siegel, means “honoring differences, promoting linkages”. As engineers we’ve applied this successfully to systems and software … making it automatic and continuous. Now we want to focus on integrating social and technical systems, our organizations with our customers, or our business with our IT.
In this track we’re looking for sessions which integrate different aspects of our software-creating systems. We want to combine our expertise in the domains of people, process and product and bring ideas together in new and inspiring ways, such as:
- Integrating human behavior and software use
- Integrating organization and software design (Conway’s law applied)
- Integrating People/Process, Product/Process, People/Process
- Integrating User/Customer/Business/IT/… - integrating silos in minds, org structures and software.
This track is looking for weird, personal and possibly not quite fitting lectures; with topics that inspire listeners to think in new directions. Contributions that connect technology and us, as human and future society.Keywords marking this connection are: art, communication, people from I to we, trust, carbondioxide, wealth, global intelligence, enterprises, hope, ...
Modern Programming & C++17/C++20
As software developers and system architects we are required to know many different things yet, the foundation is still programming. And in the last years many things have changed about programming: new programming languages, new paradigms, more and more parallelization, and even more powerful tools.
This track focuses on development. We look for sessions that report, document or compare interesting, remarkable, or helpful things about programming in general as well as about new and established programming languages (in particular C++). We prefer sessions based on practical experiences. The following topics will be discussed amongst others:
- Modern programming paradigms (functional programming, concurrency, …)
- Modern programming languages like D, Dart, Go, Kotlin, R, Rust, Swift, …
- Modern C++, C++17, C++20
- Comparisons of programming languages and –paradigms
- Modern programming tooling (no product placements)
Architecting Web Apps for Humans
Web applications have become and remain the default user interface for most applications today, despite having been declared dead a number of times. While the technology used to build web apps has moved on, some fundamental principles remain. In this track, we’ll take a look at the state of the art of building great modern applications on the web. How can we make applications accessible, secure, evolvable, stable – while still being fun to use? When we build them, how do we strike the right balance between shiny new things and foundational patterns? What new techniques, technologies, standards and best practices have been found to work best – and for which kinds of applications?
- User experience, user interface, and design intersections and interactions
- Accessibility, Security, Privacy in web apps
- Single-page apps, server-side rendering, and mixed models
- New and emerging browser standards
- Long-term maintainability for web front-ends
Applying an Agile framework on team-level and implementing an Agile scaling framework do not help to act agile on the enterprise level. This track dives deep into real Business Agility. What is Business Agility and what is necessary to create an Agile Enterprise? Is there a way of a soft transition or is a radical transformation mandatory?
In this track we want to show and discuss conceptual approaches as well as case studies. Topics include:
- Business Agility Approaches
- Agile beyond teams
- Agile beyond scaling
- Radical transformation of existing organizations
DevOps and Continuous Everything
The term "DevOps" popped up in 2009. In the following years it yielded many tools, methods, practices. Probably the most significant contribution of DevOps, though, was a different idea of how development, quality assurance and operations should collaborate.
10 years later we’ll be taking a look at the current state of DevOps, technical and cultural challenges and possible solutions.
- Cultural Transformation / Overcoming the silos
- Infrastructure as Code
- Continuous Integration/Delivery/Deployment
- Containerization & Orchestration
- DevSecOps & Automated Security
- Self-service Infrastructure
- AI/Machine learning for Ops