Recently I got a chance to attend a 2 days architecture conference in Bangalore organized by iCMG. Some very experienced and renowned figures in software world took sessions on architecture and software development. It sounded like a conference on just software architecture but it catered various other topics which could be grouped under Software development in general. If we leave the question of whether the conference should have focused on architecture only, other topics were also quite good and relevant to software development. In the entire conference there was a lot of focus on Outside-In thinking instead of Inside-Out thinking. It's no more sufficient just to think about customer satisfaction. It has more to do with customer delight and in true sense, participating towards customer success. So instead of thinking what you think will be good for a customer, it's important to figure out what a customer actually need. So a thinking from an end-user perspective is very important for software development. There was an interesting talk from Manoj Shrivastava in which along with stressing on the usability principle "Don't make me think", he stressed on the need of "Don't make me state" being more explicit to software vendors. It's about some basic fundamentals of software development which you as a customer wouldn't like to state while defining requirements. For instance, as a vendor you definitely won't say at the end of a project that you didn't care about foreign key constraints as part of database design because design document was signed off and customer should have pointed it out earlier. This highlighted two key facts. One - a lot of organizations still follow traditional methodologies for software development. As a result, there is no scope of early feedback and adapting to the changes. That's one of the reasons why Agile has become and growing very fast as the mainstream software development methodology. Second fact is even more serious. Simply, don't make me state!!! From software development point of view, some of the things should be quite understood and shouldn't required to be told. There was a very good presentation from David S. Frankel on the challenges involved in Model Driven Systems. Sometimes the cost involved in integrating various systems based for different financial networks can be too high (for instance one billion dollar if you think of changing small details in credit card transaction integration). He mentioned ISO 20022 as an emerging standard for financial messaging but at the same time highlighted its limitations as it solves some problems but creates even more. His focus of presentation was go to the next level and provide semantic interoperability in data integration path. At the end of the day, there was a very good panel discussion on a very important topic - why we lack focus and drive on software product development and innovation in India. It was a great debate and here are some important points discussed.
- The entrepreneur culture: David S. Frankel asked a question - how easy it is to start and how easy it is fail as a business in India. For instance, it's very easy to start a company in USA. The red tape and bureaucracy involved are very minimal. At the same time, it's very easy to fail too. If you fail in one venture, you start another. Most of the successful entrepreneurs in the world did not taste success in their very first venture. They failed, learned from mistakes and started a new one again. The culture of easy to start and easy to fail creates a very healthy environment in setting up business ventures based on new ideas which is the basic premise of product development. At the same time in some countries, if you fail and go bankrupt, it may become very tough to start a new company again. In India, it's very easy to start but not that easy to fail. Not because from legal point of view but from attached social stigma as Indian culture is a society based culture.
- Another point discussed was about the proximity of the market with India. Software market is still in western countries. Computer penetration in India is increasing but still hasn't reached at that level. As market is in other countries, it's difficult to think the need of new products from a thousands of miles distance. I personally feel it not a valid case as India is a very big market in itself. There can be many business ideas which suits to Indian consumer need.
- Some people attributed the culture of being followers instead of being leader in terms of innovation. Also it has a lot to do with the education system which hasn't changed since colonial times and was created to produce clerks to aid British colonial system but definitely not creative thinkers. Current education system has a lot of focus on cramming books for getting good marks instead of focusing on new innovative ideas.