Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Improving Development Flow

Marc
October 10, 2013

Improving Development Flow

Overview of key elements, concepts and enthymemes that influence development flow.

Marc

October 10, 2013
Tweet

More Decks by Marc

Other Decks in Technology

Transcript

  1. PRESERVING DEVELOPMENT FLOW TIME REMAINING WORK PLANNED RELEASE FULL QUALITY

    RELEASE TECHNICAL DEBT Pressure applied RESULT On time, On budget CLAIM Productivity improved
  2. SOFTWARE METRICS SIZE Source Lines of Code - SLOC METHOD

    Test Code Coverage - TCC Cyclomatic Complexity - CC CLASS / MODULE Comment Percentage - CP Lack of Cohesion in Methods - LCOM Coupling Between Object Classes - CBO # Methods, Files, Classes &c.
  3. SIZE ARTIFACTS DEVELOPMENT RUNTIME Disk Memory Source code DEPLOYMENT Packages

    Network Feature creep Patchwork Automated tools Heavyweight frameworks Careless packaging FATTEN SOURCES
  4. M = E - N + 2P WHERE entry for

    loop exit CYCLOMATIC NUMBER E = # Edges N = # Nodes P = # Exit nodes
  5. M = 5 - 5 + 2 1 2 3

    4 5 CYCLOMATIC NUMBER 2 1 2 3 5 4
  6. TEST CODE COVERAGE COMPLIANCE LEVELS Test Effectiveness Ratio - TER

    Statement Control-flow branches Linear Code Sequence and Jump - LCSAJ TER1 TER2 TER3
  7. The most effectively modular system is the one for which

    the sum of functional relatedness between pairs of elements not in the same module is minimized; among other things, this tends to minimize the required number of intermodular connections and the amount of intermodular coupling. For each module in isolation, how tightly bound or related its internal elements are to one another. Edward Yourdon & Larry L. Constantine Structured Design “ COHESION
  8. EQUILIBRIUM Multi-level Quality & Planning Key abstractions Well defined boundaries

    Clean interactions SEMANTICS FOCUS Visualize project state Minimize time-boxing Avoid isolation Forget frameworks EMBODIMENT
  9. HAVE FUN HARD FUN SERIOUS FUN Challenge Mastery Accomplishment Purpose

    Focus Meaning S.M.A.R.T GOALS CELEBRATE CONTINUOUS REINFORCEMENT