The 3 phases for web applications

A colleague at Yahoo! gave in a presentation a short overview of the 3 life stages for weba pplications:

Early phase

Think Brickhouse at Yahoo. Concepts, prototypes, blank sheet of paper, trying new features and new ideas.
The application is in alpha state or not yet live or private beta.
Engineers love this phase.

Squishy middle

Think Y! Answers or  Y! Video
The application is now live and open to the public:  nn million users but still rapidly evolving.
Extremely difficult to work with.

Sustaining phase

Think Y! Finance or  Y! Mail.
Large scale, slow evolution.
Well understood problem, well understood audience


The middle phase is arguably the hardest to pull off:
  • Rapid iteration
  • Poorly understood problem space
  • Conflicting passions from User Experience, Product Management, Engineering

At Yahoo! (millions of users already existing) many new applications get very quickly moved into this phase.

Book Review: the 7 Habits by Stephen Covey – Habit 3 or Put first things first

This is the fourth in a series of articles providing a chapter-by-chapter in-depth “book club” reading of Mr. Stephen Covey’s classic “the 7th habits of highly effective people”.
I’m reading from the 2004 Free Press paperback edition. This entry covers the third habit.

Habit #3 is the second creation (while habit #2 is the first creation: imagining and planning), the physical creation. It’s the fulfillment of the first two habits.

This habit is around the phrase “organize and execute around priorities“.

Covey is trying to shift the focus from time management to self management, i.e. to manage our own satisfaction and expectation which lie in our circle of influence.

The main point of this chapter is the time management matrix, with the four quadrants:

Q1 (I), Q2(II), Q3(III), Q4(IV).

The importance is relative  to your mission, values and goals which have been identified with habit 2. This is why is important to have a personal mission statement or a principle center: to use it as a foundation.
While upon urgent tasks we can only react, non urgent tasks can be prioritized and we can proactively do them.
Moreover, urgent tasks are often important for other people but not for us, so for us they are tasks in Q3.

The suggestion from covey is to spend most of the time in Q2, and little time in Q1. No time (or almost)  in Q3 or Q4.

Continue reading “Book Review: the 7 Habits by Stephen Covey – Habit 3 or Put first things first”

Agile and iterative process for development

Methodologists speak of processes as heavy vs. light, and predictive vs. adaptive.

A heavy process has the  following qualities:

  • many artifacts created in a bureaucratic atmosphere
  • rigidity and control
  • elaborate, long-term, detailed planning

A predictive process is one that attempts to plan and predict the activities and resource (people) allocations in detail over a relatively long time span.

In contrast, an adaptive process is one that accepts change as an inevitable driver and encourages flexible adaptation; they usually have an iterative lifecycle. An agile process implies a light and adaptive process, nimble in response to changing needs.

We will see what means iterative development after the jump.

Continue reading “Agile and iterative process for development”

PMI 7 – The Processes

This is the sevent post in a series where I will write down what I learned about project management.

In order for a project to be successfull, the project team must select the appropriate process and apply it, with the appropriate degree of rigor (normally tailoring one of the existing process frameworks to the specific project needs). The application of the processes to a project is iterative and many processes are repeated and revised during the project.

What’s a process? A process is a set of interrelated activities performed to achieve a specified set of results in a project.

Why a project needs a process? Beside trivial projects (e.g. the homemade software to organize your recepts), every project needs a structure to integrate it into the organization, based on what are the best practices, otherwise you are depending on the external events and conditions and you are every time re-inventing the warm water.

A draft cycle for the interaction among project and process is:  Initiate. Iterate: Plan the processes – Execute the processes – Monitor and control the process (change what’s necessary). Close.
Initiate: the scope is to define the project and the process.
Plan: scope is to define and refine the objectives and plan the course of action required to attain the objectives.
Execute: the scope is to integrate people and resources to carry out the plan.
Monitor and control: check and act. The scope is to regularly measure the progress to identify variances from the plan so that corrective actions can be taken when necessary.
Close: the scope is to formally accept the results of the project.