Andrew Latham

My evil list of how to win!

  • No authentication required internally to read-only see the status and flow of a product - linkable steps any boss, support or manager can follow
  • Defined roles for gating products. Not named persons for gating.
  • Full or part time documentation curator. Great entry level position for person separate from the development or operations process.
  • Style Guides, Unit Testing, and Coverage reporting. Don't test everything, just most things!
  • Topic centric meetings with recorder (maybe the documentation curator)
  • Encourage failure disclosure, discourage boasting.
  • In project/agile user stories/etc use standard verb namespacing. Overly vague incomplete example:
    • Design widget requirements
    • Review widget requirements
    • Design widget solutions
    • Select widget solution
    • Define widget interfaces
    • Develop widget component A-Z
    • Validate widget meeting requirements
    • Define QA process
    • Define Release process
    • Release to QA
    • etc...
  • Document the product. Linking to the product source code is not a horrible idea to start documentation.
  • Iterate - work on bite sized items and keep moving forward while validating against the requirements at every step.
    • Validation is a process to mitigate project drift and accidentally report success. Do not reverse this idea.
  • Make it known that the functional deliverable is the product, reports that everything is awesome are not the product.
    • Management and or micromanagement is a distraction. Create clear communication that asymmetrical information is not useful for success.
  • Do not allow tools to decide workflow.
    • Tools can be replaces but workflow is hard to develop. Value the agreed workflow more than a tool
  • Morning pleasantries - Discuss life, food, sports, whatever prior to any issue, get a feeling for the day.
    • Call it morning pleasantries, really do...
    • A person's relative could have passed away over the night, never assume, be human
  • Standups have little value when roles are clear. Dispersed teams are impacted by standups
    • Decide if the roles are accurate and projects/jobs are defined.

TL;DR; Enable for humans.

Andrew Latham

Developers on various platforms can often unknowingly introduce encoding issues on files. Here is a solution to one problem.

Simple one liner to remove all ^M line returns from files in a directory. I use this on an Open Source project I work on mainly for PHP files. Type "CTRL v" then "CTRL m" to get the system ^M char. The character will not copy and paste. The filter for SVN is optional and insert CVS or git for your SCM of choice.

grep -IUrl "^M" * | grep -v svn | xargs sed -i 's/^M$//' Easy! Search the directory recursively. Filter out the SVN files. Run SED against the files in the list.