Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Tools & Preparations

90 views

Published on

A brief contemplation on steps taken prior to actual task, the pattern of success and failures and some hints on getting it right.

Published in: Software
  • Be the first to comment

Tools & Preparations

  1. 1. Tools & Preparations The Good, The Bad and The Ugly Ali Sattari, CoderConf 95
  2. 2. Tools as enablers ➔ Part of our everyday tasks ➔ Indicator of experience ➔ Not often readily available 2
  3. 3. Preparation Situations we find ourselves in need of preparation ➔ New project ➔ New workstation ➔ New job ➔ New environment 3
  4. 4. Selection Criteria How should tools be chosen? ➔ Simple, short term, one man job ➔ Complex, long term, team based job 4
  5. 5. Two Phenomena ➔ Axe Sharpening ➔ Yak Shaving 5
  6. 6. Axe Sharpening Definition & Origin “Give me six hours to chop down a tree and I will spend the first four sharpening the axe.” ― Abraham Lincoln 6
  7. 7. Axe Sharpening ➔ Directly related to task ➔ Exhaustive list of items ➔ Results are reusable ➔ Reduces execution time Signs & Symptoms 7
  8. 8. Axe Sharpening ➔ Setting up the IDE ➔ Setting up the version control ➔ Setting up the environment ➔ Looking for libraries Examples in software development 8
  9. 9. Yak Shaving What you are doing when you're doing some stupid, fiddly little task that bears no obvious relationship to what you're supposed to be working on, but yet a chain of twelve causal relations links what you're doing to the original meta-task. ― Jeremy H. Brown Definition & Origin 9
  10. 10. Yak Shaving ➔ No direct relation to task ➔ Non-exhaustive list of items, no clear roadmap ➔ Issues getting added up on the way Signs & Symptoms 10
  11. 11. Yak Shaving 1. Need a helper script 2. It requires latest lib_xyz 3. But some other package depend on lib_xyz 4. You start updating the packages and end up with new kernel 5. VGA acts up on new kernel 6. Need to compile driver 7. Source code is restricted 8. ... Example 11
  12. 12. ➔ Am I axe sharpening or yak shaving? ➔ Am I picking right, necessary tools or doing an overkill? Key Questions To know which is which! 12
  13. 13. ➔ Project objectives ➔ Project scope and lifetime ➔ Project constraints and resources ➔ Experience in subject ➔ Roadmap with clear milestones Systematic Approach Because it works! 13
  14. 14. ➔ Feedback loop ➔ Yak shaving for learning and exploration Side Notes For newbies! 14
  15. 15. Thank You! Ali Sattari, CoderConf 95

×