Workshop: Two shockingly recurring problems
Developing Software architectures is a demanding task that is usually quite rewarding (aka “fun”). The whole thing would be even better, if somebody told the development team what exact problem they are supposed to solve. In other words: Teams urgently need better requirements as the basis of their development work. In our 20+ years of architecture and development experience, we consistently encountered teams around the world to complain about missing, incomplete or contradicting requirements. Our brief and fast-paced tutorial summarizes some important and pragmatic approaches that architects and development teams can follow to improve their requirements. It starts with better stakeholder management, more efficient overview, elegant formulation of functional requirements and, last not least, a pragmatic approach to handling quality requirements. Which leads to the second recurring issue: The existing systems which most of us regularly work on often carry a load of technical and organizational debt. In other words: These existing systems are in serious need of improvements, to become maintainable and future-proof. But how to start? Management does not listen to your pleas and demands more features. Small refactorings don’t solve the root causes of evil problems. That’s where systematic architecture improvement comes into play: A pragmatic and simple approach to methodically adress all kinds of problems, technical and organizational. In our workshop we demonstrate the fundamental techniques and methods for architecture improvement, technology-agnostic and applicable to all kinds of development projects. In addition we show how to successfully sell these ideas to your management. Be prepared for pragmatic advice from the dynamic duo (Peter+Gernot), with their combined experience from various domains, industries and technologies. AGENDA * Introduction: Two recurring problems Peter + Gernot introduce the culprits - namely bad or missing requirements and the ever growing pile of technical and organizational debt within systems. * Part 1: Improving your requirements Learn about a few pragmatic approaches to support your product owners, requirements engineers or business analysts, so you can come up with better and more usable requirements. We propose active and iterative collaboration between roles, and the majority of requirements work shall still reside with PO et al, but as architects and development team, you should invest in certain crucial parts - namely context and scope, understanding stakeholder needs, different granularities of functional requirements, a solid understanding of business terminology and finally quality requirements. * Part 2: Improving your system How to get rid of this huge pile of known (and partially unknown) problems within your system? How to convince management of refactoring, restructuring and technology updates, when PO and management usually demand features instead of internal quality? In the second part of our tutorial we present a broad approach to architecture and system analysis and evaluation. We amend this by proven ideas to explain these problems (and their solutions) to management and other critical stakeholders, leading the way to methodical system improvement. Some case studies show these approaches successfully applied to real-life. PREREQUISITES * Experience in practical software and system development, motivation to accept pragmatic ideas for improving your development practices. * We will show practical examples, and conduct some brief exercises throughout the tutorial, based upon a shared whiteboard. A modern browser (Chrome, Firefox) is needed to participate in the exercises.
- 09:00 - 12:30
- Online Event
- iSAQB Software Architecture Gathering – Digital 2022