Permalink
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
123 lines (119 sloc) 6.4 KB

Principles and Rules

  • Principle of least priviledge - Requires that in a particular abstraction layer of a computing environment, every module (such as a process, a user, or a program, depending on the subject) must be able to access only the information and resources that are necessary for its legitimate purpose
  • Peter principle - The selection of a candidate for a position is based on the candidate's performance in their current role, rather than on abilities relevant to the intended role
    • Employees only stop being promoted once they can no longer perform effectively, and "managers rise to the level of their incompetence."
  • Pareto principle
    • 20% of the features will account for 80% of the value
    • 20% of the work will produce 80% of the value
  • Ninety/Ninety Rule
    • The first 90 percent of the code accounts for the first 90 percent of the development time. The remaining 10 percent of the code accounts for the other 90 percent of the development time. (180% of time)
  • SUCCESs - Made to stick principles
    • Simplicity
    • Unexpectedness
    • Concreteness
    • Credibility
    • Emotions
    • Stories
  • Build, measure, learn
    • Maximize learning through incremental and iterative engineering
    • Build relates to MVP, ie, the simplest product to show customers to get most learning at that time
    • Goal is always to maximize learning and not build fully featured beta/prototype
    • Lean startup version: hypothesis, design experiments, test, insight

Laws

  • Parkinson's law of triviality - Members of an organisation give disproportionate weight to trivial issues
  • Parkinson's law - Work expands so as to fill the time available for its completion
  • Brooks's law - Adding manpower to a late software project makes it later
  • Hofstadter's law - It always takes longer than you expect, even when you take into account Hofstadter's Law
  • Little's law - The long-term average number of customers in a stable system L is equal to the long-term average effective arrival rate, λ, multiplied by the (Palm‑)average time a customer spends in the system, W; or expressed algebraically: L = λW.

Quotes, Idioms, and Sayings

  • Nothing is more permanent than a temporary solution
  • The world doesn't need wrong answers in record time
  • Work on the business, not in the business
  • Fail to plan is to plan to fail
  • Silence equals agreement
  • Deliver results rather than excuses
  • Don't prove own importance by vetoing good ideas and road-blocking productive work
  • Accept total accountability and make it happen
  • When making decisions, slower ultimate success is better than rapid permanent failure
  • YAGNI (from XP) - You aren’t gonna need it
    • "Always implement things when you actually need them, never when you just foresee that you need them."
  • DTSTTCPW (from XP) - "do the simplest thing that could possibly work"
  • Skip blame and complain game and get things done despite major obstacles. Victim mentality is the kiss of death.
  • KISS - Keep it simple, stupid
  • A good plan implemented today is better than a perfect plan implemented tomorrow
  • MLP - minimum lovable product
  • A problem without a solution is a complaint
  • Working on the right thing is as—if not more important—than how hard you are working
  • You can’t have five North Stars, you can’t have five most important goals…
  • Prioritize goals that are ‘critical’ ahead of goals that are ‘beneficial

General terms, models, acronymns, and concepts

  • Priorities for business (in order)
    • People
    • Products
    • Profits
  • Iron triangle success
    • Build MVP based on perceived value and market research with associated scope and let that choose the time and resources required
  • GRIT
    • Generosity
    • Respect
    • Integrity
      • Accountability
    • Truth
  • Give credit, don't take it
  • The most effective way to solve any problem is to put together all of the people with the skills required to solve it, i.e., a cross-functional or multi-disciplinary team
  • A startup is a temporary organization designed to search for a repeatable and scalable business model
  • When people don’t take responsibility
    • Reputations decline
    • Timelines are extended
    • Performance falls short
    • Frustration shoots up
    • Goals are adapted
    • Accusation and blame escalates
    • Gossip soars. “What’s up with Fred? He never get’s things done on time.
    • Excuses abound. Irresponsible people give “good” reason for irresponsibility.
    • Higher ups complain
    • Stress increase
  • Curse of knowledge
    • The curse of knowledge is a cognitive bias that leads better-informed parties to find it extremely difficult to think about problems from the perspective of lesser-informed parties
    • Aka the ‘tapper effect’ (2.5% guessed right), charades, etc.
  • Maslow's Hierarchy of Needs
    • Self-actualization
    • Esteem
    • Love/belonging
    • Safety
    • Physiological
  • Analysis paralysis
    • The state of over- analyzing (or over-thinking) a situation so that a decision or action is never taken, in effect paralyzing the outcome
  • The paradox of choice
  • SMART model for goals
    • S – Specific
    • M – Measurable
    • A – Achievable
    • R – Relevant
    • T – Time-boxed
  • FURPS - Model for classifying software quality attributes
    • Functionality
    • Usability
    • Reliability
    • Performance
    • Supportability
  • AAARR metrics for pirates
    • Acquisition
    • Activation
    • Retention
    • Referrals
    • Revenue
  • MTMM - Metric that matters most
  • Problem space vs solution space
    • Problem space - user benefit
      • A customer problem, need, or benefit that the product should address
      • A product requirement
    • Solution space - product
      • A specific implementation to address the need or product requirement
  • INVEST - user story model
    • Independent: The user story should be self-contained, in a way that there is no inherent dependency on another user story.
    • Negotiable: User stories, up until they are part of an iteration, can always be changed and rewritten.
    • Valuable: A user story must deliver value to the end user.
    • Estimatable: You must always be able to estimate the size of a user story.
    • Small: User stories should not be so big as to become impossible to plan/task/prioritize with a certain level of certainty.
    • Testable: The user story or its related description must provide the necessary information to make test development possible.