Presentation is loading. Please wait.

Presentation is loading. Please wait.

Talking About Concerns... James D. Herbsleb School of Computer Science Carnegie Mellon University.

Similar presentations


Presentation on theme: "Talking About Concerns... James D. Herbsleb School of Computer Science Carnegie Mellon University."— Presentation transcript:

1 Talking About Concerns... James D. Herbsleb School of Computer Science Carnegie Mellon University

2 What is Modularity? Thanks, Mary! Thanks, Dick!

3 Why Modularity? Software modularity does not matter... at all Except... To the extent it modularizes work Work modularity aids human understanding Work modularity simplifies coordinating people and teams

4 Parnas: Expected Benefits of Modularity Reduce need for coordination “separate groups would work on each module with little need for communication” Simplify comprehension “it should be possible to study the system one module at a time” These effects lower the cost of change “it should be possible to make drastic changes to one module without a need to change others” Parnas, D. L. On the Criteria to be Used in Decomposing Systems into Modules. Communications of the ACM, 15, 12 (1972), 1053-1058, p. 1054.

5 Vision... “a vivid mental image; ‘he had a vision of his own death’” * “an Explanation of Life Founded upon the Writings of Giraldus and upon Certain Doctrines Attributed to Kusta Ben Luka” * “a thought, concept, or object formed by the imagination” ** “direct mystical awareness of the supernatural“ ** *wordnetweb.princeton.edu/perl/webwn **Merriam-Webster Dictionary

6 6 Proportion of dependencies that cross-cut Number of language-based modularizing mechanisms 100% Cognition and coordination problems

7 7 Proportion of dependencies that cross-cut Number of language-based modularizing mechanisms 100% Cognition and coordination problems Traditional modularity

8 8 Proportion of dependencies that cross-cut Number of language-based modularizing mechanisms 100% Aspects Cognition and coordination problems

9 9 Proportion of dependencies that cross-cut Number of language-based modularizing mechanisms 100% ??? Cognition and coordination problems

10 10 Proportion of dependencies that cross-cut Number of language-based modularizing mechanisms 100% Cognition and coordination problems Traditional modularity Consensus view at Recife

11 11 Proportion of dependencies that cross-cut Number of language-based modularizing mechanisms 100% Cognition and coordination problems Aspects Consensus view at Recife

12 12 Proportion of dependencies that cross-cut Number of language-based modularizing mechanisms 100% Cognition and coordination problems My view (mildly exaggerated) Dystopian vision: Modularity alone will never fix the problem.

13 13 Approaching the Gray Area... Organizational design, work assignment, and tools set up to bring the right dependencies to the attention of the right people so they can act appropriately

14 14 Two Examples... Organizational design and work assignment –Lessons from feature-driven development Using information from the environment –Learning from human activity

15 15 Feature-Driven Development Unit of functionality in end-user terms Feature is the unit of development managed by a project Features tend to cut across traditional software entities Work often overseen by “feature manager” Developers associated with component, assigned to work on particular features

16 16 The Study Setting –Software for automotive navigation system –1195 features –32 months of activity –179 engineers in 13 teams –1.5 M LOC, 6789 source files, 107 architectural components –Organization had 5 years of prior experience with feature-driven development Architects prepare feature development specification

17 Odds Ratios from Regression Assessing Factors Driving Feature Integration Failures From Cataldo, M. & Herbsleb, J.D. (2011). Factors Leading to Integration Failures in Global Feature-Oriented Development: An Empirical Analysis. Proceedings, International Conference on Software Engineering (to appear). What Causes Integration Failure?

18 From Cataldo, M. & Herbsleb, J.D. (2011). Factors Leading to Integration Failures in Global Feature-Oriented Development: An Empirical Analysis. Proceedings, International Conference on Software Engineering (to appear). Ownership Matters!

19 Odds Ratios from Regression Assessing the Impact of Cross-Feature Interactions on Integration Failures From Cataldo, M. & Herbsleb, J.D. (2011). Factors Leading to Integration Failures in Global Feature-Oriented Development: An Empirical Analysis. Proceedings, International Conference on Software Engineering (to appear). Destructive Feature Interaction

20 From Cataldo, M. & Herbsleb, J.D. (2011). Factors Leading to Integration Failures in Global Feature-Oriented Development: An Empirical Analysis. Proceedings, International Conference on Software Engineering (to appear). Co-location Doesn’t Scale

21 Broader Lessons Organizational arrangements matter! Effects can be quite large Effects often are not commonsensical

22 Inferring Dependencies from Traces of Human Activity Prior work Use files changed together as measure of dependencies Can generate a measure of coordination requirements Validated in a number of settings Can we generalize from “files changed together” to “entities discussed together”?

23 A Brief Digression/Analogy

24 Text Analysis: Field Robotics Project Lunar X Prize competition

25

26 Text Analysis: Field Robotics Project Lunar X Prize competition No automatically collected version or change data Constantly shifting component boundaries and interfaces Can we use text analysis to derive dependencies?

27 Steps Collected data 25 all-hands meetings About 10,000 words each Developed code book 6 field robotics articles

28 Code Book

29 Steps Collected data 25 all-hands meetings About 10,000 words each Developed code book 6 field robotics articles Manual coding of decision discussions Tested inter-rater reliability QAP correlations.80

30 Text Pre-Processing

31 Steps Collected data 25 all-hands meetings About 10,000 words each Developed code book 6 field robotics articles Manual coding of decision discussions Tested inter-rater reliability QAP correlations.80 Created thesaurus

32 Link Identification Co-occurrence of terms Human coding: same decision Selected sliding window size Size 15 had best agreement with hand coding Threshold established QAP correlations comparable to human- human agreement (~.8) Sets of links based on topics

33 Optics External relations Structure Sensors Planning software Requirements Mission specific effectors Mobility effectors Perception software Communications Testing

34 Thermal Structure Power Mission specific effectors Thermal models Structural models Thermal system Prototype fabrication

35 Avionics Mission operations Mission-specific effectors Propulsion Power Thermal system Lander Launch vehicle Mobility effectors Perception software Shared/general computing Prototype fabrication Planning software Structure

36 Concluding Vision The gray area – work that cross-cuts language constructs – is here to stay Use organizational tactics Use computations over artifacts generated by development activities Explore new data sources, including documents and conversation Activities reveal knowledge Analysis can often make it actionable

37


Download ppt "Talking About Concerns... James D. Herbsleb School of Computer Science Carnegie Mellon University."

Similar presentations


Ads by Google