Software Engineer’s Blog

Software Engineering weblog

Happy New Year!

From what we have seen so far, I would expect global recession to continue. I believe in relevance of software engineering in software development business. Therefore, I expect software engineering to propose a solution for software development houses. I hope that it is time now to move from ritualistic compliance of software engineering processes to its use because of business value.

Pause for a moment and reflect on our daily work. How much of that is new? How much of that is repetitive? If it is repetitive, why are we doing it? How can we get the machine to do it? If you do not ask this question, someone else will. Look back and look around; it had happened in the past in other industries, and we have played a role there in helping them do that. We replaced people with machines; more productive and more consistent, barring the initial hiccups. I do not see a reason why we should be different, why business should perceive us as different.

I expect more engineering and more automation in software development. I would also expect software development to be more accountable to business than it currently is.

On technology front, I would be keeping a close watch on collaborative geographically distributed software development environment, open software development practices more accountable to business, and more effective software test automation.

I wish you all a very happy, successful and prosperous new year!

My favorite song for the year 2009 for software engineers (Title: Survivor – Eye Of The Tiger lyrics):

December 31, 2008 Posted by | Uncategorized | Leave a comment

A retrospection!

Looking back, last two years have been personally very taxing. Specifically, 2007 was traumatic personally. Though some of the traumatic experience continued into 2008, it was more of recovery personally and a time for change and consolidation Professionally. And, it was a mixed bag from the world around me.

World around me:
Chandrayan and India’s achievements in Beijing Olympics after a long while are on top of my mind on a positive note. Yet another unforgettable development is a Sister Alphonsa reaching sainthood. Happiness of these, however, marred to some extent by Mumbai bomb attack and global economic recession.

My cousin Jayan Varma became world’s fastest percussive bassist. On the negative, my father’s health suffered serious jolt. By god’s grace, timely intervention and good medical care, he has recovered to a great extent. May be unrealistic to expect at his old age but, as a son, I expected him to be ever active. Now, he along with my mother require constant attention. I am yet to figure out what best I can do for them.

2008 was also a year when I could connect back many of my old friends. Sunil, Ashok, Suresh, Romy, and Narayanan from my college days, and my friends Arun, Unnikrishnan, Madhavan, Zacharia, Varughese and Vaideeswaran from days of my first job. I could also connect to Amit and Shanmugham from CMC Ltd, Hyderabad.

This was also a year when Mr. Naresh Kumar Reddy passed away. I was shocked to hear that sad news. I was reporting to him during later part of my tenure at CMC Ltd. I learned quite a bit of management lessons working with him. Time has to say how effective I was in their application. Pray to God that his soul may rest in peace.

On professional front, in 2008, I have worked closely with Vikram Sarabhai Space Center, Trivandrum (Ministry of Defence, Government of India), and Weapons and Electronics Systems Engineering Establishment (Ministry of Defence, Government of India), Delhi helping them adopt software engineering best practices, methodologies and tools. As a departure from the past, I had started traveling outside India on business, with a visit to Qatar in October 2007. This was followed by visit to Saudi Arabia in March-April 2008 and a visit to Nigeria in June-July 2008. In the meantime, I was working for a customer in Germany remotely from India for test automation of SAP implementation. I visited Germany, by November 2008, to commence yet another project on test automation of SAP implementation.

Overall, I am happy looking back as indicated in old farewell note to Rational that I had written in 2002, having achieved what I had set out to.

My professional high in 2008 were:
1. Publishing case studies of success from India, a result of hard work in the past
2. Paper presentation at Rational Software Development Conference in Munich, Germany
3. Publishing case studies of success in test automation of SAP implementation in Germany
4. Release of Ready for IBM Rational Software plug-in Astra Model Creator and Astra Test Automat, with best practice compliance

2008 was also a year when I could connect back many of my old friends. Sunil, Ashok, Suresh, Romy, and Narayanan from my college days, and my friends Arun, Unnikrishnan, Madhavan, Zacharia, Varughese and Vaideeswaran from days of my first job.

I shall write on what I look forward to in 2009 and further in my note tomorrow

My favorite song for the year 2008 reflection (movie: Aap Ki Kasam):

