Small Worlds and Structural Stability in largescale software - PowerPoint PPT Presentation

1 / 14
About This Presentation
Title:

Small Worlds and Structural Stability in largescale software

Description:

Small Worlds and Structural Stability. in large-scale software. Alex Iskold, President/CEO ... between the code change and some old piece of business logic, ... – PowerPoint PPT presentation

Number of Views:20
Avg rating:3.0/5.0
Slides: 15
Provided by: alex203
Category:

less

Transcript and Presenter's Notes

Title: Small Worlds and Structural Stability in largescale software


1
Small Worlds and Structural Stability in
large-scale software
Alex Iskold, President/CEO Information
Laboratory, Inc www.thesmallworlds.com www.inform
ationlaboratory.com
2
Software as a complex system
  • Modern software is a complex web of components
    and dependencies.
  •  

3
All systems start simple
  • but quickly grow and soon become difficult to
    manage, understand and modify.
  •  

Business Requirements
Unstable Unreliable Unpredictable
Business Requirements
Re-write
4
Typical System Life-Span
  •  

Cost
Complexity
Stability
Re-write
Time
5
Simple example 
6
More is different
7
Does this sound familiar?
  • 800 a.m.
  •  
  • Manager
  • John, I dont see the reports in the usual
    directory, what is going on?
  • Programmer
  • I am not so sure
  • Manager
  • Didnt we put new release into production last
    night?
  • Programmer
  • Yes, well, we did put in new code for database
    access, but I dont see how it can be related to
    the report generation module.
  • Let me investigate
  • 1100 a.m.
  •  
  • Manager
  • John, did you figure it out?
  • Programmer
  • Yes, we just found the problem.
  • I could not believe when I saw it. Apparently
    there was a dependency between the code change
    and some old piece of business logic, which then
    impacted two other module, which are used by the
    report generation code and so it broke

8
If you hear developers say
  • I am not so sure about what happened
  • We did not anticipate the impact of this
    change
  • I did not realize that this dependency was even
    there
  • This will take me long time to figure out

Unpredictable
Unreliable
Uncertain
Unstable

9
Small Worlds
  • Navigate
  • Analyze
  • Find Problems
  • Make changes

10
Navigate your software
  • See all dependencies
  • Local/Global Views
  • Make quick snapshots
  • Explore relationships
  • Zoom in on details
  • Use intelligent filtering
  • See dependency matrix
  • UML/Small World LF

11
Analyze your software
  • Compute stability
  • See Report
  • Study Charts
  • Look at Statistics
  • Circular dependencies
  • Heavy Components
  • Breakables/Butterflies
  • Group Analysis

12
Change your software
  • What is the best way to change a component?
  • What is the impact of the change?
  • What needs to be retested?
  • What has changed since last release?
  • What problematic code was recently added?

13
Key benefits of Small Worlds
  • Facilitates more stable corporate software
  • Reduces the cost of Software Development
  • Allows to choose Vendor with better solution
  • Reduces Learning Curve for new team members
  • Simplifies the Knowledge Transfer process
  • Helps maintenance and system improvement
  • Seamlessly integrates into development process
  • Reveals a lot without extra effort/time

14
Unreliable
Predictable
Understanding the issues of structural
complexity in the modern systems is necessary
for successful software risk and complexity
management.
Unstable
Certain
Uncertain
Stable
Unpredictable
Reliable
Write a Comment
User Comments (0)
About PowerShow.com