We tend to mistake organizational problems for technical issues. (In fact, almost every technical issue is a consequence of organizational issues.) Rather than treating the symptoms of technical issues, we should focus more on the real cause of our problems: organizational effectiveness.
Manny Lehman stated in his renowned 1974 paper on the laws of software evolution, “Software needs to be adapted in order to stay relevant.” Not a lot has changed since then. The same goes for organizations. If you want to realize a successful digital transformation, you’ll have to be adaptable as an organization. Effective collaboration is crucial in this process, including the way you work. How you work together depends on what phase your product is in. Adopting a way of working “just because it’s the new standard” is not a good idea. You have to determine what way of working is most effective both for your team and the system you are building.
Instead of mainly focusing on the quality of the system, we should also put a strong emphasis on the quality of “the system of work”—the people building the system. Great architectures are not just about software but also about the people that create it. Traces of how people collaborate during the creation of software systems are captured in various data sources like version control history, source code, and ticketing systems. Analyzing these data sources can provide valuable insights and input for your architectural strategy.
Pepijn van de Kamp and Luc Brandts discuss the main factors that influence organizational and collaboration effectiveness and explore techniques that provide insights into these factors based on social and behavior data.
Pepijn van de Kamp is a consulting software engineering expert at SIG who helps international clients in the financial, utilities, and public domain build and govern high-quality software portfolios. Pepijn specializes in software metrics, architecture analysis, domain-driven design, and automated testing strategies and has a deep understanding of the software quality models applied by international software consultancy firms and tool vendors. His goal is to help the software industry benefit from current software engineering research.
Luc Brandts is chief technology officer at Software Improvement Group (SIG). Previously, he founded and served as CTO at BWise, a leading software vendor in risk management and compliance technology (now part of Nasdaq). An experienced entrepreneur, Luc has held investment and board positions in a number of tech companies throughout his career, helping them to become market leaders in their respective industries.
©2019, O'Reilly Media, Inc. • (800) 889-8969 or (707) 827-7019 • Monday-Friday 7:30am-5pm PT • All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners. • email@example.com