Sunday, March 24, 2013

Startup funding ACID test

What does it takes to get a deal funded (Henry H Wang) -
1/ Team. have a team with the right skills, experience, and that gets along.
2/ Address a huge market. Addressing a small market is risky if you miss the perfect sweet spot.
3/ Technology. Your technology must be a barrier to entry either by difficulty or existing IP
4/ Customers - can hyou name anyone who would want your product?
5/ Connections. Do you have any special connections to potential customers
6/ Financials. why would the numbers work?

Saturday, March 16, 2013

Why Good Ideas Fail good ideas is one thing, but gaining the required support within a corporation is quite another.
In most organization, you'd have to 'run the gauntlet' to get your idea accepted.
 Some ideas to make this more likely:

  • Let your opposition speak. They will anyhow. Show respect for their dissenting voice.
  • Do not attack back
  • Expect the common ways your ideas will be attacked
    • Fear-mongering
    • Delay
    • Confusion
    • Ridicule
  • Expect the common not-so-innocent questions meant to derail you, including:
    • Another Problem: "Money is the only real issue"; "What about ?";
    • Inertia: "We're successful, why change?";"The problem is not that bad";"You're implying we've been failing"
    • Solution: "Your proposal goes too far/doesn’t go far enough.";"You’re abandoning our core values.";"No one else does this.";"People have too many concerns.";" It puts us on a slippery slope."
    • and more...
  • Be prepared!
 Interesting read @HBR @Forbes @cbsnews

Tuesday, March 12, 2013

SQL vs. NoSQL (part i)

When is SQL better than NoSQL? It is true that in large deployments, NoSQL may present better performance than SQL solutions. also, most NoSQL solutions are free. On the flip side, NoSQL stores make reporting, alarming, etc. much harder.

Sunday, March 10, 2013

More Innovative and Productive Meetings with the Six Thinking Hats system

The Six Thinking Hats system has been around for a while. It is described in this book by DeBono.
In short- conceptualize six distinct 'thinking modes' (metaphorical hats). Specifically ask the team to 'wear' one at the time, resulting in everyone reasoning from the same 'mode'.
The six hats are:

Gather Information: (White)                   
Express Emotions and Intuition (Red)      
Devils' Advocate/Negative logic (Black)   
Positive Logic/Benefits/Harmony (Yellow) 
Creativity (Green)                                     

Saturday, March 09, 2013

On short range thinking

This short Twitter exchange between me and Kent Beck, and especially his insightful response, says everything you need to know about managerial shortsightedness.

Yaniv Pessach @YanivPessach : @logosity @KentBeck Sometimes 'began solving it' and 'began making it worse' are indistinguishable to the naked eye.
Kent Beck @KentBeck : @YanivPessach true, because you're generally escaping a local optimum.

Friday, March 08, 2013

Also see my other blog on Wordpress : Stochastic Thoughts
Why Stochastic Since a in a stochastic system the next state is determined both by the system's predictable actions and by a random event. A bit like life. Or me. 

Wednesday, March 06, 2013

Innovation Technique: SCAMPER

SCAMPER stands for
Put (to other purpose)

When you have several ideas in the the general areas, trying each of those strategiesto create variants may hit on the nail with a variant that makes sense or works well.

Tuesday, March 05, 2013

Innovation Technique: HIT matrix

HIT stands for Heuristic Ideation Technique.

The critical observation is that new products are often a combination of two (or more) of existing products.

How to:

  • Choose existing products (not too similar).
  • List Characteristics / features that make out the item.
  • Create a matrix. For each 2 - feature combination, evaluate the benefits of combining the features.

E.g. Scratch resistant pan + Car paint leads to considering 'scratch resistant car paint'

Innovation Technique: E/R/A

Eliminate, Reason, Alternatives.

For an existing process or product, choose several important features or aspects, and answer:
1. Can we eliminate the feature?
example: "credit card and signature is carried with you"
Usually - no
2. Reason - why can't we eliminate it? what is the crucial benefit provided?
Example: "Credit cad possession and signature used to authorize purchases"
3. Alternative(s): How else can wee achieve that goal?
Example: "use fingerprint to identify credit carrier"

