Management, Posts

Outsmart The Planning Fallacy

Projects go over-budget and over-schedule; small ones, like renovating your kitchen, and huge ones, like constructing the Sydney Opera House. One main reason is our overconfident optimistic approach to planning. Behavioral psychologists call this the “Planning Fallacy“.

This post defines the concept of planning fallacy, gives examples of its consequences on some global projects, and provides some tips to mitigate it.

The Planning Fallacy

The planning fallacy is when we underestimate the time and resources needed to complete a project. We are often optimistic about our performance and the outcome of the project, so we take our desires for real plans.

The planning fallacy is a cognitive bias that fools our decision-making ability into considering the best-case scenario. It has a somewhat positive side, which is risk-taking. This cognitive bias allows us to take both small risks, such as opening a small business, and huge risks such as starting a war.

Catastrophic Project Plans

The following chart presents some major projects around the globe that went catastrophically over-budget. Notice the trend; the bigger the project, the higher the overbudget.

Sans titre

Mitigate the Planning Fallacy

Among the methods to mitigate the planning fallacy, we present the major three: Continue reading “Outsmart The Planning Fallacy”

Management, Posts, Quotes

Plans are worthless, but Planning is everything.

Dwight D. Eisenhower

Management, Posts, Quotes

Failing to plan is planning to fail.

Alan Lakein

Book Review, Management, Posts

The Personal MBA – Josh Kaufman

The Personal MBA: Master the Art of Business audiobook cover art
Audible Audio-book
  • Title: The Personal MBA: Master the Art of Business
  • Author: Josh Kaufman
  • Publication Date: 2010
  • Recommendation Score: 5 / 5

Book Review

The author, Josh Kaufman, argues that MBA programs are too expensive, with a low return on investment. Especially that the best MBA programs are highly selective, they will pick the candidates who have promising profiles, and who would climb the ladder with or without an MBA. He suggests that business school is unnecessary, and that reading books and gaining real-life experience is a better option.

“The Personal MBA” book as a distilled summary of a huge number of business and personal development books. It gives a boost of knowledge about business, but you need to complete it with further readings and practical experience. As the author puts it: The Personal MBA is a “Do-It-Yourself” approach to business education, but “Do-It-Yourself” does not mean “Do-It-By-Yourself”.

The book comprises both the technical and emotional skills needed for a successful career. The chapters pursue the following outline:

  • Value Creation
  • Marketing
  • Sales
  • Value Delivery
  • Finance
  • The Human Mind
  • Working With Yourself
  • Working With Others
  • Understanding Systems
  • Analyzing Systems
  • Improving Systems

Continue reading “The Personal MBA – Josh Kaufman”

Management, Posts, Quotes

What gets measured, gets managed.

Peter Drucker, “The Practice of Management”, 1954

Engineering, Management, Posts

Agility – Beyond Software Development

The digital technology industry has been moving in a very fast pace over the last decades. Companies that are unable to adapt have been left behind (Nokia, Kodak, etc.). Agility is a key skill for a company to remain competitive.

Since the Agile Manifesto for software development, declared in 2001, several software companies have been moving towards this mindset. Some companies went further, and adopted Agile way of development in industries other than software industry.

bobdylan_2275506bIf your time to you is worth saving
Then you better start swimming, or you’ll sink like a stone
For the times they are a-changing.

-Bob Dylan

Is it possible for any company to apply Agile ? How about big companies, with complex organizations, top-down policies, rigid processes, over-specialized teams, and other bureaucratic burdens ? And above all, what is Agile and what is not Agile ? First, let’s review the life-cycle of a product.

Product life-cycle

A product life-cycle can be broadly divided into 4 phases as shown on the figure below:

Picture5
Product Life-Cycle

Continue reading “Agility – Beyond Software Development”

My Resume

Agile Software Development – University of Minnesota

Certificate_Agile_SW_Dev

Posts, Quotes

Vision without Execution is just Hallucination

Thomas A. Edison

Engineering, Management, Posts

What is Agile Software Development ?

Software development is a tough process. It starts off by identifying and understanding what the user/client needs, and ends by deploying a solution that may, or may not, satisfy the user. During this journey, a group of Homo sapiens work together, organize teams, conceive plans, define tasks, rules and tools. They spend time and effort specifying, designing, programming, testing, documenting, bug fixing, etc. and hoping that they will deliver on time.

Some of those sapiens groups outperform their peers, and manage to provide high quality solutions on time. Other groups fail to deliver any solution, and waste their effort, time and resources in vain. Successful software developers (at least some of them) decided to help the others with their skills, by teaching them how they are doing Software development. This is why, on February 11th – 13th, 2001, at The Lodge at Snowbird ski resort in the Wasatch mountains of Utah, USA, seventeen Homo sapiens met to talk, ski, relax, and try to find common ground—and of course, to eat. What emerged was the Agile Software Development Manifesto.

Agile is a Software development mindset that embraces change. It is neither a process nor a model, but rather a set of values and principles. It is a flexible approach for Software development, that helps organizations to adapt fast to the market change.

Agile_Values

Processes and documentation are important, but not the main concern in Agile mindset.

Continue reading “What is Agile Software Development ?”

Engineering, Management, Posts

Software Development Models

There exist a wide variety of software development models, that have evolved to address the evolving challenges facing the software industry. In this post, the following models are reviewed:

  • Waterfall Model
  • V-Model
  • Sashimi Model
  • Incremental Model
  • Unified Process Model
  • Spiral Model

We present a summary of their pros and cos, and the cases for which each model is best suited for. Note that the same models apply to other product (or system) development, therefore, we will use software and product interchangeably in this post. It is worth noting also that, in practice, most organizations combine two or more models in their development process.

First, let’s take a look at the software development phases.

Software Development Phases

Picture15
The Waterfall Model

The conventional way to conduct software development projects consists broadly of the following steps:

  • Requirements: they are gathered from the customer/user at the beginning of the project. Requirements are system-level and independent of the technical solution.
  • Architecture & Design: architecture deals with the high level design, and the definition of the interfaces and interactions between subsystems. Then detailed design deals with components, functions, subsystems, etc.
  • Implementation: the design is now a coded software that is ready to be tested.
  • Testing: it includes verification and validation (V&V) of the product. First, the verification means to check that what we designed is working as expected (unit testing for instance). Then the validation is to check that what we designed and implemented actually fulfills the requirements (system testing).
  • Release: the software is released and is ready for deployment. Sometimes, deployment and maintenance are considered to be part of the software development phases.

This sequential process is called Waterfall, as it can be illustrated in the figure above.  Continue reading “Software Development Models”