De Bono's lateral thinking
Lateral thinking puzzles
Parallel thinking
The Philosophy of Composition by Edgar Allan Poe
The famous heureka! or aha moment in Mathematics
Application's Architecture
Universal methods of reducing complexity
Development Methodology
Planning
Siteanalytics
Frederick P. Brooks, Jr.
Feature-Driven Development
Tracking Projects
Wrong Predictions
De Bono's lateral thinking  
Lateral thinking
a term coined by Edward de Bono in his book New Think: The Use of Lateral Thinking in 1967


Lateral thinking
Lateral thinking is a term coined by Edward de Bono in his book New Think: The Use of Lateral Thinking in 1967; it refers to solving problems through an indirect and creative approach. Lateral thinking is about reasoning that is not immediately obvious and about ideas that may not be obtainable by using only traditional step-by-step logic.

Lateral thinking and problem solving

Problem Solving: When something creates a problem, the performance or the status quo of the situation drops. Problem solving deals with finding out what caused the problem and then figuring out ways to fix the problem. The objective is to get the situation to where it should be.
For example, a production line has an established run rate of 1000 items per hour. Suddenly, the run rate drops to 800 items per hour. Ideas as to why this happened and solutions to repair the production line must be thought of.


Creative Problem Solving: Using creativity, one must solve a problem in an indirect and unconventional manner.
For example, if a production line produced 1000 books per hour, creative problem solving could find ways to produce more books per hour, use the production line, or reduce the cost to run the production line.

Creative Problem Identification: Many of the greatest non-technological innovations are identified while realizing an improved process or design in everyday objects and tasks either by accidental chance or by studying and documenting real world experience.

THE SOFTWARE MASTER-PEACE
> It lets you design software on as many levels of abstraction as you like.
> It lets you zoom in/out of a design like Google maps.
> It lets you watch the execution in slow-motion.
> It lets you switch on/off tracing at runtime.
> It lets you focus your actual code slinging at small functional units, so the source code stays easy to read.
> It lets you distribute the functional units to code among the team for high speed parallel work on them.
>
> And so I very firmly believe: Source code is not the end, but just a beginning.