Doing so for multiple features may hint at areas of innovation.

Monday, March 04, 2013

What is 'Rude Q&A'

Rude Q&A is a process I commonly encountered in Microsoft.
The idea is to prepare for difficult and possible hostile questions as part of the review of a product, design, or presentation.
Ask yourself - what are the meanest, smartest people going to ask you?

Rude Q&A is not just about testing the quality of your ideas. Rude Q&A forces you to think though your feature set, requirements, customers, and market assumptions.


  • If you introduce 'rude Q&A' in someone elses' design review preparation, be sure to explain the "rules of the game" to not surprise by standers.
  • You may want to reserve part of the Q&A time for 'Rude Q&A' after other questions have been answered.
  • Make sure to include questions that are unfair or based on erroneous information
  • The hardest part can be coming up with the questions.

The challenges of a software API Design

Designing APIs poses multiple challenges, among them:
  • APIs are targeted at developers
  • APIs have 'stickiness'. A bad APIs is a nightmare for years as many internal and extenal apps depend on it.
  • APIs are shared by many applications, so problems can impact multiple applications (differently)
  • APIs must be discoverable, intuitive, and use consistent conventions
  • Versioning and backwards compatibility on change
  • Good (and updated/correct) documentation is required
  • Likewise, automated testing is required

But there are benefits for exposing APIs even internally:

  • hide implementation
  • reuse code
  • reduce duplication
  • easier to optimize
Exposing APIs externally has many market benefits that we'll discuss separately. Just note that all major platforms (Facebook, Linkedin, Windows/Win32) are really APIs; and being a 'platform' can be very beneficial to a provider.

Saturday, March 02, 2013

Good Writing using the Madman Architect Carpenter Judge system

Write in four phases

- jot down all ideas
- look at your ideas. try to think of a sensible order. identify three main points
- now you have an outline
- rapidly, write down paragraphs in support of the outline
- don't edit in this phase
- Now review everything you wrote, and try to judge it
- How would someone who is not friendly to me look at it.
- Would it look self serving? insincere? am I making unjustified claims? etc..

HT to guide to better business writing

Optimize Your Life with Lean Software Development

Lean (a concept in manufacturing optimization, and now in software development) has some general 'life-lessons', focusing on "Add Nothing But Value - eliminate waste".

* Eliminate Overproduction
In software, unneeded features.
In life - eliminate hoarding, interruptions, unneeded focus? or is this stretching the analogy too far?

Friday, March 01, 2013

Innovation Technique: Job Scoping

For a specific Job To Be Done, try to answer:
1. What is a broader problem, and why it is important
2. What is a narrower problem, and what is the barrier that makes this narrower problem important to the JTBD

Do those answers provide any useful insights?

Internal vs. External Quality

Internal vs external quality OR why software design matters.
 Internal quality (known bugs, code quality, design, extensibility, refactoring) doesn't matter to the customer NOW. The customer may not be able to conduct any (blockbox) tests to determine the internal quality of the software anyhow, so it may as well not exist.
So... marketing/management may be tempted to concur.
They would be wrong... because, in time code quality impacts the bug rates, performance, cost of development of new features, and time to market for new features. The current code base results in debt. Like all debt, you can pay off the principal early or pay off the interest on an ongoing base. Either decision is fine in some circumstances, as long as it is the right decision for the organization
==> more important to keep the changing and critical areas 'clean'.

Sources of tech debt
=> some debt is taken by design
==> some by being reckless
===> and some debt is only visible in retrospective as we learn more about the problem space.

Predicting the next new song

A few interesting questions in the cross of 'big data' and music:
1/ Predicting the next song a -particular- user will like. (e.g. Pandora)
2/ Predicting the next song that will become popular
 Last I heard, Pandora uses analysis of the music itself. But there is so much data out there:
* The singer
* The Lyrics
* Social networking and google mentions
* Radio plays
* The label (is a valid datapoint)