December 31, 2008 Posted by | software engineering, Software Quality, Testing, Uncategorized | Leave a comment

Further on software testing paradox

Taking discussion on software testing paradox further:
Thanks for the active discussion on the topic. I appreciate the view points expressed here.

One common thread that runs through all comments being the developer himself is doing/expected to do quite a bit of testing of what he makes. I find that common thread also running through the earlier quoted article Commitment, The privilege and responsibility of software development, Test Driven Development and also in the code of ethics for software engineering published by IEEE.

Spirit is the same but when it comes to practice, naturally, business and commercial priorities take over and focus is primarily on delivery of code.

I have no intention to deride developers, or any other stakeholders. I do my bit of coding these days as well, and I do test, I manage projects and I manage customers. As a manager, I trust my team and my experience is that team delivers best in high trust environment. As a developer, I would not (I believe, no professional would) like to have bugs in the software. (After all, it is my baby; why should that be inferior?) Again, business/commercial considerations are not bad; the very reason for we being where we are. If my manager is expecting something out of me, or my team, it is for a good reason

I agree with statements of conventional wisdom: Developer needs to test their code. Testing needs to be done at the unit, integration, system and user acceptance levels. Defects discovered earlier the cheaper and the better. Testing needs to check that software does what it is supposed to do and also check that software does not do what it is not supposed to do.

With current year is coming to an end, getting into new year with a lot of expectation, a hope for a better tomorrow, I would like to ponder on ‘can our life be better?’; hopefully, the right time to spare a little thought, spend a little time on seventh habit (“Sharpen the saw”) of ‘The Seven Habits of Highly Effective People’? After all, if we do more or less the same thing, it is natural that we get more or less the same results. Can we do something different to retain/increase productivity and quality without increasing cost? That could help us when purse strings are tight

December 29, 2008 Posted by | software engineering, Software Quality, Software Testing, Testing, Uncategorized | Leave a comment

An old farewell note!

Rational Software Corporation was a company that I longed for, worked a couple of years there and still cherish my days there.

Going through my old records, I picked up my farewell note to Rational. It reads as below:

Farewell to ‘Rational’

Firm stands ‘today’, the moment of truth
Basking in the glory of the yesterday
Lo ! beckons the future, excitements set forth
It is time for me to move on, I say !

Shall stay with me, for ever and ever
Some ‘Rational’ thoughts, so fresh as ever
The joy of sharing, and caring for another
The fun of learning, and working together

It hurts to say ‘bye’, dear ‘Rational’
Oh! my friends, it pains to bid ‘farewell’
We shall meet again in the world, so small
We shall hold together, with a heart no small

Let me be gone now, for a while
To join our hands again, in a little while
For some purpose, quite worthwhile
To help our customers, with a sweet smile

I set forth to achieve certain tasks back in 2002, and on retrospection, I am glad to have

Authored a few successes that I had set my eyes on:
1. Case studies of success in India
2. Case study of success in Germany
3. A good customer base
4. Customer testimonies

And been part of a few others that I dreamt of:
1. Astra Model Creator
2. Astra Test Automat

December 29, 2008 Posted by | IBM Rational, Rational, Uncategorized | Leave a comment

Future of Agile approach

Following are my comments on ‘Is the Agile Manifesto killing agile?’ in Agile Alliance group in Linkedin:

Agile was born as a corrective movement at a time when documentation ruled in the name of process and quality. At one end of the spectrum that over and outdated documentation issue still remains. At the other end, we have projects which abuse agile approach to justify ad-hoc activities.

I believe, spirit of agile approach is still very relevant. But, I am afraid, an attempt to bring in checks and policing to ensure agile compliance would only lead agile approach to the textbook compliance but weak in practice

Perceivable (lack of) openness in exchange of ideas and discussion of bottlenecks/risks in a stand-up meeting can be a case in point. For instance, how ACTIVE is a tester’s participation. Does a tester dare to ask uncomfortable questions in such meeting? When is customer/end user involved? How ACTIVE is customer/end user participation?… But on the other hand, putting checks and measures here will lead to ritualistic compliance

