Brainstorming




Brainstorming

  • General
    • Software development is a creative activity, and is not easy (SC)
    • Its science and art
    • Balance Forces
    • Pursue Elegance and Beauty

  • Creating Passion (CPU)
    • Curiosity, Learning, Playing - brain drugs
    • I Rule, Kick Ass

  • You (or target developers)
    • Learning as a habit (PP)
    • Communication Ability (PP, Agile)
    • Want to improve
    • Accountability, Take Responsibility
    • Honesty, Transparency
    • take Risks, Courage (CPU, XP)
    • Enabling (CPU)
    • NO Guilt, Fear, I suck
    • Be proud of what you achieved (FC,PP,XP)
    • Provide Options, No Excuses (PP)
    • Be professional
    • Commit to Change, Improvement
    • Ask for Help
    • Always try your best

  • Work
    • Love what you're doing
    • Your work should be valueable, deliver business value
    • Focus on the most important
    • Mind and Brain in sync (CPU), State of Mind (MFAS)
    • Flow (CPU)
    • Whom do you improve for?
    • Don't multitask (Lean)
    • Have FUN (CPU)
    • redefine problems, simplify (PG)
    • Question Assumptions, Measure
    • No Overtime (XP)
    • No broken windows (PP)
    • Build Quality in (Lean,PP)
    • No final decisions (PP), defer (irreversible) decisions to the last responsible moment (Agile)
    • Prototype
    • the domain is most important (Agile)
    • Iterate, Feedback
    • don't work by coincidence (PP)
    • Estimation
    • Understand your users, domain
    • Pair to learn, transfer knowledge, reflect and review
    • Pay attention to what you're doing while you're doing it (MFAS)
    • Think! about your work (PP)
    • concrete, specific, challenging goals (FLOW, SCO)
      • applied use of stuff, goals reached

  • People / Community
    • Kindred Spirits (SC: A2J), Social Networks
    • Share (Team, User Groups, Presentations, Conferences, Open Source)
    • Mentoring and Coaching, Mastery
    • don't do it alone (PI, procrastination)

  • Team
    • Leave no one behind
    • Work together, help out
    • Self Management
    • Cataclyst for Change (PP)
    • Assume positive intent
    • No blame but solutions
    • Make improvement a team issue, improve as a team
    • Small (around 8), Energetic
    • Gather current status - interviews, surveys (SCO)

  • Learning
    • Everydays Practice, Contiuous Improvement
    • Create short Feedback cycles
    • Small Steps (FC
    • Celebrate Success (FC
    • Fail Fast (PP), Learn From Failure, Criticism
    • Initial Momentum
    • Balance between Challenge and Ability (CPU)
    • Brain Crap Filter (CPU)
    • Don't start at the beginning (CPU) but with real world stuff that matters (PG) vs. breakable toys (SC:A2J)
    • Be positive about success and failures
    • Reflect critically on what you learn (PP)
    • Learn from the best: read and reflect on code, articles, books by masters
    • one size does not fit all (BP:Dan North)
    • Record what you learn (SC:A2J), Write Annotations (small essays on craft elements) while/after working (MFAS)
    • work on software by others (Maintenance, OpenSource) and learn from that (good + bad)
    • Empower people to learn instead of teaching (SC:A2J)
    • Create a library (PP,SC,SCO)
    • Learning opportunity in the middle of the week (Slack + apply the new stuff) (SC)
    • Central repository (SCO)
      • Books + reviews
      • Tooles and shared Code repository (like sf.net)
    • Teasers (one page flyers) (SCO)
    • XXX of the week (code smell, pattern, refactoring) (SCO)
    • Testing on the toilet, water dispenser (GG)
    • (de)motivational Posters (jexp)
    • lightning talks, presentations
    • coders dojo, code kata, practice (PP)
    • on team mentoring, xxx mercenaries, traveling journeymen

  • Environment
    • Slack (Lean,SC,GG) 10-20% of slack time
    • Positive Environment
    • Enable Thinking
    • Controlled Disturbance
    • Have context available (PG, Agile), Big Picture (PP)
    • colocated information (SCO)
    • blue hour (jexp)
    • vary locations
    • open spaces, workshops
    • bogetta (X10)
      • todo from dave west paper

  • Change of Attitute / Make your message have an impact
    • learn your lessons from family therapy
    • establish routines
    • what would you have done to you ...
    • its amount communication and working together
    • how do I profit from these changes

    • Tipping Point Takeaways (TP)
      • People (Connectors, Salesmen, Mavens)
      • Stickiness of message
      • Power of Context ()
    • Learn from Invention (MOF)
      • Factors for success
      • Adaption problems

  • Tools
    • Know your tools (PP), editor, IDE, CI, Testing, Metrics, Source Control, Libraries
    • Write your own (PG)
    • Help to overcome challenge (CPU)
    • Textual languages, DSLs
    • use the best tools available (ToolsMatter(tm)

  • Way to go
    • Long Road (SC:A2J)
    • Where am I now (CPU)
    • Keep involved and engaged (CPU)
    • Story writers approach "hero's journey (MonoMyth" (CPU) (http://en.wikipedia.org/wiki/Monomyth)
    • PULL instead of push
    • Insist on developers with the targeted abilities and skills (craftspeople) (SC)
    • Qualify by demonstrating your skills
  • Coding
    • create habitable code
    • Style of Programming (Beck: IP) communication, simplicity, flexibility (see Elements of Style: Alexander)
    • Programming is like writing (IP,PG,Knuth)
    • DRY (PP)
    • Easy to reuse (PP)
    • Low Coupling, High Cohesion
    • Tracer Bullets (PP), Spikes
    • defensive programming (PP), assertions, contracts, exceptions for exceptional
    • Abstraction in Code, Details in Metadata
    • concurrent programming
    • separation of concerns
    • Test - Code - Refactor
    • Have Code that plays by the rules even if they are not enforced
    • If you see something good, leave it alone (Linda Rising)
    • recognize, reward participation
    • reward personal improvement like you would created business value

Success??

  • Measure - from continous buiild, from personal experiences and recommendation
  • how did the "reputation" change
  • visualize
  • 360 deg reviews (peer reviews)

Problems

  • Learned conservativism (at large companies) ? (PG)

Events

  • craftsmanship day
      • like mini conference
  • conferences
  • geek cruise


Legend
  • CPU: Creating Passionate Users
  • PG: Paul Graham
  • SC:A2J : Software Craftsmanship: From Apprentice to Journeyman
  • Lean: Lean Software Development
  • PP: Pragmatic Programmer
  • XP: Extreme Programming
  • IP: Implementation Patterns
  • JOS: Joel on Software
  • FC: Fearless Change
  • MFAS: Master of Fine Arts in Software: Dick Gabriel
  • SC: Software Craftsmanship: Pete McBreen?
  • MOF: Myths of innovation
  • TP: Tipping Point
  • SC: Software Craftsmanship
  • CC: Code Craft
  • SCO: Software Craftsmanship in Organisations (Dillman)

Created by: MichaelHunger last modification: Saturday 04 of October, 2008 [01:03:43 UTC] by MichaelHunger

Menu