Saturday, June 30, 2007

Candidate for the EDA

For a long time, I am reading excellent posts on SOA and EDA blog by Jack Van Hoof. EDA reminds me of Telecom domain. This domain is excellent candidate for EDA. Telecom network generates the events. These events are intercepted by application services like Prepaid, Ringback tone, Follow me, VPN etc.

Explaining my point with scenario like execution of Single Service -
Consider scenario where prepaid caller dials a called party number. A event is generated, service capture the calling party number and called party number. Based on called party number it routes the call. Now caller listens the ringing. Called party picks up the phone. Another event is generated. Service captures the events and starts charging. There is voice channel between caller and called party. After sometime, called party hangs the phone call. Another event is generated and service based on this event stops charging and persist the duration of call. In this flow, based on current event and last event result, application service executes the business logic. There is requirement for storing the state of call. This makes scenario little bit complex. Events cann't be consider stateless in real sense.

Execution of Multiple Services
In this case, one approach is to introduce Service Manager and this Service Manager further manages the interactions with several services and their sequencing.

In contrast with Enterprise application, Telecom applications are more chatty i.e. Events are too many and are of very short duration. Due to this, scalability and performance becomes burning issues. Secondly, all these events are in real time. While events are processed, customers are waiting for call to connect, waiting for ring back tone, announcements etc. It makes true testing ground for EDA.

In last, I feel, SOA and EDA could change the landscape of Telecom services. Niche companies could provide services like charging, rating, application services on internet. These services could be consumed by operators instead every one building themselves. Telecom domain is always a front runner at concept level. Hub & Spoke model of Telecom switches was innovated three decades back. This model is foundation for buzzword ESB nowadays.

Friday, June 29, 2007

Integrity of Bloggers

Few months back, there was lot of buzz around the Blogger's Code of Conduct from O'Reilly Radar. My viewpoint is that blog shows the level of Blogger integrity. My thoughts about Employers and Employees perspectives are -

Employers Perspective - Many companies are not in favour of employees expressing views in public domain. If you see from employers viewpoints, not all employees are mature and have high level of integrity. There are intermittent periods when employee is not satisfied due to any reason and publish their views based on perception or prejudice not on facts. Blogging requires high degree of mutual trust between employers and employees.

Employee Perspective - A blogging demands a high integrity from the bloggers. In my view, best practice is to keep blog independent of company references. Never ever share the company information or link to company site. Blog's objective is to share your thoughts with people with same frequency. There is no inherent requirement to share any kind of company information.

Few attributes of good bloggers -
1. Ownership - Any comments published on one's blog are responsibility of blogger. Always keep moderation on for your blog. Just publishing a disclaimer is not enough.

2. True Character -Its a test of one character when things are not moving in right direction in professional life, one should resist any comments on it. This is time when you will do something unethical. If you can't resist and can't stop yourself from mud slugging, stop blogging for sometime.

3. Correct information - Bloggers shall share the correct information. It should not be biased based on one's goals. This shared information is for the benefit of bloggers community. This is platform which provides the opportunity to learn from each other experiences. May be good idea is to declare one's level of expertise on blog topic.

4. Respect - Show respect for other bloggers. Only constructive comments drives the fruitful discussion.

Happy Blogging !!

Saturday, June 23, 2007

SOAtization of Enterprise Culture

For last few years, whenever any projects is initiated or any product is launched, it claims to be following principles of SOA. Most of big Enterprise claims that they are in process of successfully adopting SOA. To measure the maturity, one can find many SOA maturity models on lines of CMMi models.

Actually, SOAtization of Enterprise is a change in culture of Enterprise. One needs lots of impact players, support of management, proper communication to developer community, strong collaboration with business and Enterprise Architecture team.

SOA is a concept, architecture approach and above all its a cultural change. Enterprise starts discussing in taxonomy of business processes. Top down approach is followed to find business services. Delivery teams believes in building reusable business services and infrastructure services. A proper governance exists and services are registered in repository. People don't owns the applications and projects.

Simple way to check the SOAtization of the Enterprise is to find whether people are building business processes or applications.

Tuesday, June 19, 2007

SOA - The Elephant


There is always a debate who should drive the SOA initiative in Enterprise. It could be business, architecture team, delivery or Operations team. It benefits all of them in different ways. SOA from different viewpoints looks like
- Business see SOA as a set of business services that are exposed to its clients. It reduces the time to market and costs of building business processes. It increases business agility and simplify the IT.
- Architects see SOA as an architectural approach to build business processes. It is based on well known principles and patterns like loose coupling, separation of concerns, encapsulation etc. It constitutes of provider, consumer and contract.
-Developer see SOA as a set of standards, tools and technologies like Web Services.
-Operational people see SOA as a better contract between Service provider and Service consumer.

In my view, SOA impacts the entire Enterprise and everyone is stakeholder. Unlike earlier concepts of distributed computing in IT, SOA is more near to business people. Hope IT will fulfill the agility and reusability promise this time.

Monday, May 28, 2007

"The World is Flat" by Thomas L.Friedman

Shape of world is changing from Round to Flat. This brilliant book finds out the forces behind it and impact of them on our day to day life.

A must read book for every organization & individuals who wants to survive in Flat world. Rules of game are changing. Countries & Corporation who will adapt to changing rules will grow and others will fight for their survival.

I feel, in another decade, people in India & China will face the same challenge and difficult time as faced by people in West today. It will be opportunity and concern at the same time.

