Meta Kaizen Chatter

Amanda's Agile Manifesto Game

Doug And The Pomodoro Timer Productivity Technique

Chuck -- Developing Your Own Process for Checking in Code

Dane -- Posture and the Importance of Mobility

Aaron: Things I learned from The Pragmatic Programmer

The Quarry Worker's Creed

  • Some people feel that there is no room for individuality on large teams or complex projects.

    "Software construction is an engineering discipline," they say, "that breaks down if individual team members make decisions for themselves."

  • We who cut mere stones must always be envisioning cathedrals.

Building a knowledge Portfolio

1. Serious investors invest regularly—as a habit.

2. Diversification is the key to long-term success.

3.Smart investors balance their portfolios between conservative and high-risk,

high-reward investments.

4. Investors try to buy low and sell high for maximum return.

5. Portfolios should be reviewed and rebalanced periodically.

Portfolio Goals

  • Learn at least one new language every year.

  • Read a technical book each quarter.

  • Read nontechnical books, too. 

  • Take classes. Look for interesting courses at your local community college or

    university, or perhaps at the next trade show that comes to town.

  • Participate in local user groups. Don't just go and listen, but actively

    participate. Isolation can be deadly to your career; find out what people are working

    on outside of your company.

Kinds of Duplication

  • Imposed duplication. 

  • Inadvertent duplication. 

  • Impatient duplication. 

  • Interdeveloper duplication.

Orthagonality

  • orthogonal approach reduces the risks inherent in any development.

  • Diseased sections of code are isolated. If a module is sick, it is less likely to spread

    the symptoms around the rest of the system. It is also easier to slice it out and

    transplant in something new and healthy.

  • The resulting system is less fragile. Make small changes and fixes to a particular

    area, and any problems you generate will be restricted to that area.

  • An orthogonal system will probably be better tested, because it will be easier to

    design and run tests on its components.

  • You will not be as tightly tied to a particular vendor, product, or platform, because

    the interfaces to these third-party components will be isolated to smaller parts of the

    overall development.

Tracer Bullets

  • Users get to see something working early.

  • Developers build a structure to work in.

  • You have an integration platform. 

  • You have something to demonstrate. 

  • Tracer Bullets don't always hit their target

Prototypes

  • Not meant to be used, only to practice building

  • Allows you to ignore: Correctness, Completeness, Robustness, Style

Debugging

  • Rubber Ducking
  • Occams Razor
  • Do these conditions exist elsewhere
  • Develpoment is an Engineering discipline
  • Avoid Programming by Coincidence
  • Start a Refactor with bulletproof Unit Tests
  • Make it work, make it right, make it fast

Assorted Advice

  • Broken Windows
  • Boiling the Frog
  • Stone Soup

Useful Metaphors for the code base

Yell -- The Imposter Syndrome

Aaron -- Posture Correcting Exercises

Meta Kaizen Chatter

By qwertyisms

Meta Kaizen Chatter

  • 826