Software Engineer’s Blog

Software Engineering weblog

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

September 30, 2006 Posted by | software engineering, Software Factory | Leave a comment

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 ….

September 20, 2006 Posted by | software engineering, Software Quality, Software Testing, Testing | Leave a comment