Archive for May, 2008


Read Full Post »

1. As a software project approaches release, its mass increases.
2. The energy required to release a software project is inversely proportional to the time before a scheduled release.
3. It takes infinite energy to release a finished product on time; therefore, all software projects are both incomplete and late.
4. Time is relative to the observer of a software project. The last month of development appears to an outside observer to take a year.
5. If a software project becomes too large, it will collapse into a black hole. Time and money are absorbed but nothing ever comes out.

Courtesy: USCD Software Evolution Group

Read Full Post »

Quiz Time

Aamir Butt, Ultimus Pakistan

You have used sizeof() operator, right? If you haven’t; sizeof() operator is used to get the size of the object passed to it, simple. Now I want you to not-to-use sizeof() operator, and tell me a way to find the size of an object. Yes in C++ please.
Share with us the solutions on dcsiiui@yahoogroups.com, the best chosen result will be printed here next month. Code efficiency and optimization are the standards 🙂

Read Full Post »

Muhammad Shoaib Anjum, Ultimus Pakistan

A few days back I was discussing with some friends, “Why open source software cannot replace commercial software?” And the primary reason we ended up with was “Support & Maintenance”.

Open source is great; its the real thing, and it takes guts & passion to develop what commercial software cannot think about doing. But still, I won’t be categorized rational while adapting a software for running my inventory & finance, which doesn’t have any support tickets along with, and hence cannot help with financial reports for the month of April 2008, that went missing because of a random crash. It just doesn’t make sense.

And its the realization of this factor, that has helped some businesses to come into existence: yes by merely providing support for an open-source application. PostgreSQL for example, is not an easy beast to bow. It teaks guts to get it running and get it continuously running, despite the fact that it is the most advanced open source database out there. PostgreSQL Inc. is making money on this realization.

Red Hat is probably the most successful example when it comes to Linux. The source is open, but they charge for packages, support and all that stuff.

So … even if open source is being used by enterprises, its not just an open source software, but along with support provided by a market player. It just doesn’t make sense, otherwise.

