<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>essence</title>
	<atom:link href="http://tattva.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://tattva.wordpress.com</link>
	<description>life, systems thinking, design, experience, life</description>
	<lastBuildDate>Mon, 28 Jul 2008 02:00:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='tattva.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>essence</title>
		<link>http://tattva.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://tattva.wordpress.com/osd.xml" title="essence" />
	<atom:link rel='hub' href='http://tattva.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Monkey Business This</title>
		<link>http://tattva.wordpress.com/2008/07/27/monkey-business-this/</link>
		<comments>http://tattva.wordpress.com/2008/07/27/monkey-business-this/#comments</comments>
		<pubDate>Mon, 28 Jul 2008 02:00:45 +0000</pubDate>
		<dc:creator>satishsukumar</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://tattva.wordpress.com/?p=18</guid>
		<description><![CDATA[Monkeys have invaded our apartment complex in Bangalore. A whole troop of them ranging in sizes from extra small to plus size four. I love them. They are completely fascinating to watch as they swing their way in from the trees across the strategically and illegally strung cable wires into the buildings. They are sometimes [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tattva.wordpress.com&amp;blog=597280&amp;post=18&amp;subd=tattva&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Monkeys have invaded our apartment complex in Bangalore. A whole troop of them ranging in sizes from extra small to plus size four. I love them. They are completely fascinating to watch as they swing their way in from the trees across the strategically and illegally strung cable wires into the buildings. They are sometimes perched on the sill of my balcony in the morning, making faces at my Labrador and nonchalantly swinging away as she charges them. The monkeys come into the apartment in the mornings, forage around and try to get at anything that is remotely edible. They leave our complex after a couple of hours and spend the day in the neighborhood coming back for another raid in the evenings.</p>
<p>Got home early last week and was down in the park with my kids and a couple of dozen of their friends (monkeys all of them but of the human type). It was a nice summer evening, the sun was doing its bit and so was the breeze when the monkey troop came back into the complex. They normally stick to the outside of the complex but chose to come right into the heart of it that day, no doubt attracted by their human brethren. </p>
<p>The effect on the kids was remarkable, the impact on their parents – mostly mothers and grandparents, I guess I was the only father on show &#8211; was even more. Monkey seems to be one word in the vocabulary of all kids of all ages from 8 month old toddlers to 14 year olds. </p>
<p>Mon-gey, mon-gey went little Tom from Kerala jumping around excitedly, “Uncle, uncle many monkey, many many, monkeys sisteen monkeys” lisped another fellow whose name I don’t know. </p>
<p>All of us were watching the monkeys quite enjoying ourselves, the little boys who are quite berserk in their normal state went ape and started destroying the foliage in the garden with renewed vigor in their attempts to climb the trees around our little park.</p>
<p>“Nuisance!!” said a cultured voice next to me, looking at the little boys I nodded my head in agreement. It was lady A, a rather aristocratic person with kids the same age as mine who tended to set rather high standards for everything and consequently held almost everything in disapproval. </p>
<p>“I meant the monkeys” she continued. “ Ah!” said I guiltily, lest she think I disagreed with her. Just then one of the monkeys dropped a pigeon egg to the ground. Our complex has more than its fair share of pigeons – they spend the day cooing, strutting around busily, spreading vast quantities of dropping on the floor of the complex and taking to flight in panicked hordes at periodic intervals. Harmless beasts in my opinion, besides my daughter loves them just as she loves all animals.</p>
<p>“They are a nuisance too” continues Lady A, “ the society committee must drive them away, dirtying the whole place”. I interpreted this as the pigeons who were dirtying the place and not the members of our committee a rather aged bunch who by no means could chase away a few million pigeons and did not feel the need to do so either. </p>
<p>“ and they must chase away that cuckoo too” she continued “ silly thing, waking us all up early in the morning with its cries”. Now that was going too far. I am personally acquainted with said cuckoo – a slightly demented fellow who gets very passionate about his lady love at around 5:00 AM and holds forth in melodic expression. Many a time I have woken to the cry of the cuckoo and gone out for a walk with my dog. If you walk into a Bangalore morning at that time with a cool breeze blowing and the dawn just beginning to turn the sky a delicate shade of pink I bet you would sing out too – provided you are in love of course. </p>
<p>I sidled away from Lady A’s disapproval as elegantly as I could. Did not want to hear what she would damn next. But this got me thinking, many of us are like Lady A, we have so little patience for the creatures around us, so little sympathy and appreciation. I saw a sparrow in the airport the other day, thrilled me to bits but to most people it is “how do I chase that blighter away before he drops excreta on to my fancy clothes”.</p>
<p>Have a care my friends, have some tolerance for our fellow creatures, a sparrow is already a seldom seen sight – soon cuckoos, crows and pigeons will become rarities too. Then what, we transfer our intolerance to our fellow people – wait but we have already done that!!</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/tattva.wordpress.com/18/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/tattva.wordpress.com/18/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/tattva.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/tattva.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/tattva.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/tattva.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/tattva.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/tattva.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/tattva.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/tattva.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/tattva.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/tattva.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/tattva.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/tattva.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/tattva.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/tattva.wordpress.com/18/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tattva.wordpress.com&amp;blog=597280&amp;post=18&amp;subd=tattva&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://tattva.wordpress.com/2008/07/27/monkey-business-this/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d5047b8bd15a1d14a523eed42ba4cfec?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">satishsukumar</media:title>
		</media:content>
	</item>
		<item>
		<title>The complexity of software development</title>
		<link>http://tattva.wordpress.com/2007/03/31/the-complexity-of-software-development/</link>
		<comments>http://tattva.wordpress.com/2007/03/31/the-complexity-of-software-development/#comments</comments>
		<pubDate>Sat, 31 Mar 2007 18:13:44 +0000</pubDate>
		<dc:creator>satishsukumar</dc:creator>
				<category><![CDATA[software system design]]></category>
		<category><![CDATA[systems thinking]]></category>

		<guid isPermaLink="false">http://tattva.wordpress.com/2007/03/31/the-complexity-of-software-development/</guid>
		<description><![CDATA[Software that supports enterprise business is complex to develop. Seeing the larger picture is essential to bringing this complexity under control.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tattva.wordpress.com&amp;blog=597280&amp;post=6&amp;subd=tattva&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A recurring and common theme in conversations with several of my friends and colleagues is the increasing challenge they face in developing and delivering successful enterprise software applications. The pressure is high as was evident on the face of a friend and neighbor whom I met walking into our apartment complex late one night with a completely dazed expression on his face. All he could mumble about was the issues of performance they were trying to iron out and his struggle to estimate if he needed additional project time. This guy is a project manager at a fairly well known technology services organization based in Bangalore.<br />
<span id="more-6"></span><br />
<strong>Why is developing software for the enterprise so hard?</strong> Surely with the advances in tools and technology, with established processes and experience life should become a little easier. However this is not the case and probably because there has been significant changes to the domain in which software is developed and used at a rate which has outpaced the rate at which we have adapted to these changes. In this post, I have described some of these changes and their implications. In future posts I will explore how these challenges themselves could be rephrased as engineering problems and possibly solved using design. Design not of software but of the method of making software. But first the challenges:</p>
<p>There has been a fundamental shift in human society over the last couple of decades that has touched and impacted all of us. Access to information, automation and global communication has, to borrow a phrase &#8211; made “geography” history. We live today in a world where computing is taken for granted, where it is becoming increasingly difficult (and unnecessary) to tell the difference between a cell phone and a personal workstation. The average young person today, who incidentally is the target customer for the products and services offered by several competing enterprises, is completely comfortable with the notion of an online existence and with services and products delivered online. This young person is not just comfortable but is extremely knowledgeable, very demanding of quality of service and has very little patience before switching to a better set of options. This young person is now an integral part of the existence of many enterprises. Her tastes and expectations have a significant impact on the development of enterprise application systems. Paralleling the evolution of this young person has been the evolution of the internet itself. The net 2.0 and 3.0 as some people refer to it is all about collaboration. The net has progressed from an information dissemination mechanism, to a viable commerce mechanism to now being truly a collaborative network that brings people and organizations together. Collaborative services are where the true power of the net lies. The same evolution is also happening within the business strategies of enterprises. Collaborate to compete is the mantra and the provision and consumption of services is the environment businesses live in. An interesting description of the service oriented economy is the statement that businesses are comfortable using services provided by resources they neither own nor control. </p>
<p>This shift in market and social dynamics has had a significant impact on the nature of enterprise information systems and how they are developed today. The fundamental changes that are happening include:</p>
<p>1.	Software today is business critical &#8211; Automation, centralization of critical information and enterprise application integration have created environments where manual processing of information has been almost completely eliminated. While this has brought great efficiency to the enterprise – the dependence on enterprise systems to process information is total.<br />
2.	Enterprise information systems are not built and operated in silos any more. Integration between applications across business functions is almost a necessity.<br />
3.	For several enterprises whose products are services such as banks and insurance companies, the notion of fixed and silo products is disappearing. Products are built and rebuilt all the time by repurposing a set of underlying services and functions<br />
4.	Software systems are often the direct interface to the business’s customers and stakeholders. Unlike the earlier days of terminal and back office processing where the customer was separated from the IT systems of an enterprise by an effective wall of human interaction, the customer today is a key user of many enterprise IT systems.<br />
5.	The distinction between classes of systems such as content management, transactional and analytical systems is vanishing in the eyes of the user. The same user often uses all three and expects consistency across the systems<br />
6.	Increasing software complexity – every generation of software is functionally more complex and has a richer set of features. Every set caters to a larger and wider span of audience with a more diverse set of needs.<br />
7.	The growing importance of standards – the business, operational and political environment in which software is used today mandates compliance with a plethora of standards such as SOX and BASEL2. Adherence to a standard is often not an option for businesses today.<br />
8.	The growing cost of software and the increasing pressure to reel this in – software systems today have astronomical Total Cost of Ownership figures. Organizations are adopting multiple strategies to bring these costs down including global outsourcing of maintenance and management, centralization of systems, leveraging pay-per-use and hosted service models and increasing adoption of open source technologies<br />
9.	The management of enterprise systems is no longer considered to be something that must be retained within the enterprise. Outsourcing the management and delivery of the service to managed service providers is the preferred option. Enterprise applications are today expected to be built to integrate with larger enterprise management contexts<br />
10.	The service oriented universe – enterprise systems are not built as isolated silos any more. Well defined service interfaces form the basis of their integration and interoperability and make them essential to every part of the business. Expectations of quality of service of enterprise systems are significantly high. The cost of unavailability or degraded service is in direct monetary terms and of significant business impact<br />
11.	Maturing of open sources &#8211; the success of open source technologies such as Linux and the JBOSS application server coupled with innovative licensing models and lower cost of ownership has led to a significant acceptance of open source within enterprises. The collaborative development approach and sourcing of specific components from small vendors and the open source environment is the way to go in many enterprises<br />
12.	Pressure to reduce the software development times – software is moving from development to configuration. The expected time to deploy a new software system has gone down from 2 years to nine months to 3 months over the last few years.<br />
13.	Pressure to adopt methodologies such as agile development &#8211; the success of agile development methodologies and collaborative, iterative development is accepted and is becoming increasingly the approach development teams adopt. The biggest challenge teams face is integrating these methods into the context of overall organization level processes such as CMM and ISO<br />
14.	The growth of enterprise architecture as a strategic part of an enterprise’s business strategy &#8211; for several enterprises whose products are services such as banks and insurance companies, the notion of fixed and silo products is disappearing. Products are built and rebuilt all the time by repurposing a set of underlying services and functions. The need for a common enterprise architecture across these services and the way they are used is critical and enterprises are increasingly investing in developing such architectures<br />
15.	Developer turnover, rapid promotions and astronomical growth – software development is an increasingly competitive and expensive venture. Small companies I meet often describe themselves as training grounds for fresh developers who spend a couple of years gathering skills and experience and then move into the race for higher pay by jumping to larger and multi-national development organizations. 2 years seems to be the magic number for stability in this space – after which the itch to switch kicks in. To combat this organizations adopt multiple strategies including astronomical salary growth (the % increase in Indian salaries this year is amongst the highest in the world) and bizarre promotions quite out of perspective with number of years of experience (entry level developer for 2 years, senior developer for another 2 years, tech lead for 2 more, manager and senior manager in another 4 and president of the country in 24 years?) Then there is the issue of growth in software organizations – you have around 10 to 15 thousand new employees joining one of the larger services organizations every year – imagine the challenge of settling them in and getting them to be productive parts of teams<br />
16.	Increasing salaries vis-à-vis decreasing cost of production – the fact that the cost of ownership of software is already out of proportion is well known and there is a universal push to rein this in. Development teams in this space face the significant issue of trying to balance increasing salary and operating costs against the pressure from their customers to deliver more complex software at lower costs</p>
<p><strong>So what do these changes imply?</strong></p>
<p>1.	Architecture and design are super-complex requiring a team of super specialists. Take for example the architecture of the virtual university that I am currently working on, we need expertise on distributed application design, large scale data modeling, semantic networks, interaction techniques and learning management, multi-media technologies in the context of virtual classrooms, networking expertise, interfaces with broadcast media, standards such as SCORM, setting up collaboration systems and many more.<br />
2.	Architecture and design needs more than technology skills – systems thinking, problem solving, abstraction and generalization, communication using different languages to different stakeholders, integration skills and not the least project planning skills are all equally important.<br />
3.	There is an increasing need to move away from single system engineering to the development of platforms that evolve over time using progressive improvements in functionality are offered to users.<br />
4.	The productivity challenge of building more complex teams with cheaper resources at a faster pace is severe – several approaches are practiced including COTS, reusability, agile programming and so on. These approaches in turn add to the quality engineering problem of building systems whose stability and performance can be assured.<br />
5.	For a long time now, design Gurus have been advocating simplicity as one of the key factors to the stability and quality of a system. The environment is not going to get simpler – nor are the challenges of development going away. Simplicity has to be arrived at through conscious effort to improve engineering quality<br />
6.	Simplification of the development universe for a development team has in itself to be considered as a design problem and solutions such as those based on product lines and platform oriented development have to be engineered and invested into<br />
7.	NFRs should probably be renamed as Important Stability Requirements – somehow I have a sneaky feeling that by calling requirements that specify the stability, performance and such characteristics of a system Non Functional Requirements, we have done systems a big disservice. It seems to me that the “Functional” part is often silent and we read this as “Non Requirements” either consciously or unconsciously. Why else do we ignore these for the most part in our design and deal with them only at the end of a project after we have built most of the functionality? The stability of a system that needs to operate with the challenges I listed earlier is as important if not even more so than the functionality it provides. I propose that we start thinking of NFRs as Important Stability Requirements – change the name, drop the “NON” and see the difference it makes<br />
8.	Manageability is a the new key ISR – performance, availability and even reliability have traditionally been stated and defined as expectations of stability of a system. The critical addition to these in today’s business environment is manageability. Manageability is the index of what is built into an application to be able to guarantee that it will operate in its environment with predictable quality of service</p>
<p><strong>So what?</strong></p>
<p>Life is tough for organizations developing software to be used in the enterprise space. They face pressure on all fronts – what they need to build is more complex, the knowledge they need is more intense and specialized, they face severe resource pressures and are driven to improve efficiency of production and the effectiveness of what is produced. There are not many magic bullets available – there are however some medicines that one may try but these call for patience and a little investment into engineering that is not in the context of what is required for a project. Will these organizations avail of these medicines – your guess is as good as mine, but I do believe that most of them will.<br />
Mañana las medicinas. Some mañana that is </p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/tattva.wordpress.com/6/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/tattva.wordpress.com/6/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/tattva.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/tattva.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/tattva.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/tattva.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/tattva.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/tattva.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/tattva.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/tattva.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/tattva.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/tattva.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/tattva.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/tattva.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/tattva.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/tattva.wordpress.com/6/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tattva.wordpress.com&amp;blog=597280&amp;post=6&amp;subd=tattva&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://tattva.wordpress.com/2007/03/31/the-complexity-of-software-development/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d5047b8bd15a1d14a523eed42ba4cfec?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">satishsukumar</media:title>
		</media:content>
	</item>
		<item>
		<title>Requirements and Synthesis</title>
		<link>http://tattva.wordpress.com/2007/01/12/requirements-and-synthesis/</link>
		<comments>http://tattva.wordpress.com/2007/01/12/requirements-and-synthesis/#comments</comments>
		<pubDate>Fri, 12 Jan 2007 06:45:40 +0000</pubDate>
		<dc:creator>satishsukumar</dc:creator>
				<category><![CDATA[software system design]]></category>

		<guid isPermaLink="false">http://tattva.wordpress.com/2007/01/12/requirements-and-synthesis/</guid>
		<description><![CDATA[Getting requirements right is the first step in the journey of creating a successful software system. The job of defining requirements is an exercise in design and in problem solving. Analysis is often used in the context of requirements and the people who describe a software requirement often carry the designation of an analyst. Like [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tattva.wordpress.com&amp;blog=597280&amp;post=5&amp;subd=tattva&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Getting requirements right is the first step in the journey of creating a successful software system. The job of defining requirements is an exercise in design and in problem solving. Analysis is often used in the context of requirements and the people who describe a software requirement often carry the designation of an analyst. Like all aspects of design, synthesis is as important to getting requirements right as analysis is. Surprisingly however, one seldom hears the term synthesis used in the context of requirements design and the lack of synthesis leads to many a requirement going awry.<br />
<span id="more-5"></span><br />
While analysis is the process of breaking something down into its parts and seeing how the parts work, synthesis is what gives one the bigger picture and the role the system being designed is to play in the context of this bigger picture. Analysis and synthesis work together in design but to me synthesis comes first.</p>
<p>Russell Ackoff describes synthesis and analysis as ways of thinking. Both involve three steps:</p>
<ul>
<li>In analysis, something that we want to understand is first taken apart. For instance we could take an ERP system that we are defining into modules for material management, production control, finance management and so on. On the other hand, in synthesis, that which we want to understand is first identified as a part of a larger system. The ERP system is a part of a larger system – say the manufacturing organization that needs to use it to manage its operations and resources
</li>
<li>The second step of analysis is to make an effort to understand the behavior of each part taken separately. In synthesis, an effort is made to understand the function of the larger system of which the system we are working with is a part. So we would as part of analysis look at each module independently but as part of synthesis understand the functions of the manufacturing organization
</li>
<li>The third step of analysis is to aggregate the understanding of the parts of the system in an effort to explain the behavior of the whole. In synthesis, the understanding of the larger containing system is disaggregated to identify the role or function of the system to be understood.
</li>
</ul>
<p>This gives us an extremely important insight – analysis of a system reveals its structure and how it works. It does not give us an understanding of what it is expected to do – its behavior and function – as part of the larger system that it belongs to. This understanding can come only from synthesis. </p>
<p>Most often, when we start defining the requirements of a software system, we lose the “system” perspective and think about only the software application being built. In my experience, this is a sure fire method of missing out on vital aspects of the applications quality. The synthesis exercise puts the application we are building right there as a part of a bigger system thus ensuring the systems viewpoint is not lost. This viewpoint is so extremely critical because the supportability needs of the application we are building is provided via this viewpoint. Synthesis provides a more complete perspective about the following:</p>
<ul>
<li>Users, usage patterns and expectations – A typical analysis exercise brings the users who interact with the application as part of its operations into focus. So if we were building a system for inventory control, our focus would be on the inventory managers and the operators within a warehouse. The synthesis exercise however tells us that this piece of software is part of several other eco-systems – for instance a datacenter in which it is hosted, a part of a larger supply chain management system, a critical element of business planning functions and so on. It also brings out several other nuances such as the system needs to be maintained and upgraded over time; it needs to be audited as part of the larger financial accounting process; while the inventory managers and warehouses work on a 9 to 6 basis, the ecommerce system queries it and blocks inventory on a 24&#215;7 basis and so on. While the more “business” needs do get addressed in most requirements, the subtler ones specific to management, auditing etc often get missed out and are bolted on later.
</li>
<li>The overall operational context – the other systems that this is a part of brings out specific needs of integration as well as expectations of performance, reliability and stability. In fact as more and more business processes are “composed” on top of a set of applications, the silos between applications are rapidly breaking down. Viewed at from the process perspective there is an underlying fabric of application services that can be composed to create a business process. Building applications that are part of this fabric without taking into account the needs of the fabric as a whole is I presume an evidently bad idea
</li>
<li>The timeline and lifecycle of the application – moment the application is considered as a part of a larger system, decisions on the lifecycle of the application – when can it be put into production, turned off for maintenance or replaced with the next version of the application get pushed up because of a larger set of dependencies. The criticality of an application can only be gauged in the context of the larger system it belongs to. Understanding this perspective and how the larger environment is impacted by the lifecycle of the application is a key input to design. Synthesis also brings out the view that a good part of the application’s life has got software developers as the primary users of the application, either in development or maintenance mode. When was the last time we thought of building tools, code snippets or even documentation for our fellow developers from this perspective?
</li>
<li>The standards the application is expected to adhere to. Information systems are increasingly forced to adhere to a larger set of standards and regulations ranging from IT policies, security standards, operational procedures, compliance and control procedures and so on. I have gone through the rather embarrassing experience of having to pull a software system back into development from the verge of going into production because “no one ever told me” that the IT standards demanded automated installation with a complete audit trail of every change made to the application – “you mean you never read the IT standards manual?”
</li>
<li>Synthesis also allows you to define crisper definitions of SLA commitments your application must keep. Rather than arriving at arbitrary numbers for say the response time of a query or the size of records to return understanding the context in which the query is used and the performance demands from that context serve as more concrete guideline. It is a fact that SLA definitions are moving from being bottoms-up to being top-down. SLAs are now being defined at the level of business services and are flowing downwards to the other parts of the system that render this service. The storage requirements for an encrypted auditing system you are building for a bank could well be defined by a BASEL-II definition implemented by the bank that states that all customer information must be stored in an unmodifiable format for say 6 years. If the bank states that its processes and services are BASEL-II compliant, then sure enough your storage SLA has just got defined.
</li>
</ul>
<p>It may seem to many of us that these perspectives got from synthesis would be uncovered as a part of requirements analysis in any case or even that this is information that we would get from users or business analysts. However this view is not true. Users or business analysts focus on specific aspects of the application and its functionality and have very seldom any idea about its operational context. Further, once you get into the analysis mode – you have started drilling down into the parts of your application, you are lost in entities, attributes, relationships and events. As part of this process, you are not going to encounter the rest of the system that this is a part of. Synthesis hence must be a conscious part of requirements definition and not something you stumble on by accident. At the same time, there is often a legitimate fear of getting lost into a study of a higher system and then a still higher system and so on. What I do is to use the perspectives above to act as a guideline for me to understand the larger system. Once I have got enough answers, I move on to analyzing the requirement. I periodically take a step out from the analysis and kind of adopt a birds-eye view looking for discontinuities or a lack of harmony with my view of the larger world and then proceed with analysis if I don’t find any. </p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/tattva.wordpress.com/5/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/tattva.wordpress.com/5/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/tattva.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/tattva.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/tattva.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/tattva.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/tattva.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/tattva.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/tattva.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/tattva.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/tattva.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/tattva.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/tattva.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/tattva.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/tattva.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/tattva.wordpress.com/5/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tattva.wordpress.com&amp;blog=597280&amp;post=5&amp;subd=tattva&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://tattva.wordpress.com/2007/01/12/requirements-and-synthesis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d5047b8bd15a1d14a523eed42ba4cfec?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">satishsukumar</media:title>
		</media:content>
	</item>
		<item>
		<title>Mentors</title>
		<link>http://tattva.wordpress.com/2006/12/14/mentors/</link>
		<comments>http://tattva.wordpress.com/2006/12/14/mentors/#comments</comments>
		<pubDate>Thu, 14 Dec 2006 05:09:03 +0000</pubDate>
		<dc:creator>satishsukumar</dc:creator>
				<category><![CDATA[my life and other animals]]></category>
		<category><![CDATA[mentoring]]></category>

		<guid isPermaLink="false">http://tattva.wordpress.com/2006/12/14/mentors/</guid>
		<description><![CDATA[I met with a dear friend, mentor and ex-boss yesterday. Though we meet each other fairly often, it is seldom that we get a chance to sit and talk with each other. Normally there are many people around clamoring for his attention which denies us this opportunity. Yesterday however was different – we had time [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tattva.wordpress.com&amp;blog=597280&amp;post=4&amp;subd=tattva&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I met with a dear friend, mentor and ex-boss yesterday. Though we meet each other fairly often, it is seldom that we get a chance to sit and talk with each other. Normally there are many people around clamoring for his attention which denies us this opportunity. Yesterday however was different – we had time for ourselves and a freewheeling discussion. </p>
<p>Our conversation covered many grounds. We caught up on several mutual friends and associates with whom both of us interact in different capacities. It was during this discussion that the topic of mentoring came up.<br />
<span id="more-4"></span><br />
My friend is one of the most respected technologists in the Indian IT industry – specifically in the networking and system integration space. He has enjoyed a richly fulfilling professional career during the course of which he has mentored several people – I included. It was his observation that people who has risen to great heights often miss out on having a good mentor and are as a result lonely and sometimes frustrated with their jobs. My friend then pointed out that a mentor was different from a coach. Mentorship was not about the improvement of technique. A senior expert like Greg Chappel provides both coaching and mentoring to the Indian cricket team and the mentoring aspect was often overlooked when Greg Chappel is criticized for the performance of the team. Our conversation then drifted on to other topics, but left a thread in my brain that kept thinking about mentoring. </p>
<p>The word Mentor is derived from the ancient Greek legends of Odysseus who placed his son Telemachus in the care of an old friend Mentor. Mentor (or maybe the Goddess Athena in his guise) guided Telemachus in his times of difficulty. A mentor is a trusted friend, a teacher and a counselor. Mentorship is a developmental relationship between a mentor and his protégé. </p>
<p>I have been lucky through the later part of my life as a student and through my professional life to always have had good mentors. This has made a significant difference to me and who I am. The earliest person whom I can think of as a mentor was a friend of mine and a classmate in college called Manish Manchanda. I was always bright as a student (Modesty <em>IS</em> my middle name!) but never focused enough to appreciate studying or hard work. I remember it was at the beginning of my second year as a graduate student studying physics and mathematics that Manish one day had a discussion with me that change my life. To cut a long story short, he took me out of my day dreams, showed me a different perspective and put me back into my student world. Since then, I have had no issue with either academics, studying or hard work. I graduated at the top of my class and went on to study electronic engineering and did very well there too. </p>
<p>Likewise through the early stages of my professional career, I worked in Microland, an organization that captured the essence of the Silicon Valley type of technical innovation right here in Bangalore. Microland was a company where ideas – if they were bright – found a fertile growth to germinate on. Mentorship was an integral part of the organization and I remember being gently and at times not so gently being guided along. </p>
<p>Over the last few years, I have not had a mentor from within my organization. However I have had and still do have some of the best mentors I could hope to find. My friend Nagaraj is one, so are Samir, MSR, MLN, Anand and several others. My life is a lot richer because of them.</p>
<p>A mentor, to me, is a person who is first and foremost someone you can trust and have instinctive respect for. A person from whom you always have something to learn. A mentor is part teacher and part friend. Unlike a coach whose strength is analysis and consequently who works to improve your technique or to iron out your flaws, a mentor&#8217;s strength is synthesis. She (or he) provides that wide angle perspective, the ability to see you in the larger context that you are a part of and provide the necessary inputs that you could use if you so desired. Mentors don’t force you to do things. They provide choices. A mentor may be assertive and forceful at times but that is only to drive a point home. For many of us who would otherwise be lost in our daily drudge, a mentor is the person who comes as a breath of fresh air and gives us the strength and more importantly the belief to lead fulfilling lives.  </p>
<p>I have been a mentor too and it is an experience I have enjoyed. However, in an earlier organization I worked in we had an organizational formal mentoring program where each of us senior managers was teamed with a bunch of bright sparks in the organization whom we were supposed to mentor. We had to have at least one mentoring meeting a month and had to report on progress. I could never succeed in this. I could not mentor someone with whom I did not have an established relationship of trust. Establishing this relationship was not something I could do with everyone assigned to me. I believe that there is some chemistry that must click. Something that tells Arjuna when he sees Krishna that here is my guru and the same something that tells Krishna to recognize his protégé. There is this mutual reaching out that happens and in my experience as a mentor and a protégé this reaching out cannot be manufactured. </p>
<p>I came away from our meeting yesterday refreshed and with a renewed sense of purpose. I do not remember discussing any problems or asking for help or even clarity. It was provided all the same. A feeling of warmth was imparted and I got a feeling that I belonged. I walked away with a clearer perspective and with unasked questions answered. Thank you my dear mentor.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/tattva.wordpress.com/4/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/tattva.wordpress.com/4/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/tattva.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/tattva.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/tattva.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/tattva.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/tattva.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/tattva.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/tattva.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/tattva.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/tattva.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/tattva.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/tattva.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/tattva.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/tattva.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/tattva.wordpress.com/4/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tattva.wordpress.com&amp;blog=597280&amp;post=4&amp;subd=tattva&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://tattva.wordpress.com/2006/12/14/mentors/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d5047b8bd15a1d14a523eed42ba4cfec?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">satishsukumar</media:title>
		</media:content>
	</item>
	</channel>
</rss>