What I find great about agile approach is bringing focus back to people that process and documentation. Key to success is people (at every level, from top management to end user) with right attitude, motivation and skills, that is where it is being hit and correction has to be precisely there.

I believe, a second round aggressive campaign to spread awareness on what agile is, and what agile is not, on a larger forum addressing all stakeholders (including customers, end users, developers, testers, managers, senior management). This has to happen at global and local (organizational/project) level; my general experience with people are they listen to reason.

There cannot be a better time than NOW considering current recession. Purse strings are tight and panic reaction is to go for cheap labor, cutting corners in documentation (cutting even necessary documentation without adequate mechanisms for knowledge percolation and persistence) in the name of being agile. But there is a better way, making right decisions and right choices. Agile, if it has to stay, must deliver solution NOW; and with my experience, I think, it is possible!

December 28, 2008 Posted by | software engineering | Leave a comment

Software development paradox

We have helped our customers/users automate their business processes. We have integrated islands of information in their business. We save them from deluge of data cutting across organizational structures and geographical barriers. We have indeed transformed the society

Is it not time to reflect on our own business? How much have we done? I am not referring to documenting requirements, design etc in electronic format using word processors, requirements and design tools, etc. What we do for our customers/users definitely go beyond this. How much have we automated our business processes? If we have, have we done enough? What are the barriers in progressing further?

I believe, now is a right time to introspect as we take a pause and look forward to a new beginning

Watch discussion on this, in Software Professionals group in Linkedin

December 27, 2008 Posted by | Product Engineering, software engineering, Software Quality | Leave a comment

Software engineering paradox

I think, most frequently used definition of Software engineering involve ‘…application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance….’; quite rightly so

Paradox that I see:
I have not come across any universally accepted (meaning, not colored by vendor claims or any party with vested interest) quantified benefit derived out of adoption of a specific solution. For instance, what is the magnitude of benefit that object oriented approach has brought in; or for that matter, architecture centric approach, design patterns, iterative development, agile methodologies

I am aware of successes in adoption and I have seen failures as well. My intention is not to question but I have not come across any specific, undisputed/uncolored proof that a scientific/engineering discipline demands

I believe, now is a right time to introspect as we take a pause and look forward to a new beginning

Watch discussion on this, in Software Engineering group in Linkedin

December 26, 2008 Posted by | Agile, Product Engineering, software engineering | Leave a comment

Software Testing Paradox

A few generally accepted facts:
1. There are more ways to do/get something wrong
2. Software development is a team work
3. Combinatorial probability of getting everything right by everyone is very low
4. There are many ways to break a system than using it right

This would lead one to believe that effort in testing should be more than development. Then, why is number of software testers in a typical software development organization, and person hours spent in testing, is far too low compared to coding?

I believe, now is a right time to introspect as we take a pause and look forward to a new beginning

Watch discussion on this, in groups Software Testing Club and Software Testing and Quality Assurance groups  in Linkedin

December 26, 2008 Posted by | software engineering, Software Quality, Software Testing, Testing | Leave a comment

Software Factory, MDA, Astra Model Creator, and Astra Test Automat

Often Software Factory and Model Driven Architecture as two orthogonal approaches.

For me, both are two different perspectives of software product engineering. Abstract and concrete modeling and transformation, and production at a software factory as dictated by production process dictated by architecture go hand-in-hand to make a successful product line

We, at Astra Infotech, enable the merge with our Ready for IBM Rational Software Astra Model Creator and Astra Test Automat

December 13, 2008 Posted by | IBM Rational, MDA, Model Driven Architecture, Product Engineering, Rational, Ready for Rational Software, software engineering, Software Factory, Software Quality | Leave a comment

Yet another proud moment!

A great day indeed!

Astra Infotech‘s Astra Test Automat is awarded the prestigious ‘Ready for Rational Software’ certification from IBM, with best practices compliance.

This is now Astra Infotech‘s second solution after Astra Model Creator to receive this certification

December 10, 2008 Posted by | Functional testing, IBM Rational, Product Engineering, Rational, Rational Functional Tester, Ready for Rational Software, SAP Testing, software engineering, Software Quality, Software Testing, Test automation, Test Automation Architecture, Test Automation Framework, Testing | Leave a comment