Software has been around since the 1940s. Which means that people have been faking their way through meetings about software, and the code that builds it, for generations. Now that software lives in our pockets, runs our cars and homes, and dominates our waking lives, ignorance is no longer acceptable. The world belongs to people who code. Those who don’t understand will be left behind.
This issue comprises a single story devoted to demystifying code and the culture of the people who make it. There’s some technical language along with a few pretty basic mathematical concepts. There are also lots of solid jokes and lasting insights. It may take a few hours to read, but that’s a small price to pay for adding decades to your career.
How to Analyze and Visualize a Large, Interconnected Software System: A Study of Fedora 20 with Lessons for All by Dan Sturtevant, PhD., and Dave Allan
Presented on January 26th, 2015 – YouTube video of presentation available here, presentation slides here
When working inside a system of enormous scale, people often understand only the part with which they are involved. As long as the whole system is sufficiently modular, people tend to believe they can construct reasonably reliable mental models of their component and how it interfaces with others. However, this is not always safe; research shows that hidden structures can interconnect components of a complex system at higher levels, causing organizational problems that are difficult to see, understand, and address.
Fedora 20 is composed of more than 2,500 interconnected software packages developed and managed by globally distributed teams. Estimates have placed the number of software developers who have contributed at over 100,000. In this webinar, Daniel Sturtevant and David Allan will present research that addresses the architectural complexity of the Fedora Linux operating system and software collection. They discuss:
1) How to visualize the system at multiple levels (including the view from 60,000 feet) and gain meaningful insights about its hidden structure,
2) How to benchmark across the system to better understand its composition and variations in complexity and quality, and
3) How this approach might be applied to other software systems.
Contact the Authors:
- Dan Sturtevant, CEO of Silverthread Inc. and Researcher at Harvard Business School
- Dave Allan, Director of Software Engineering Silverthread Inc.
Evolution of the Firefox Codebase presents a set of metrics for all releases of Firefox that are indicative of quality and allows one to inspect them through one of several views. By looking at changes in these metrics, one can see the evolution of the Firefox codebase over time.
Professors Alan MacCormack and Carliss Baldwin describe complexity analysis methods in this Harvard Business School working paper, “Hidden Structure: Using Network Methods to Map System Architecture.”
Find out where the technical debt lives in your codebase with our free online tool. Developed by systems engineers and researchers at MIT and Harvard, Code MRI provides a snapshot of your code. You’ll get insight into bugs and spaghetti code ”furballs” quickly and easily.
In this webinar, Dan Sturtevant talks about measuring architectural complexity across a large commercial software codebase as well as the different risks incurred by the firm that developed and maintained it.