Saturday, May 26, 2007
Mindset of Companies
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.
Monday, February 12, 2007
Long term vision vs Short term goal
Occasionally, project team wants to ignore the long term vision in order to mitigate the impact on short term goal. Project Management and Business requires solutions as early as possible. Over here, it becomes responsibility of architecture team to explain , convince, mentor, motivate, communicate, enforce and sell the correct path and produce standards & guidelines for the benefits of project in long term. It helps stakeholders to take informed decision.
A mature and motivated IT team keeps moving on correct path to achieve the Long term vision. IT team always needs support from the management and business stakeholders. Does this holds true for Enterprise SOA ?
Thursday, January 04, 2007
What is more important for a project - Quality, Cost or Effort?
There are multiple objectives and goals for a team to achieve. And I concur that there exists a collective ownership for all objectives. But still for each objective there is prime stakeholder. This stakeholder persuade others to achieve this objective. Now coming to title of blog, what is more important for a project? I first list down the prime stakeholder for these objectives -
- Architect is main stakeholder of Quality (always busy to improve the quality by using different tools, Architecture document, better design, refactoring, automated unit test, reviews, POC's, continuous integration, increasing customer feedback, improving process)
- Business Manager is main stakeholder of Cost ( always busy in simplifying business case, selling flexible pluggable extensible & configurable components)
- Project Manager is main stakeholder of Effort (always busy in reducing timelines, parallel development, starting different activities simultaneously, change management, planning, scheduling, tracking, milestones setting)
So what's more important - whosoever is able to sell his viewpoint more convincingly ;)
Friday, November 24, 2006
Strategy to solve Performance Issue
Let's outline the strategy -
1. Understand the big picture. Understand flow of information in system.
2. Perform profiling of system. Even you know the most probable reason, still prefer to do profiling. It is not mandatory to use profiling tools. Even sometimes log works out fine.
3. Analyse profiling data. Come up with bottlenecks.
4. Define the strategy to resolve bottlenecks.
5. On the basis of gravity and number of bottlenecks, assign person/team or multiple person/teams on bottlenecks/task.
6. For every task do the baselining of performance statistics.
7. Resolve the task. Most of time try not to change business process. Instead go for network, database and servers tuning. May recommend vertical scaling.
8. Recommend change in business process as long term resolution.
9. Again generate performance statistics. Compare with previous one and be happy.
Friday, November 10, 2006
Why to think just big enough on inception ?
"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