Another thought, all flatteners are happening to reduce TIME spent in chores. Time is becoming most precious and whatever we think of today is time consuming, will not be done by us in future. It will be either outsourced, off shored, in-sourced, automated, extinct or ignored.

Check Convergence II chapter in book, vertical silos are replaced by Service ecosystem in businesses. It reflects that World is also adopting concept SOA in its own way.

Saturday, May 26, 2007

Mindset of Companies

First thought, do companies too have mindset? Entirely based on my own experience, I agree, companies have mindset. I am being lucky to work in companies with different mindset.

Second thought, Is it possible to categorize the mindset? It could be based on size, domain, geography, business model and vision. Most popular or known to me ;) categorization is based on business model like Product, Service and End user companies. Another popular one is based on size like Start ups, mid size or large Enterprises.

Now further talking about the Mindset based on business model. We all agree that Product and Service companies have different way of working. What about End user companies? These companies who don’t have IT as there core business and still build there own IT systems. If I put the Product and Service companies on opposite ends and now want to put End user companies between these two ends. Will End User Company aligns more to Product or Service Company? Thought is still vague, context and taxonomy is missing. Lets define in next paragraph.

Product companies generally have better vision and strategy. They have more focus on non functional aspect of IT system like extensibility, flexibility, modifiability, manageability, scalability etc. Service companies generally have wider experience of domains & technologies. They maintain the resource pools. They have more focus on delivery. Due to this non functional aspect gets less attention unless conveyed and agreed before signing off. Any changes after delivery means more revenue for Service Company.

Now, lets again think about End User Company, they are building systems for themselves in competitive market. This means they have to focus on Time to Market and aligns more to Service Company. But they have to maintain the system after delivery too. They can’t ignore the truth; maintenance & enhancements cost is much more than original development cost. This is fact and leads to conclusion that End User Company should be more aligned to Product Company Mindset.

Thursday, May 17, 2007

Tactical Projects and Flyover in City

Just a thought, if Enterprise Architecture is analogous to City planning than Tactical project becomes analogous to flyover in City.

Flyover is constructed to reduce the bottleneck at one junction/crossing. Similarly Tactical project is executed to provide the short term solutions.

Flyover results into traffic jam on subsequent crossing after the flyover. Now we need to build another flyover to remove this bottleneck. Is it right approach? Or do we need long term planning to handle increasing traffic and a better public transport to take care of public. A better infrastructure and proper city blueprint to avoid all these traffic jams.

Same thing happens to Tactical project, which results into another tactical and another tactical. We need Enterprise Architecture to prepare Blueprint and vision of enterprise. This will help in reducing risk and cost of IT.

Wednesday, May 16, 2007

Improving Architectural Skill

Few tools to improve the Architectural skills are -
1. Reading books & best practices
2. Defining & Assurance of System Architecture
3. Attending seminars & conferences
4. Discussions with experienced Architects, colleagues & team
5. Reading white papers & blogs
6. Writing blogs and books
7. Registering for daily updates on technology and domains from Internet sites

Fastest way to improve skills is through point number 4, Dangerous way is to be dependent only on point number 1, Slowest & safest way is through point 2 and Impressive way is through point number 3.

Wednesday, May 09, 2007

ROI from Enterprise Architecture

It is difficult task to measure the ROI on Enterprise Architecture. Few activities of Enterprise Architecture includes -
1) Defining standards and guidelines.
2) Preparing reference architecture
3) Defining and maintaining IT roadmap
4) Governance activities.
5) Consultancy
6) Defining Strategy for moving from "as-is" to "to-be" architecture

Point number 1 and 2 produces various kinds of artifacts about Application, Information, SOA, Security, Content Management, B2B architectures. Various teams refers to these document and extend project architecture from these artifacts.
ROI - Is it possible to find out how reference architecture benefits the project architecture. How it saves time, add value, improve quality of project?

Point number 3 produces the IT roadmap for different elements across the layers. Any project should refer to this roadmap before finalizing the technology stack and aligns with it.
ROI - Is it possible to find out the operational and maintenance cost saved by aligning with predefined roadmap? Is it possible to find the effort saved by project when it adopt the preferred technology from roadmap instead of evaluating different products, technology and protocols.

Point number 4 includes activities like reviewing and approving architecture for projects. Assuring that projects are following standards and guidelines.
ROI - Is it possible to find the value of improved quality in project due to assurance from EA?

Point number 5 includes EA mentoring, coaching and guiding Solution Architects to align with standards, directions to follow best practices, refinement of the solution architecture of projects.
ROI - Is it possible to find the whether directions were right or wrong, whether they are adopted or not?

Point number 6 requires vision and leadership qualities. EA defines the long term strategy inline with Business Architecture. This helps in reducing the cost of IT in long term. It increases the agility of business. It simplify and standardize the architecture and implicitly increasing the stability, flexibility and extensibility of IT.

Above points shows lot of activities, but is it possible to measure the extent of benefits from these points. These benefits increase with time, they are like snowball which gathers momentum and becomes bigger as it falls. All these points prevents problems to occur in future.

May be it is easy to measure the benefits at enterprise level instead of project level. Identifying major architecture issues in enterprise like re engineering of legacy application, producing enterprise level reusable components, product engineering, improving integration of various application or deciding Build vs Buy. All these benefits of EA provides the ROI and help in building the metrices for EA ROI.

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