Sunday, March 11, 2007

My Belief in Successful Software Business

By looking at the subject title, some may say that: "Antonio, you're not the only one who believes this, everybody believes this also." Yes, but perhaps they will believe more of it only at the moment when they looking at this diagram -- People-Process-Technology.

I observed quite a number of software companies almost a decade, some succeeded, some failed. Those succeeded usually taking care of the balance of these three great areas, that is people quality, process quality, and technology quality. These three components are interlinked together, supporting each other, in achieving common business goals. But why People Quality as the top-most priority? Reason: At the beginning, Process and Technology do not create themselves but human does. Human defined the processes and invented the technology. Therefore, the quality of the process and technology is very much depending on the human quality, the creator's quality. How the creator behaves, how the creator thinks, are all reflected on the process and technology invented by them.

However, good business processes and technologies may help producing good people. How? For example, Software Engineering Institute (SEI) may have good people that are capable of developing great process improvement methodologies that many software companies through out the world may be able to benefit from it -- Capability Maturity Model Integration (CMMI). Therefore, if you think you do not have people who are good enough to come out with a good process for the company businesses, you can adopt CMMI. By properly adopting CMMI, you may be able to influence and improve your people quality.

The same lies to implementing great technology in your company. Your people may not be able to invent fantastic new technology for your company to be more competitive. But if you willing to bring in external expertise or adopting proven design patterns and practices brought to you by some of the successful software companies, this may help improving your people quality because they can learn from them while implementing them. In terms of business process quality, technology quality may have direct contribution on it. For example, you may want to have unified and integrated business process model but do not know how. In that case, software tools and platform like Microsoft Office SharePoint Server 2007 may be able to help by providing Business Intelligence, Workflow, Document Sharing, Version Control, Wikis, Blog, Issue Tracking System and so on, all integrated, which eventually bring you a high-efficient and productive business collaboration platform.

As you can see, People-Process-Technology are tightly integrated. In Chinese, I describe it as "三者缺一,无计可施", namely, by lacking either one of these three components, there will be no clue for us to come out with a good strategy. So, if you have not done so, try to review your current company policy, culture, and philosophy -- Are they focus on the balance of these three key factors that determining the success of your company? If not, it is time to "refactor" it!

Thank you.

Antonio Ooi
Founder & Software Architect
OTK Web Solutions
"Zero Compromise, Our Inspiration"