And while providing support, a business may start adding market-demanding-features of its own into the product shipped only with the version deployed by them, and charge for these features separately. Going `a step further, it may decide to make the code for these features closed, to keep it closed off course, or another business might pick, the features and the code, up and start making money on the same.

Going one more step further, it may decide to license the software under question, and charge on separate scales. This is exactly what MySQL recently started doing by providing two separate editions: Community Edition & Enterprise Edition, and EnterpriseDB is doing for some time, and not to forget Google, somewhere on the same lines. Yes you are right, Google does not sell support for open source neither does it sell open source software, but its whole empire is built upon open source software. Google makes money using this huge software base.
So far so good.
The problem arises when you take the software, build your business on it, make money and be happy. Period. You do not bother to take the last step i.e. to pay back. If you are kind enough to contribute back to the community whose original footprint, the original product, you are using as the base; that is great. But if you are not, which most of the people are not, its bad. Very bad infact. You are making money for someone else’s man-hours. You do not deserve it. Yes, right, you are providing support, you marketed it, you added features, all true, but its not yours. You decorated it, but you do not own it. Its like making money from your business housed in a commercial plaza, but not paying the rent.

This pay-back may not necessarily mean paying money. You can rather contribute software to main product line, you may provide resources (servers, bandwidth or anything else) to the community, you might spare a few people to test the beta, or anything that comes to your mind and can be helpful for the people who actually did it.
Pay the rent, please !!!

Read Full Post »

Ayesha Saeed, Ultimus Pakistan

Programming is a game of vision and testing – the assessment of sight; this is what I used to think about testing. This pre-conceived notion had deep roots in my mind. Now, after spending few months into the task, I can definitely say that being a tester is not an effortless task.
Initially when I joined my current job, I was ignorant of my assigned product and the testing strategies. However, in software testing, ignorance can become your strength. Software testers who are not familiar with the fact that how the system has been put together can be in a better position to find certain bugs. On the opposite, ignorant testers are more likely to report bugs that are not meant to be fixed. It being a part of product functionality or because they are simply reporting a known design problem that is not going to be fixed.
At the beginning, I started getting fed-up easily of as-designed issues because of my lack of knowledge about the product under tester’s scrutiny. What would be the key of having control on these as-designed issues? During this distress period, I started going through product related documents and day by day started getting familiar with known issues of product. Result was obvious; count of known issue reporting started depreciating. Vigorous reading of product related documents was giving positive results. Bug count, new issues and defects, was increasing gradually and I was pleased with my habit to report known issues. Active reading of reference materials, trying the product’s in and out made testing coverage easy. Next issue was that of bug count that obstructed at a point as testing coverage was completed.
Someone asked me to do exploratory testing. Now what is that?

I later found out that exploratory testing is not just a testing technique rather it’s a way of thinking about testing. Testers who emphasizes on exploratory testing use variety of tactics to learn about product under test and its context.
Exploratory testing emphasizes adaptability and learning.
Three factors that make explorers different from ordinary testers are product attack, failure gauge & risks.
An attack is a stereotyped class of tests, optimized around a specific type of error. For example, test product for input attack. Overflow the input buffers by repeating same input or series of inputs numerous times.
Failure gauge is a way in which product under test can fail. Every time when a product crashes tester repeats the scenario and execute it to reproduce crash.
Threat of breaking any quality criterion of product under test is a Risk. Quality criteria are used to determine the problems faced in product’s working.
Do not get upset if your bug count is stuck at some point even if you are trying functionality, negative or regression testing; work on all these three factors. What you will achieve through this practice is exploratory testing that remains confided in the boundaries of product’s testing specification.

This is my Expo-Spect. Stay tuned for examples of Expo-Spect in my next article.

Read Full Post »

One Minute

Muhammad Usman, Marriala Technologies

“Excuse me; may I have your one minute please?”

“Yes sure, do you need any help?”

“In fact I am looking for the way to Club Chowk, can you guide me from here?”

“Since you have got your car, it will take you 5 minutes from here.”

“Its fine, but which road I should follow?”

“I would recommend you to go straight from here and join Jinnah Road from the first Chowk, On Jinnah Road there is another road call, Ghazi Road, the first turn of Ghazi Road, will lead you to Club Chowk.”

“Ok, Thanks for your time.”

“Excuse me, may I your one minute please?”

“Yes sure, how can I help you?”

“In fact, I have to go to Club Chowk, I acquired help from some one else, but he guided me using the names of the roads I have just heard today.”“Oh, you seems to be some one new in this city.”

“No, I am living here for some years, but didn’t come in this part of the city before.”

“If you have to go to Club Chowk, it’s a very simple path; you will go straight from here, from the first Chowk turn to the right and go straight. Don’t turn any where from the signal. After the signal, turn to right from Chowk and immediately turn to the left from first road. Crossing three signals, on your right, you will find Club Chowk. I think it’s straight enough for you now.”

“Ok, thanks for your time.”

”My pleasure, I hope you reach there in time.”

”Excuse me, May I have your one minute please?”

“Yes, sure, you are looking very confused, how can I help you?”

”I have to go to Club Chowk, but I am unable to find a way to my destination, do you know where this Club Chowk is located?”

“Yes, off course, I think you are new here. Let me guide you. You will go straight from here, there will be a Big Building in the corner, it’s the new Building for a Cinema, you will find Movie boards there, and you will turn from this road to the opposite side of the building, and will go straight. To the right when you reach near Raja Restaurant, you will turn to the same side. After going straight, you will reach to the end of the road. There will be two turns. There is a big Marriage Hall to one side, you will move to that side, and this road will lead you to the Club Chowk.”
“That seems pretty straight forward, thanks for your time.”
“No Problem, some times educated people need, uneducated people like us, and we know how to help them.”
“Ok, Thanks for all this”
“Have a nice time”
“Excuse me, may I have your one minute please.”
“Yes sure, but be quick, I am in hurry.”
“I need to go to Club Chowk, but …”

“Oh, You must need help to find the way, I have to go to the same Chowk, and I am on foot, Let me get into you car and I will guide you to the Chowk. This way I can also get to my destination quickly.”

“Yes, sure, Get in.”

(Thank God)

Read Full Post »