Sunday, April 15, 2007

Assumptions in Software Project

Assumptions in software projects become the facts with the time. There is nothing wrong with assumptions. They help us to move forward in software project. The problem arises when we forget that assumptions are not facts. We should be prepared for the unexpected outcome of assumptions.

A short story on assumptions and how they work from "The Art of Negotiating" by Gerard I.Nierenberg -

A husband was watching his wife as she prepared a roast for the evening meal. After placing the roast on the cutting board, the wife cut the first slice and dropped it in the refuse can.

"Why did you do that, dear?" the husband asked. "I don't know," was the answer. "My mother always did it". The next time he saw his mother-in-law, the husband asked if she always removed the first slice from the roast before cooking it. "Yes," was the reply. "My mother always did it." So the husband, intrigued, called up his wife's grandmother. That elderly lady explained, "Oh, yes, I always removed the end slice from the roast because the pan I cooked it in was too small."

Wednesday, April 11, 2007

Shelf life of Software Project

A IT team develops a project and it is deployed. How long the application is going to be in production? Most the time average life of software project is around 3 years.

After 3 years, project might require a major upgrade and re-engineering in terms of technology and business.

Most of time systems wants to upgrade the system. There can be multiple reasons like
- infrastructure has reached end of life.
- it is not possible to extend the functionality. Application has become so brittle and requires lot of maintenance.
- it is not possible to satisfy the performance and scalability needs of business in near future.

Sometimes business wants to change the business process drastically. It is difficult to change the existing application. The only option left is to build a new application.

Now a new huge investment is required to create a new application silo. Oops !! Not again.

We all understand now that moment is right to increase the shelf life of software project. It could be possible by adopting SOA. Loose coupling between services provides to opportunity to increase the shelf life of software project.

An interesting thought, think about the layered architecture. Top layers have much lesser shelf life in comparison to layers below. Presentation tiers expires much before the Data tier.

Tuesday, April 10, 2007

Let's Enjoy Coffee

Good story -

A group of alumni, highly established in their careers, got together to visit their old university professor. Conversation soon turned into complaints about stress in work and life. Offering his guests coffee, the professor went into the kitchen. He returned with a large pot of coffee and an assortment of cups: porcelain, plastic, glass, crystal- some plain looking, some expensive, some exquisite – and asked them to help themselves to coffee.

When all the students had a cup of coffee in hand, the professor said: "If you noticed, all the nice looking expensive cups were taken up, leaving behind the plain and cheap ones. While it is normal for you to want only the best for yourselves, you were more concerned about comparing your cups but what you really wanted was coffee. Yet you spent all your time eyeing each other's cups.

Now if life is coffee, then the jobs, money and position in society are the cups. They are just tools to contain Life, but cannot really change the quality of Life. Sometimes, by over concentrating on the cup, we fail to enjoy the coffee."

Sunday, April 01, 2007

Empires Of The Mind by Denis Waitley

I am currently reading "Empires of the Mind" by Denis Waitley.

Few excellent excerpts from the book -

Y'day natural resources defined power. Today knowledge is power.
Y'day hierarchy was the model. Today synergy is the mandate.
Y'day leaders commanded and controlled. Today leaders empower and coach.
Y'day employees took orders. Today teams make decision.

Book defines three prejudices to avoid
- The Rut of Average
- The Rut of Conventional Wisdom
- The Rut of Group-Think

A Leader's Critical Traits
- Self confidence
- Mental toughness
- Ambition to achieve

Life is like a field of newly fallen snow;
where I choose to walk, every step will show.

The Four legs of Value
- A sense of Belonging
- A sense of Individual Identity
- A sense of Worthiness
- A sense of Control & Competence

The 3-D vision of Leaders
- Viewing failures as not to be repeated learning experiences.
- Reinforcing past success to nourish confidence for taking new risks.
- Imagining future successes as real, despite the unknowns.

CIO/CTO Office and Enterprise Architecture

I have limited knowledge and trying to understand the synergy between CTO/CIO office and Enterprise Architecture.

There are multiple support units in IT organization who helps delivery teams to reduce cost and better align with business. Units like Quality, System Operations, Security, Enterprise Architecture, Testing, Business Analyst, Data Engineering, Application Engineering and PMO office. How CIO/CTO office provides the common platform where all these team representative meets to evaluate the current state of IT and defines and leads to the future state?

Next question is to whom Head of Enterprise Architecture reports and how the CTO/CIO could extract optimum benefits from EA team. There are still unanswered questions like whether EA aligns better with Business or Delivery teams. A tilt towards business make EA more like Business Architects and other tilt towards the Delivery team moves EA's to Consultancy role. The focus of EA shifts from enterprise to projects. This wide spectrum is challenge, opportunity and concern for EA teams.

Again with my limited knowledge, I think most companies don't have EA function and who possesses this function are still trying to find a suitable place to fit the EA in organization chart.

Note: In above blog, I have typically avoided the differences between CIO and CTO. For more details on differences, please refer following links - Whatever happened to CTO role? and CIO vs CTO. Secondly, I have excluded product organizations from discussion and talking about IT organizations.

"That man is successful who has lived well, laughed often, and loved much; who has gained the respect of the intelligent men and the love of children; who has filled his niche and accomplished his task; who leaves the world better than he found it, whether by an improved poppy, a perfect poem, or a rescued soul; who never lacked appreciation of earth's beauty or failed to express it; who looked for the best in others and gave the best he had." - Ralph Waldo Emerson