Yet another year has gone by!
A unit of time carved out of eternity for us to live in!
Now has come a moment for reflection!
Now has come a moment to pause a while, look around and move ahead!
Last year was a mixed bag;
A mixture of good and bad, day and night, but too bad.
My mother started walking on her own again!
Probably, a medical miracle!?
A mix of providence and some hard work;
A display of hard work and sheer will power, in a way that only she can.
Unrelenting support, from my father, as best as it could be by a human.
A home nurse who has gone much beyond her official obligations;
A fact that I can hardly ignore
A fact that made me realize, yet again, importance of value beyond definitions
A fact that made me realize, yet again, how “small” things are infinitely important.
A fact that made me realize, yet again, how important it is to make life simpler and better for others to live in….
Probably, that is the very purpose of an individual life itself;
Taking human race to its glory through collective contribution of individual souls.
And, first time ever in her life, as I understand, she (rather, we) celebrated her birthday (Saptadi; 70th birthday) albeit in a simple manner
I am also glad to see my sister tasting success in a her life.
She has single handedly fought what looked, at a point in time, a loosing battle.
Now, she won a battle; of course, life has to go on
Having come this far, I am sure, she would see greater heights.
Of course, not all were pleasant.
Perhaps, it is idealistic to expect
As if a kid, I expected my father to be around my mother eternally.
Hardly ever it dawned on me that he himself is in old age.
Nevertheless, the time gently reminded me that fact when he had to be hospitalized for about a week’s time
Providence, our well wishers, medical team was kind enough to act on time and give him back to us
My experience at hospital also made realize how life could be simpler if we seek to make it so …. It made me wonder why at all we make software development unduly complex … Team work, specializations, creative content, technology etc are not unique to software development …. Balancing these factors to a business goal is also not unique to software development … Many others (say, a music director and his team, a surgeon and his team, … ) would have similar story to tell; but they end up being predictable without making things unduly complex…. It looks like, it is a questions of priorities
Hope we learn
Hope we get the fundamentals right
It is better than learning the hard way in a yet another crash!
Wish you all a very happy and prosperous new year!
Welcome to my personal world. You are very close to my heart now. If you listen carefully, you can hear my heartbeats. It is human. It is tender. delicate and fragile. It does not understand complexities of the big world outside nor vagaries of my destiny. You may see me smiling at times, sometimes in tears. Please handle it only with gentle care and pure love, because it knows that, and only that!
Monday, January 01, 2007
Saturday, September 30, 2006
Software Engineering & Healthcare
A few days in hospital where my father was undergoing treatment.
Though this is not the first time I have been in hospital but this time, it got me thinking...
I used to attribute much of complexity of software development to creative content & team factor in it. Now, I find that healthcare is no different.
In fact, there is many parallel in definining customer needs (which goes much beyond specified), evolving technologies, new hypotheses challenging earlier ones, interplay of many skills (Specialized physician & surgeons, Nurses, Technical experts, Office staff), ....
Yet much of it is well defined eg. Much of what Nurse needs to do is well defined and action plan in exigencies are also well defined.... and strictly adhered to
It does not lead to avoidable documentation in the name of following some standards either! Documentation is kept to the right level; the key is more of delivering to customer satisfaction than meeting specification
When will software industry learn & mature? How long can we hide behind the nascent nature of the industry and rapid pace of changes.
It is not Java or .Net or application servers or platforms or SOA or MDA ... what not, that matters .. it is uncompromised quality meeting the customer expectations and needs ... not just the wants and specifications
Though this is not the first time I have been in hospital but this time, it got me thinking...
I used to attribute much of complexity of software development to creative content & team factor in it. Now, I find that healthcare is no different.
In fact, there is many parallel in definining customer needs (which goes much beyond specified), evolving technologies, new hypotheses challenging earlier ones, interplay of many skills (Specialized physician & surgeons, Nurses, Technical experts, Office staff), ....
Yet much of it is well defined eg. Much of what Nurse needs to do is well defined and action plan in exigencies are also well defined.... and strictly adhered to
It does not lead to avoidable documentation in the name of following some standards either! Documentation is kept to the right level; the key is more of delivering to customer satisfaction than meeting specification
When will software industry learn & mature? How long can we hide behind the nascent nature of the industry and rapid pace of changes.
It is not Java or .Net or application servers or platforms or SOA or MDA ... what not, that matters .. it is uncompromised quality meeting the customer expectations and needs ... not just the wants and specifications
Wednesday, September 20, 2006
SoA Testing - A wake up call to testers….
Service Oriented Architecture or SOA
What does it mean for testers? Or Why testers should bother?
A wake up call to testers….
To cut it short, well, it is a buzzword….
Everyone in the industry is talking about it… Sooner or later, it is going to catch you tool, like “Hey guys, don’t you know it is SoA?”.
Does it matter?
Depends on how soon is soon…. Depends on “what if I don’t know” …. Depends on whether you are getting ready for an interview for a job hop… Depends on a new project you are getting into ….
In a way of looking at things, it defines what software means to you…. Software that you use is not confined to your machine, right? When you are chatting with your friends, many small pieces of codes running in different machines collaborate to make it happen. If any of that malfunctions, you don’t get what you want…..
OK, I get it ….. I am using Rediff Bol to chat with my friends. You mean that is SoA?
Hold on …. With SoA, what we call as applications may not really be one... not in the sense, we have known them so far … Probably, we would refine it with the term a composite application? What you are using, does it fit in that category? Think …..
Do you also see a possibility that when you chat, all of you don’t necessarily require to use same piece of software from the same vendor…. (I don’t mean that you can chat with Rediff Bol to chat with a person logged in Microsoft Messenger… But in a interconnected, unrestricted by the underlying technology, you are getting to see a possibility?
Coming to think of it…. Isn’t that how life works? … Isn’t that how office functions? … Isn’t that how business is done? Don’t you find such interactions in business when you encash a demand draft, issued by State Bank of India at Delhi, at Canara Bank in Chennai? Are we not getting our insurance claim processed without really bothering about the paperwork behind the seen? …
Can that happen in technology? Don’t we have a whole of trouble even when we try to integrate even two applications eg. Seibel & SAP? IBM Websphere Business Modeler and Mercury Test Director? ….
By the way, you are able to pull out information from across the world (say, NASA or CMU etc) without really knowing the technologies behind? Also, we see money exchanging hands through electronic transactions when you are purchasing online… and you have authorized banks to pay mobile charges through ECS
Haven’t you seen how a simple development environment like Eclipse is evolving? It is evolving to be an open source platform for software engineering .. It is almost “name it and you have it” kind of ….. Eclipse is not more than a development environment which support coding & debugging… Don’t you know that the same development environment caters to Java and C++ coding? …. Don’t you know that Eclipse scales seamlessly with plug-ins for configuration management, modeling, code review, testing etc and more in the pipeline ….
It all depends on how it was developed earlier, how you look at things, and what you want to achieve….. Collaboration happens when we agree on a few basic things and then stick to it.
All that is fine… I knew these things …. I am looking forward to a great time as users.
Great!. …. Do you also see that we made a lot of assumptions about sticking to agreement etc? … Finally, somewhere, someone like you need to make sure things are intact, make sure that every one, those whom you see and don’t, stick to those agreements, make sure that quality is actually delivered in tune with agreement, make sure that quality delivered provides a business value
Testing a software running in your machine alone simpler compared testing a software running in multiple machines … It is all the more complex when these machines are away from you and unknown to you … Yet difficult when you don’t own these pieces of code… when you have no control on that…. When you do not know anything about its internals …. And when you know that right from operating system to the kind of use software is put to changes. …
And as testers are expected to know the software better .... expected to test on behalf of customer, on behalf of user .... required to advise on ….
What does it mean for testers? Or Why testers should bother?
A wake up call to testers….
To cut it short, well, it is a buzzword….
Everyone in the industry is talking about it… Sooner or later, it is going to catch you tool, like “Hey guys, don’t you know it is SoA?”.
Does it matter?
Depends on how soon is soon…. Depends on “what if I don’t know” …. Depends on whether you are getting ready for an interview for a job hop… Depends on a new project you are getting into ….
In a way of looking at things, it defines what software means to you…. Software that you use is not confined to your machine, right? When you are chatting with your friends, many small pieces of codes running in different machines collaborate to make it happen. If any of that malfunctions, you don’t get what you want…..
OK, I get it ….. I am using Rediff Bol to chat with my friends. You mean that is SoA?
Hold on …. With SoA, what we call as applications may not really be one... not in the sense, we have known them so far … Probably, we would refine it with the term a composite application? What you are using, does it fit in that category? Think …..
Do you also see a possibility that when you chat, all of you don’t necessarily require to use same piece of software from the same vendor…. (I don’t mean that you can chat with Rediff Bol to chat with a person logged in Microsoft Messenger… But in a interconnected, unrestricted by the underlying technology, you are getting to see a possibility?
Coming to think of it…. Isn’t that how life works? … Isn’t that how office functions? … Isn’t that how business is done? Don’t you find such interactions in business when you encash a demand draft, issued by State Bank of India at Delhi, at Canara Bank in Chennai? Are we not getting our insurance claim processed without really bothering about the paperwork behind the seen? …
Can that happen in technology? Don’t we have a whole of trouble even when we try to integrate even two applications eg. Seibel & SAP? IBM Websphere Business Modeler and Mercury Test Director? ….
By the way, you are able to pull out information from across the world (say, NASA or CMU etc) without really knowing the technologies behind? Also, we see money exchanging hands through electronic transactions when you are purchasing online… and you have authorized banks to pay mobile charges through ECS
Haven’t you seen how a simple development environment like Eclipse is evolving? It is evolving to be an open source platform for software engineering .. It is almost “name it and you have it” kind of ….. Eclipse is not more than a development environment which support coding & debugging… Don’t you know that the same development environment caters to Java and C++ coding? …. Don’t you know that Eclipse scales seamlessly with plug-ins for configuration management, modeling, code review, testing etc and more in the pipeline ….
It all depends on how it was developed earlier, how you look at things, and what you want to achieve….. Collaboration happens when we agree on a few basic things and then stick to it.
All that is fine… I knew these things …. I am looking forward to a great time as users.
Great!. …. Do you also see that we made a lot of assumptions about sticking to agreement etc? … Finally, somewhere, someone like you need to make sure things are intact, make sure that every one, those whom you see and don’t, stick to those agreements, make sure that quality is actually delivered in tune with agreement, make sure that quality delivered provides a business value
Testing a software running in your machine alone simpler compared testing a software running in multiple machines … It is all the more complex when these machines are away from you and unknown to you … Yet difficult when you don’t own these pieces of code… when you have no control on that…. When you do not know anything about its internals …. And when you know that right from operating system to the kind of use software is put to changes. …
And as testers are expected to know the software better .... expected to test on behalf of customer, on behalf of user .... required to advise on ….
Sunday, January 01, 2006
Happy New Year!
Yet another year passed by
Dawn of yet another beginning
Time for reflections ...
Time for new hopes ...
I observe with apprehensions on 2005
1. Rita & Katrina shattering life in the cities of most powerful country in the world; and natural disaster turning into catastrophe through human mistakes
2. Earthquake shaking various parts of earth .... is it not yet time for India & Pakistan to work together for mutual and global benefits .... probably, earth quake in Kashmir has a divine message to human kind
3. Water flooding most of Indian states; as India collectively is striving for excellence, have we forgotten to take development to grassroots, making developments more a scalable
It is not technology, or modern development but rather its adoption is what makes the difference .... for good or bad!
Hope we learn....
I look forward with hope on certain developments that potentially could,together, change the contours of software development space.
1. Model Driven Architecture
2. Software Factory
3. Ajax
4. Ruby on Rails
5. Eclipse & other open source initiatives in software engineering
6. Aligning technology with business
7. Asset Based Development
8. Service Oriented Architecture
To quote Einstein, "Opening up yet another fragment of the frontier of beauty"
And, on personal front, it is time for a change
I am publishing it wide to ensure that I do keep myself in check
1. Over years, I focussed on "intellectual" excercises ignoring my health to a great extent.
This year I plan to care a little about my health; particularly in terms of routine physical excercises
2. My kids are growing up and it is time, I spent some time for their mentoring as well, as best as I can; not only from spiritual and mental perspective but also from educational front
3. These call for some discipline; I plan to reserve holidays for myself ... a big departure from my life so far wherein I used to work through many nights and holidays.
Dawn of yet another beginning
Time for reflections ...
Time for new hopes ...
I observe with apprehensions on 2005
1. Rita & Katrina shattering life in the cities of most powerful country in the world; and natural disaster turning into catastrophe through human mistakes
2. Earthquake shaking various parts of earth .... is it not yet time for India & Pakistan to work together for mutual and global benefits .... probably, earth quake in Kashmir has a divine message to human kind
3. Water flooding most of Indian states; as India collectively is striving for excellence, have we forgotten to take development to grassroots, making developments more a scalable
It is not technology, or modern development but rather its adoption is what makes the difference .... for good or bad!
Hope we learn....
I look forward with hope on certain developments that potentially could,together, change the contours of software development space.
1. Model Driven Architecture
2. Software Factory
3. Ajax
4. Ruby on Rails
5. Eclipse & other open source initiatives in software engineering
6. Aligning technology with business
7. Asset Based Development
8. Service Oriented Architecture
To quote Einstein, "Opening up yet another fragment of the frontier of beauty"
And, on personal front, it is time for a change
I am publishing it wide to ensure that I do keep myself in check
1. Over years, I focussed on "intellectual" excercises ignoring my health to a great extent.
This year I plan to care a little about my health; particularly in terms of routine physical excercises
2. My kids are growing up and it is time, I spent some time for their mentoring as well, as best as I can; not only from spiritual and mental perspective but also from educational front
3. These call for some discipline; I plan to reserve holidays for myself ... a big departure from my life so far wherein I used to work through many nights and holidays.
Saturday, July 23, 2005
NOW, cheaply, and without taking much trouble?
I was going through the BLOG of Grady Booch "Monday, July 18, 2005 Grand Challenge" at http://www.booch.com/architecture/blog.jsp
The words "NOW, cheaply, and without taking much trouble" registered deep within me.
As managers, we try to keep things simple, or at least look simple. Reasons we can attribute to many factors, but fact remains all the processes & tools etc, even considering, are not yet "NOW, cheaply, and without taking much trouble"....
Looks like, miles to go before I can sleep?!
The words "NOW, cheaply, and without taking much trouble" registered deep within me.
As managers, we try to keep things simple, or at least look simple. Reasons we can attribute to many factors, but fact remains all the processes & tools etc, even considering, are not yet "NOW, cheaply, and without taking much trouble"....
Looks like, miles to go before I can sleep?!
Some common problems in software development
1. Customers are kept at bay (at times, because customers are assumed to be ignorant or too demanding and at times, because too much of knowledge of inside realities may affect their confidence in the solution .... in either case, it is better to expose the reality to the customer under controlled environment. Customer has right to information, right to be educated and right to make informed decisions
2. Casteism (certain roles like testers, technical writers etc are considered to be of lesser value ... of course, the situation is improving at least in isolated pockets .... only a teamwork can lead to a quality product)
3. Defering a risk for a later day or delegating it to someone else; delegating does not absolve any one, least of all the organization, of any risks, damages or guilt
4. Covering up the ignorance; considering the pace, at which the industry is evloving, it is not practically possible for any one to acquire in-depth knowledge on all related areas and it boils down to "almost always seems to mean knowing who knows what and figuring out a way to bring them to bear on your client’s
issue.”. Organizational culture and environment, and in turn, customers should accept this reality and move towards what can realistically be done
..... More to add, ... may be some other time
2. Casteism (certain roles like testers, technical writers etc are considered to be of lesser value ... of course, the situation is improving at least in isolated pockets .... only a teamwork can lead to a quality product)
3. Defering a risk for a later day or delegating it to someone else; delegating does not absolve any one, least of all the organization, of any risks, damages or guilt
4. Covering up the ignorance; considering the pace, at which the industry is evloving, it is not practically possible for any one to acquire in-depth knowledge on all related areas and it boils down to "almost always seems to mean knowing who knows what and figuring out a way to bring them to bear on your client’s
issue.”. Organizational culture and environment, and in turn, customers should accept this reality and move towards what can realistically be done
..... More to add, ... may be some other time
Imperatives of successful software development
Manage
1) Risk
2) Complexity/Size
a) Conceptual integrity of solution vis-a-vis problem: Essential
b) Structural integrity of solution: Accidental
c) Work
i) Progress
ii) Activities
iii)Work products
2) Environment (Platform, Language, IDEs, Tools, and Process): Accidental
2.1) Resources (time, team, machine, software, and other Work products)
2.2) Reusable software assets (Patterns, Framework, Components, Idioms, and Automation assets)
3) Change (requirements, environment, and team ie. no, skills, attitude, ...)
4) Communication across all stakeholders (including customers & users)
1) Risk
2) Complexity/Size
a) Conceptual integrity of solution vis-a-vis problem: Essential
b) Structural integrity of solution: Accidental
c) Work
i) Progress
ii) Activities
iii)Work products
2) Environment (Platform, Language, IDEs, Tools, and Process): Accidental
2.1) Resources (time, team, machine, software, and other Work products)
2.2) Reusable software assets (Patterns, Framework, Components, Idioms, and Automation assets)
3) Change (requirements, environment, and team ie. no, skills, attitude, ...)
4) Communication across all stakeholders (including customers & users)
Success of art and software development: a few loud questions
What makes a software success? What makes software development success?
I know both are not the same; though, may be related in some ways.
What makes a product success? What makes an artistic creation a success?
What makes music a success?
Lyrics, Tune, Visuals, Choreography/Actors, Context ....
Art is playing to an audience or playing for the self?
Answers to these questions at various levels are different...
I know both are not the same; though, may be related in some ways.
What makes a product success? What makes an artistic creation a success?
What makes music a success?
Lyrics, Tune, Visuals, Choreography/Actors, Context ....
Art is playing to an audience or playing for the self?
Answers to these questions at various levels are different...
Monday, June 27, 2005
Software factory at work!?
One of my customers, with whom I am working very closely for last couple of months is actively into many a things which are part of software factory .... seems to be great and quite interesting .... makes a lot of difference and it works!
Give me the methodology!
Quite often, I find people asking me the methodology that I advocate and what they should adopt; whether it be for requirement management, architecting, analysis & design, testing etc.
In my experience with various customers and various kinds of project suggest that there is no single answer that can apply to all such cases and yet be specific to the detail.
Many of ‘so called’ methodologies are steps evolved based on local successes, being generalized or it becomes too exhaustive like an encyclopedia. What always works is something is evolved based on these global experience to sent the specific need.
I keep getting this kind of questions and I keep asking …… what is the problem?
What? What? What? Why? Why? Why?
In my experience with various customers and various kinds of project suggest that there is no single answer that can apply to all such cases and yet be specific to the detail.
Many of ‘so called’ methodologies are steps evolved based on local successes, being generalized or it becomes too exhaustive like an encyclopedia. What always works is something is evolved based on these global experience to sent the specific need.
I keep getting this kind of questions and I keep asking …… what is the problem?
What? What? What? Why? Why? Why?
Back again....
Hectic pace of work kept me away from blogging for couple of months by now.
Hopefully, I am getting into relatively easy pace as the initiatives, which I was working on, has picked up the critical momentum and would require only a moderation from side.
Typically, I engage with the customers who are developing software to solve some of their problems related to software development. It often requires a combination of mentoring on tools and finetuning the software development process.
Most of my customers are not global software giant but are big in their own way. They play an important role to ensure the world runs on software smooth. They develop software for business spanning airlines, plantations, healthcare, banking etc
On top of this comes the IBM Rational assignments which are essentially training on the IBM Rational tools and methodologies. All of them happens to be of advanced nature rather than structured training offered by IBM Rational.
That makes the job challenging and enjoyable
Hopefully, I am getting into relatively easy pace as the initiatives, which I was working on, has picked up the critical momentum and would require only a moderation from side.
Typically, I engage with the customers who are developing software to solve some of their problems related to software development. It often requires a combination of mentoring on tools and finetuning the software development process.
Most of my customers are not global software giant but are big in their own way. They play an important role to ensure the world runs on software smooth. They develop software for business spanning airlines, plantations, healthcare, banking etc
On top of this comes the IBM Rational assignments which are essentially training on the IBM Rational tools and methodologies. All of them happens to be of advanced nature rather than structured training offered by IBM Rational.
That makes the job challenging and enjoyable
Monday, April 04, 2005
Learning by denial
Quite often, we become victims of our own knowledge!
Early stage of our learning, we move with doubt, caution or skeptism, depending on the topic, our previous knowledgebase, source of new information etc. However, soon the knowledge gets embedded in our very being and is taken for granted ... source & validity rarely questioned, by the self and we resist questions from others as they seem like a question on ourselves.
1+1 is assumed always to be 2, while we know that it could be different depending on the context, ... also, 1 and + are only notations for something. Till this realization comes, 1 the notation and the 1 the notion are intertwined.
Here, comes the importance of denial. In Indian approach, we say the realization (of the supreme Brahma, from the point of knowledge pursuit) can be only by denial (Ne/ethi... ie. Na Ithi ... That is "not that'). Disassociating ourselves & knowledge to its source
Early stage of our learning, we move with doubt, caution or skeptism, depending on the topic, our previous knowledgebase, source of new information etc. However, soon the knowledge gets embedded in our very being and is taken for granted ... source & validity rarely questioned, by the self and we resist questions from others as they seem like a question on ourselves.
1+1 is assumed always to be 2, while we know that it could be different depending on the context, ... also, 1 and + are only notations for something. Till this realization comes, 1 the notation and the 1 the notion are intertwined.
Here, comes the importance of denial. In Indian approach, we say the realization (of the supreme Brahma, from the point of knowledge pursuit) can be only by denial (Ne/ethi... ie. Na Ithi ... That is "not that'). Disassociating ourselves & knowledge to its source
Saturday, April 02, 2005
Limits of 'Science'
Quite often, we find many arguments being claimed as scientific implying authenticity of the statement.
What is often forgotten are limits of 'science' the way we define.
In science, we consciously choose some specific techniques which can be classified as 'divide & conquer' or 'abstract'; and often their combination (in any case, the big picture is lost). This restricts the space in which our theories operate and hence its validity. Further, our hypothesis are validated with deduction, contradiction or induction. Most logical, in the general sense of 'logic', being the former and least being induction as induction is more of an extrapolation. Quite often the dependence on a priori knowedge even for the former limits the validity of hypothesis testing.
These limits the scope of science to a limited space, data (pure data from the limited space is often hard to come by, in the attempts of scientific approaches in daily life) on which our theories are based and However, we apply or extend theories quite often these limitations are overlooked and scientific premises are presented and accepted more like gospel truths, abusing the very value and sanctity of 'science'.
What is often forgotten are limits of 'science' the way we define.
In science, we consciously choose some specific techniques which can be classified as 'divide & conquer' or 'abstract'; and often their combination (in any case, the big picture is lost). This restricts the space in which our theories operate and hence its validity. Further, our hypothesis are validated with deduction, contradiction or induction. Most logical, in the general sense of 'logic', being the former and least being induction as induction is more of an extrapolation. Quite often the dependence on a priori knowedge even for the former limits the validity of hypothesis testing.
These limits the scope of science to a limited space, data (pure data from the limited space is often hard to come by, in the attempts of scientific approaches in daily life) on which our theories are based and However, we apply or extend theories quite often these limitations are overlooked and scientific premises are presented and accepted more like gospel truths, abusing the very value and sanctity of 'science'.
Monday, March 28, 2005
About consulting experience: Health practice & Software Engineering
There have been many hypes in the market and, therefore, many die-hard loyalists for all of them. They often advocate and consume solutions at their own discretion. Quite often, it may work out as well; but at times, it also proves to be fatal.
Would you say that it does not happen so in medical field? I agree that it is true; by and large…. But, there are many instances of patients allured by the glossy advertisement and scientific-like reasoning….. Often, less educated, rural folks are the gullible victims, though once in a while.
Part of the reason there is that we are more careful in our decisions; after all, it affects life of our own or our dear ones.
I would say, from my experience, is that caution is rarely exercised in software development. There was a trend towards that immediately after the dot-com collapse; but now that the market has recovered, it is all back to the same old practices.
Decisions are driven by the hypes; rather than the compelling need to solve a business problem; in my experience, a business problem is rarely solved by a particular medicine alone; it involves a combination of factors; people, process, methodologies, tools, … and they influence each other. Die-hard loyalist of one may deride another; vendors of new technologies may suggest these as things of past. But, no matter, what tools, processes and standards come in, if caution is thrown to winds, result would always be a chaos.
I shall be more specific; for instance, object oriented approach & UML has been around for almost a decade. But, percentage of successful adopters are far too low if you pose a fundamental question like ‘Why did you adopt this approach? Did you actually derive that benefit from this adoption?’. I just took object oriented approach as an example just because of the hype (that was) around it; you could replace that with automated testing, total quality management, business process re-engineering, CASE tools, ISO, CMM, CMMI …. Often, these are used for marketing, by the producers of the technology naturally; surprisingly by consumers as well!
Be warned that market is set for yet another transition; in terms of processes, methodologies and tools. I shall probably discuss some time later, as and when the time permits. I do not mean to deride or belittle the quality of new solutions; they do provide definitely a quantum jump. The point is, jump to what? Do we really need it? Can we afford it? In terms of cost, learning, ….? Can we defer? Can we gradually adopt?
Innovators and creators of the technology has all reason to hype up as they need to leverage their the competitive edge but for the followers, it is invariably a constant chase of a mirage, the hard way. Almost as one seems to learned something and is ready to put into use, the very core of what he learned is undergoing a change….. but for what benefit? Is it realistic? Is it the solution that we really require? What would be involved to make the transition? Believe me, it is never instantaneous…. Because, as of now, every organization, every project, every team, every customer has their own specific differences…. Retention of the knowledge and assets will not happen at the click of a button!
Well, in medical service, usage, positive & negative effects, contra-indications etc of a specific medicine is well-documented and available, at least with the doctor. He, or she, is supposed to where one can effective, where one may not be and where it could be counter-productive! What is our equivalent?
Argument could be that hazards of a wrong medical practice is too high, to tolerate slip. When we take pride in pervasiveness of software, it is high time for us to accept that, quite often than not, ours is no less…. Only difference probably being that damage is incurred much later and we could probably diffuse it in time …. In reality, we never get prior information for disasters and, in the world where the developer works more than 10-12 hours a day, we rarely have time to complete our work; leave alone anticipate and diffuse a problem; the moment a code is shipped out, focus shifts to the next functionality to be coded or bug to be fixed!
Marketing hypes around new solutions would continue to be around for time ahead as well. Also, the pace at which changes happen would continue to be too fast to absorb. Unbiased information would continue to be hard to get. Given these facts, what are our choices? …. We cannot be blind to changes; as changes will any way become more and more inevitable, as the time goes by …. Anyway adopt? That is like, self-medication without any knowledge of effects and contra-indications of medicine.
I am intentionally not proposing an answer; My intention was only to share the concern …. If you share my concern, ponder over; solutions may seem obvious but it is truly not; it is not all that easy…. Had it been, solution would have naturally come … do share your thoughts …. If I have got you thinking on this, I would consider that the purpose of writing this is met.
Would you say that it does not happen so in medical field? I agree that it is true; by and large…. But, there are many instances of patients allured by the glossy advertisement and scientific-like reasoning….. Often, less educated, rural folks are the gullible victims, though once in a while.
Part of the reason there is that we are more careful in our decisions; after all, it affects life of our own or our dear ones.
I would say, from my experience, is that caution is rarely exercised in software development. There was a trend towards that immediately after the dot-com collapse; but now that the market has recovered, it is all back to the same old practices.
Decisions are driven by the hypes; rather than the compelling need to solve a business problem; in my experience, a business problem is rarely solved by a particular medicine alone; it involves a combination of factors; people, process, methodologies, tools, … and they influence each other. Die-hard loyalist of one may deride another; vendors of new technologies may suggest these as things of past. But, no matter, what tools, processes and standards come in, if caution is thrown to winds, result would always be a chaos.
I shall be more specific; for instance, object oriented approach & UML has been around for almost a decade. But, percentage of successful adopters are far too low if you pose a fundamental question like ‘Why did you adopt this approach? Did you actually derive that benefit from this adoption?’. I just took object oriented approach as an example just because of the hype (that was) around it; you could replace that with automated testing, total quality management, business process re-engineering, CASE tools, ISO, CMM, CMMI …. Often, these are used for marketing, by the producers of the technology naturally; surprisingly by consumers as well!
Be warned that market is set for yet another transition; in terms of processes, methodologies and tools. I shall probably discuss some time later, as and when the time permits. I do not mean to deride or belittle the quality of new solutions; they do provide definitely a quantum jump. The point is, jump to what? Do we really need it? Can we afford it? In terms of cost, learning, ….? Can we defer? Can we gradually adopt?
Innovators and creators of the technology has all reason to hype up as they need to leverage their the competitive edge but for the followers, it is invariably a constant chase of a mirage, the hard way. Almost as one seems to learned something and is ready to put into use, the very core of what he learned is undergoing a change….. but for what benefit? Is it realistic? Is it the solution that we really require? What would be involved to make the transition? Believe me, it is never instantaneous…. Because, as of now, every organization, every project, every team, every customer has their own specific differences…. Retention of the knowledge and assets will not happen at the click of a button!
Well, in medical service, usage, positive & negative effects, contra-indications etc of a specific medicine is well-documented and available, at least with the doctor. He, or she, is supposed to where one can effective, where one may not be and where it could be counter-productive! What is our equivalent?
Argument could be that hazards of a wrong medical practice is too high, to tolerate slip. When we take pride in pervasiveness of software, it is high time for us to accept that, quite often than not, ours is no less…. Only difference probably being that damage is incurred much later and we could probably diffuse it in time …. In reality, we never get prior information for disasters and, in the world where the developer works more than 10-12 hours a day, we rarely have time to complete our work; leave alone anticipate and diffuse a problem; the moment a code is shipped out, focus shifts to the next functionality to be coded or bug to be fixed!
Marketing hypes around new solutions would continue to be around for time ahead as well. Also, the pace at which changes happen would continue to be too fast to absorb. Unbiased information would continue to be hard to get. Given these facts, what are our choices? …. We cannot be blind to changes; as changes will any way become more and more inevitable, as the time goes by …. Anyway adopt? That is like, self-medication without any knowledge of effects and contra-indications of medicine.
I am intentionally not proposing an answer; My intention was only to share the concern …. If you share my concern, ponder over; solutions may seem obvious but it is truly not; it is not all that easy…. Had it been, solution would have naturally come … do share your thoughts …. If I have got you thinking on this, I would consider that the purpose of writing this is met.
Monday, March 14, 2005
Hectic schedule; just getting back to routine
Had a hectic schedule for last two/three months .... travelling around the country with training & consulting assignments
My team members have started picking up the threads and hence, I look forward to some slackening in the pace .... and hopefully, sometime for the blog!
With the Atlantic release from IBM & forthcoming VSTS release of Microsoft, market is set for a quantum leap into a new era in software engineering.
Nevertheless, the basics would remain essentially the same .... process, methodologies and tools are more of a means to an end; rather than an end in themselves ..... This fact often gets lost in the marketing din
Hope, as an industry, we would learn from the mistakes of the past....
More in subsequent blogs... I am yet to recover from exhausting assignment that I went through
My team members have started picking up the threads and hence, I look forward to some slackening in the pace .... and hopefully, sometime for the blog!
With the Atlantic release from IBM & forthcoming VSTS release of Microsoft, market is set for a quantum leap into a new era in software engineering.
Nevertheless, the basics would remain essentially the same .... process, methodologies and tools are more of a means to an end; rather than an end in themselves ..... This fact often gets lost in the marketing din
Hope, as an industry, we would learn from the mistakes of the past....
More in subsequent blogs... I am yet to recover from exhausting assignment that I went through
Monday, February 07, 2005
Back to basics ....
Too tight a schedule to blog ....
Just a thought lurking in my mind...
It is just basic fact of data processing that when rate of change of data far exceeds rate at which data gets captured, captured data overtime tend to loose its completeness and integrity over time .... Have we forgotten that basic fact in the practice of software engineering?
Only thing that gets churned out is code, because without which software does not get developed .... Changes in requirement, design, plan etc remains often in the mind .... less and less as the time pass by
Just a thought lurking in my mind...
It is just basic fact of data processing that when rate of change of data far exceeds rate at which data gets captured, captured data overtime tend to loose its completeness and integrity over time .... Have we forgotten that basic fact in the practice of software engineering?
Only thing that gets churned out is code, because without which software does not get developed .... Changes in requirement, design, plan etc remains often in the mind .... less and less as the time pass by
Sunday, January 09, 2005
Moving software engineering from hype to reality: a long journey
http://www.theserverside.net/news/thread.tss?thread_id=30082
Friday, January 07, 2005
Software Engineering Consulting Business & Me!
I have just finished a short assignment with one of the best software development house in Kerala, if not the best. That they are is my personal
rating. Of course, I believe, that matches with the popular perception as well .... It is visible in their interactions, process adherence, team synergy, technical competence, product quality, quality of documentation etc .... That is to say, that commitment is total; rather than in pockets .... and it is real; rather than hype ... In fact, I find them staying away from hype.
Even with this maturity, I find them on the verge of a time bomb .... ie. Information Explosion ... defeating its very purpose!. The nagging question is, how much to engineer? How much to doument? To ensure quality, repeatability & productivity? Beyond a point, too much of process, engineering & documentation becomes counter productive ....
While it is tempting to venture into advices, to draw an ad hoc line between agility & engineering .... What is alarming is that, this phenomenon is pervasive ... It is repeating itself, from an organization to another, from a project to another, from team to another
I would call for a judicious, well thought over balancing act, rather than dogmatic alignment to one camp
This brings me to a question as to what do I do in my engagement? What is my consulting work is like?
When I started my career in software development, a very few people in this part of the world knew what it is and I spent a lot of my time explaining to what it is all about .... and helping many to get into it
Now I am into software engineering consulting .... yet something not very well known to many!
Academic & scientific knowledge has its place in day to day business as against an open ended, in depth research in pure science
Technology as an application of science & enabler has its place
Engineering as a scientific & systematic approach, with well-defined review points, probes, measures and control mechanisms has its place
All these should help in the individuals involved and in day to day running of the business, making it success and ... in turn, the society we live in and the mankind at large
Filling this gap wherever I preceive ... taking knowledge from business to academia & back ..... That is the role I play
Not very common ... rather unchartered water .... quite challenging, interesting
End of the day, I am exhausted but thrilled of having gone one step ahead!
rating. Of course, I believe, that matches with the popular perception as well .... It is visible in their interactions, process adherence, team synergy, technical competence, product quality, quality of documentation etc .... That is to say, that commitment is total; rather than in pockets .... and it is real; rather than hype ... In fact, I find them staying away from hype.
Even with this maturity, I find them on the verge of a time bomb .... ie. Information Explosion ... defeating its very purpose!. The nagging question is, how much to engineer? How much to doument? To ensure quality, repeatability & productivity? Beyond a point, too much of process, engineering & documentation becomes counter productive ....
While it is tempting to venture into advices, to draw an ad hoc line between agility & engineering .... What is alarming is that, this phenomenon is pervasive ... It is repeating itself, from an organization to another, from a project to another, from team to another
I would call for a judicious, well thought over balancing act, rather than dogmatic alignment to one camp
This brings me to a question as to what do I do in my engagement? What is my consulting work is like?
When I started my career in software development, a very few people in this part of the world knew what it is and I spent a lot of my time explaining to what it is all about .... and helping many to get into it
Now I am into software engineering consulting .... yet something not very well known to many!
Academic & scientific knowledge has its place in day to day business as against an open ended, in depth research in pure science
Technology as an application of science & enabler has its place
Engineering as a scientific & systematic approach, with well-defined review points, probes, measures and control mechanisms has its place
All these should help in the individuals involved and in day to day running of the business, making it success and ... in turn, the society we live in and the mankind at large
Filling this gap wherever I preceive ... taking knowledge from business to academia & back ..... That is the role I play
Not very common ... rather unchartered water .... quite challenging, interesting
End of the day, I am exhausted but thrilled of having gone one step ahead!
Sunday, January 02, 2005
Descarte's Meditations
I am here quite alone, and at last I will devote myself sincerely and without reservation to the general demolition of my opinions
... Once the foundations of a building are undermined, anything built on them collapses of its own accord; so I will go straight for the basic principles on which all my former beliefs rested
Ref. Catherine Wilson, Descarte's Meditations - An introduction', Cambridge University Press, 2003
... Once the foundations of a building are undermined, anything built on them collapses of its own accord; so I will go straight for the basic principles on which all my former beliefs rested
Ref. Catherine Wilson, Descarte's Meditations - An introduction', Cambridge University Press, 2003
Subscribe to:
Posts (Atom)