Saturday, February 03, 2007

Just a small religion danger (dharam sankat)

A small conversation between me and my friend, some time ago after coming out of a night club.

Friend: Those black lights are great man. We should buy those when we party at home next. Just black lights.

Me: Yeah that would be cool. But after a few minutes of awe it really isn't that great. We can barely see and "black lights only" at home is NOT a good idea. By the way, think about it, "black light" ... oxymoron

Friend: (fuming, and visibly agitated) I am not a moron. You are a moron.

I just drove back in disbelief.

Thursday, February 01, 2007

Writing good use cases.... what not to do.....

previous installment in this series is part 1

What I think as good use cases.

To be able to write a good use case, we should first know about what not to do. If we avoid these pitfalls, it should not be hard at all to write good use cases.

The TOP 5 use case killers according to Gary K. Evans and William F. Nazzaro are

  1. CRUD based use case partitioning
  2. Design by use case
  3. Actor mis-classification
  4. Use Cases for all requirements
  5. Use Case normalization
I agree somewhat with the authors. I agree with the causes, but have some reservations about the reasons they present. I will explain what they mean (these points are from their presentation in 2002, but I would explain it in my own way) and then add my own points.

CRUD based use case partitioning

CRUD stands for Create Retrieve Update Delete. We can partition a use case using these database actions. This seems like a very efficient way. And congratulations, you have a technical document, not a use case. The moment you say CRUD, your use case probably has more use for a technical team rather than a business user. And automatically when you partition use cases using CRUD, interaction with database has to be outlined and it does not stop there.

Step back.... look at the big picture...

We are creating a use case for the business user to get an approval of our understanding of the requirements. We are also using the use case to get a very high level LOE (Level Of Effort) from the tech team. The LOE is not binding, at least not yet. This LOE and use cases allow the business user to calculate ROI and gives him a chance to evaluate the project. This also helps to manage the business user's expectations. This also gives the user a chance to call off the project which might reduce the number of failing software projects.

Trust me, when I say over 80% of the projects fail. I could probably give you a lot of references for it, but I will leave the burden to you. Just "googling" should give you some.

Why should we not use CRUD based partitioning

  • Although we would achieve discrete partitioning of use cases, it is may not signify discrete business transactions.
  • These use cases explain acquiring and processing of data but do not capture the business processes
  • You end up with a huge number of use cases doing too little.
So while writing a use case, we need to think like business users and should put the technological background to the backseat. It will not stay in the backseat for long, because Business Requirements and Technical Specifications wouldn't let them stay there for too long. Use Cases ARE NOT technical documents.

I would discuss about the remaining use case killers in future installments.

Thursday, January 25, 2007

A Statistician who did everything right... err... except

The man I am talking about is William Edwards Deming (1900-1993), an American statistician widely regarded for improving production in the U.S. during World War II and was responsible (followed by Joesph M. Juran) for "quality" shooting through the roof in Japan, after it rose from ashes of the mushroom cloud. The JUSE (Japanese Union of Scientists and Engineers) offered him LOTS of money which he refused, hence the Deming Prize (awarded to a company/individual for contribution to the advancement of quality, but them being Japanese, it is mostly within the country).

Aside: I don't know why he was called a statistician, because his bachelors was in Electrical Engineering and his MS & PhD were in Mathematics and Mathematical Physics, well he taught Statistics in NYU's Graduate School of Business Administration, but since when do MBAs know about statistics except mean, median and mode. Nevermind........

Deming met Walter A Shewart (the pioneer of the concepts of statistical quality control to industrial production and management) at Bell Laboratories in 1927, was greatly inspired by him, and finally led to the Deming's Theory of Management (a staple course and Industrial Engineering and MBA).

Deming's fourteen principles for management

  1. Create constancy of purpose for the improvement of product and service, with the aim to become competitive, stay in business, and provide jobs.
  2. Adopt a new philosophy of cooperation (win-win) in which everybody wins and put it into practice by teaching it to employees, customers and suppliers.
  3. Cease dependence on mass inspection to achieve quality. Instead, improve the process and build quality into the product in the first place.
  4. End the practice of awarding business on the basis of price tag alone. Instead, minimize total cost in the long run. Move toward a single supplier for any one item, based on a long-term relationship of loyalty and trust.
  5. Improve constantly, and forever, the system of production, service, planning, of any activity. This will improve quality and productivity and thus constantly decrease costs.
  6. Institute training for skills.
  7. Adopt and institute leadership for the management of people, recognizing their different abilities, capabilities, and aspiration. The aim of leadership should be to help people, machines, and gadgets do a better job. Leadership of management is in need of overhaul, as well as leadership of production workers.
  8. Drive out fear and build trust so that everyone can work more effectively.
  9. Break down barriers between departments. Abolish competition and build a win-win system of cooperation within the organization. People in research, design, sales, and production must work as a team to foresee problems of production and use that might be encountered with the product or service.
  10. Eliminate slogans, exhortations, and targets asking for zero defects or new levels of productivity. Such exhortations only create adversarial relationships, as the bulk of the causes of low quality and low productivity belong to the system and thus lie beyond the power of the work force.
  11. Eliminate numerical goals, numerical quotas and management by objectives. Substitute leadership.
  12. Remove barriers that rob people of joy in their work. This will mean abolishing the annual rating or merit system that ranks people and creates competition and conflict.
  13. Institute a vigorous program of education and self-improvement.
  14. Put everybody in the company to work to accomplish the transformation. The transformation is everybody's job.

He used the equation

Results of work effects
Quality = --------------------------------------------
Total Costs

and asked to focus on improving Quality, which means that ultimately costs are reduced, but companies focus on Costs and thus Quality is reduced.

Everybody consider these as a sure path for success. However, except the Japanese companies, where do we see them implemented?

On the contrary much furore was raised by Slaughter and Parker (possessed by the demons of Taylorism, Fredrick Winslow Taylor and Sloanism, Alfred Sloan), mind you there are good things about them too, reducing repetitive injuries, and.... and.... sorry, but I fail to remember any more. They said that the process should be client driven and Deming, for that matter even Crosby, Philip B. Crosby, Juran, Shewart etc. were stupid to concentrate on quality, not customer. Ahem... If I can see that in their papers and studies, mind you I am not an Industrial Engineering graduate, whats wrong with these guys.

For such a revolutionary statistician, failure came in the form of GM. GM "allegedly" followed the fourteen principles and built Pontiac Fiero in 1984. I say allegedly because they were not concentrating on Quality, they were keen on Costs and in any case the principles were not followed. According to the enquiry report one of the engineers knew that Fiero's engines had a good probability of catcing fire. And GM released the vehicle with the cars with a probability of 0.1-0.4 of catching a fire. I don't know how this is called as following the principles. But still many people argue that his principles failed (people get PhDs arguing for or against). Deming was a consultant at Ford in 1981 for quality, but he changed the way their management thought citing 82% of the problems as being with management and they beat GM and Chrysler year after year in sales because of him.

Failure came to him for something he was not even involved with.

"Risk" dekhne ka risk kiya...........

aur mogambo khush hua....

After a string of miserable movies (inspite of skipping KANK), I finally watched a good movie. I don't know if it is the acting/screenplay that was great or just pure adrenalin rush that comes with an underworld don kind of movie.

Thanks to RGV their life is no longer a mystery, he directed/produced many a movie, however, each time I watch a movie on the underworld, it never failed me, the same feeling that I had after watching Satya.

If you want to know the story without watching the movie, please go here. I don't understand why people cannot get it that a review is supposed to express opinions, and give their recommendation, not the story. However, even after reading the above review, I thoroughly enjoyed the movie. Though I despise Raja Sen's reviews (I cannot stand his language, too flowery and I think he tries too hard), I do have to give him some brownie points because he does not reveal the story.

Vishram Sawant scores once more after "D". But RGV is known to be "closely associated" with all his movies. The story too is somewhat similar to "Ab Tak Chhappan". Good screenplay. He could have done without the item song. I think there shouldnt be any songs in the movies, we should go the "soundtrack" way. May be item songs are okay. I take that back, considering the quality of the recent item girls, they should be shelved too.

Randeep Hooda picks it up from where he left D, albeit on the other side of the fence. I sincerely think he is a good actor. He said he learnt some of his mannerisms from Daya Nayak, and it works. You get a strong silent type, but not a stereotype.

Vinod Khanna was good. However, I never understood why AB was a bigger star, but this movie cleared that up for me. AB's voice made him a bigger star. VK looked the part, played the part, but did not sound the part.

Tanushree Dutta, I did not understand why she is in the movie, but well, all films are supposed to have a heroine. Thankfully her character was not "etched" anymore as complained by others.

I dont remember the name of Hooda's partner in crime (or crime elimination) in the movie, but that guy looks a lot more like Daya Nayak. It would have been a real scoop to cast him as a hero.

All other Varma regulars did their part.

I would say "paisa vasool", infact double vasool, cuz it was Wednesday and ticket price was discounted, especially when I paid the full price for a film like Yogi (telugu).

Tuesday, January 23, 2007

When guidelines become RULES......... Project Management

Guidelines are supposed to be just that...... but they can quickly transform into rules, which might tie down productivity.....and when you have managers modifying these at will, well... you have a sure recipe for disaster

Don't get me wrong, I am not saying these should not become rules, some of them deserve to become rules, but as an age old saying tells it all, " Partial Knowledge is THE MOST dangerous knowledge in any setting"

Please let me discuss use case documents to get my point across

The use case document was supposed to be

  • in PLAIN LANGUAGE that everyone who reads it can understand it
  • a few SIMPLE artifacts.
  • a reasonably structured, but INFORMAL way of expressing functionality
  • a medium to manage (add/delete/modify based on consensus) vision and goal
On the contrary it has become
  • a chore which might not even justify the pain
  • a vehicle to present systems internal activity repeatedly
  • practically impossible to decipher without formal training
  • difficult to develop/maintain with no sense of optimality
How do use cases go bad?

It is a bigger possibility that use cases go wrong in a structured environment than in an unstructured environment. There is only so much wiggle room in a structured setup.

In my opinion, the top most reason for a use case going bad is the perspective of the author

If it is a person with a developer background, it is hard for the perspective to change from "the system" to the business. A transaction in a business sense would mean from point A to point B, however when SMEs use this word the newly minted developer BA would just assume, without a second thought that a database has to be involved and it is a a transaction to create/modify or delete a record. And in many cases a database exists and it is quite possible that the transaction that the business user referred to is just that. But the very origination of the use case is in trouble because from that point on, the developer BA is never going to come to the same level as the Business User to think about the system and the result, too many instances of <<'include'>>, <<'extend'>> and too much use of classes in use case. Now why would you put a class in a use case. Remember use case is supposed to be in plain language. In this case a use case becomes too technical, too technical for a business user to understand properly and give his full opinion. This document has a better role as a Technical Document that has to be distributed in the development team. This has no place in the business circle.

If it is a person from the the business setup, then God help the developers. Even when the development team talks about a complicated database transaction, the only thing that is going on to the use case is "some interaction with the system". This may be a good document in the business circle, but it is just that, not going to help develop anything. And though the technical team is ultimately blamed for it, ,they are not the ones to be blamed.

This is the reason why a Business Analyst is called a "liaison" ( this word is overused and should be banned). A good use case comes when a guidelines are followed to a reasonable extent. In the first case the guidelines laid are made RULES and in the second instant they were not even followed.

A use case need not be in the format of
  • Abstract
  • Goal
  • Preconditions
  • Use case
  • Work flow
  • Postconditions
  • Alternate Work flow
  • Exception Work flow
  • Wireframes
  • Screenshots
  • Appendix
This is an artifact that needs to exist when building a system, but a use case need not be this. The above document is a derivative, not the principal, but it is considered to be a principal nowadays, especially by Project Managers and this takes up a lot of valuable time during the limited interaction with the business users. These meetings should be used for a better purpose, not to go through work flows. It is these meetings that most of the non-functional requirements come out. Non functional requirements are also a big part. And usually these are the crux of a project failing.

At the same time, some guidelines should also be followed, the use case document is something that has to be approved by business users as well as the tech team. If the use case says "some system interaction", it is not going to help. It is not going to give the tech team an idea of how long the development is going to take.

Another major flaw in use cases nowadays is the sense of optimality. Estimating the number of use cases required to build a system is a passe. There are only two things today in use

Too many use cases doing awful little
Too few use cases doing an awful lot

Breaking up use cases optimally saves time and time is money.

My take on how to write good use cases and how to optimally break them up coming soon...

Chandana ami aar aashbo na....

Debabrata, defined our class anthem before Holud Pakhi and Purani Jeans came into play....
I actually like this parody better than the original.... (curtsy: Debabrata Rakshit)

Music: Anjan Dutta

Lyrics: Debabrata Rakshit
Vocalists: M.Stat2000 batch minus Mitra and Tattoo

class ey dhukle
thhyang khoda kore debo

boleche Nitin bhopu-ra

canteen ey boshe jhaari maarchhi taai

chandana, ami aar ashbo na

Macro ta ami nije bechhe niyi ni
elective ey chhilo na je haat dona
geo bio stat ami konotaai pori na
paarbona hote pongaas
mishti ke dekhleii mushkil-ey pori
mon-er kotha ta ami ki kore boli
kolom-er jorey ami paarbo na

parbo na hote ami mario
taai nitin bhopu keii poriyo
aashte hobe na aar chho tolaaye
chandana, ami aar ashbo na

bujhbo ki kore ami tomar S. Bose dada
shudhu je tomar dada noy dona
aaro koto tan diye mogojdholai kore
ta'r shob din kete jaaye dona
mishti ke dekhleii mushkil-ey pori
mon-er kotha ta ami ki kore boli
kolom-er jore ami paarbo na

parbo na hote ami mario
taai nitin bhopu keii poriyo
aashte hobe na aar chho tolaaye
chandana, ami aar ashbo na

Nirmalya'r Orient Express er CD

When Nirmalya left Baltimore (working for shitty bank) for good to Chennai (to work for a baniya ka dukaan), he left a few things for me. Of these a lot are those that he "sentu"-fied (a.k.a "hain bhai"-ed) from me (e.g. my wireless router, had to buy another one after "donating" mine, but am definitely glad I got them back), he did leave one cd named Orient Express. I thought he somehow got the movie and forgot to write "The Murder On". To my surprise I pop it in the player and suddenly this latino music (salsa kind) comes on.... no picture.... before I started dreaming up a "case" about Nirmalya's one of many escapades with a latina, a guy screams "Bondhu shunte pachho?"....


First reaction... "bangla band er gaan salsa music er sange.... remix korar aar kono music pai ni lokjon"....btw I do think in Bengali.... and nowadays I am thinking in Bengali and then translating it to Telugu.....

Next logical step.... tried to retrieve metadata from cddb, but failed to do so.... but not the one to accept defeat easily, spent around 4 hours of my precious sleep time to get the songlist and find one forum with the songlist albeit only a part of it....

By now, rapidly losing patience, I just wrote the songlist by myself.... even though I think in Bengali it is hard to figure "Emon Ek Jholmele Din-e" by myself....that too when someone decides to eat half of the words while singing....

Anyhow it is in one of these search pages that I actually discovered that I do have a blogspot for myself, I almost forgot about it.....

Lets see how long I do remember this time around......

If someone keeps track of songlists for their IDv3 tags, here is the list. ( I am almost tempted to write somethign about the band, but The Telegraph has a write up about them...... Don't bother searching for them on Google, cuz every freakin blogger who mentioned them just copied it from Telegraph.... not even a link, just copy and paste)

Album: Bandhu Shunte Pachho?
Artist: Orient Express (a.k.a Monojit Datta & The Orient Express)

Tracklist

01. Bandhu Shunte Pachho? 5:07
02. Emon Ek Jholmele Din-e 3:50
03. Ei Prithibi Amader Baari 6:08
04. Tomar Gaan 3:47
05. Saara Akash Tomar 4:52
06. Ektu Darao 4:58
07. Purno Shokaal 4:39
08. Bolte Cheyechi Tomai 4:27
09. Amar Mone 3:59
10. Dekho Nijer Gobhir-e 4:45

Now that you actually read all this, my take, even though being an ardent fan of bangla band.... I think this album is not really worth wasting 4 hours of sleep.... realized it pretty late....

Last, a fact (trivia sorts).... did you know how sentu-fying is going on now..... way back in 1997, it seems that I sentu-fied a beer from Nirmalya, in turn, he got it free from the shop, never paid for it, nonetheless, it is being used against me still.....

Tuesday, March 28, 2006

Dentyne-isms

If you are familiar with Dentyne chewing gum, then most probably you are familiar with Dentyne-isms (supposedly words of wisdom.... but i think half baked). Some of these are funny, and some are really bad.

Check for yourself.

#001: Take the path less traveled but bring plenty of underwear.
#004:Why don’t aliens ever kidnap normal people?
#005: Today’s the day. (If not tommorrow is too).
#006: a penny saved is not much in the grand scheme of things.
#007: Tall people may be taller, but they also get rained on first.
#009: do unto other, but don’t use unto in casual conversation
#010: It's not who you know, but what you know about whom.
#011: Why is it always awkward when the music stops in a bar?
#012: If all else fails, hit the ground and start flailing.
#013: Taste varies (depending on you level of desperation)
#014: The beauty of a vibrating phone goes beyond silence.
#016: the more time you spend staring into her eyes the less you’ll talk later.
#017: Lift someone's spirits (but try not to throw out your back).
#019: Don’t date someone who says they need to be “selfish right now”...
#022: Whoever said "the chase is half the fun" has never been caught.
#023: Love thy neighbor, but lock your car.
#025: Why don't psychics ever win lotteries?
#026: Love is Blind, but lingerie is still a good thing.
#027: Why is “abbreviated” such a long word?
#028: Why are there interstate highways in Hawaii?
#030: If at first you don't succeed, sky diving is probably not for you.
#031: How long a minute is depends on which side of the bathroom door you’re on.
#032 All signs point to yes… Take it how you’d like.
#033: If time stands still, what time is it when it starts moving again?
#034: For a more intense workout, whack a beehive with a bat.
#038: How is it that every movie that comes out is “The Best Movie of the Year”?
#040: Let the awkward silence that follows your jokes be a sign.
#041: Why don't fortune cookies give actual fortunes anymore
#068: Someday parachute pants may come back in. Today is not that day.
#070: Whenever someone says "Fire at Will", does Will get a royalty check??
#081: Mint is said to be a good mouse deterrent. You're on your own against hyenas.
#082: You're only as old as people think you are.
#085: If you’re scared, just whistle. If that doesn’t work, run.
#090: just when you thought all hope was lost, along came Macarena
#091: Beware of anyone who overuses the word “paradigm”
#092: Why do people call their advice "two cents" when it's usually worthless?
#094: It's not wise to upset a grizzly bear, especially if he's been drinking.
#095: Picking a scab early may leave a scar, but it sure is fun.
#096: Making the bed: Not fun. Messing it up again: Fun
#101: Why do all unusual meats taste like chicken?
#104: if your life had a soundtrack, would it be played by and ochestra or a band of accordians?
#111: The scenery was nice, but the road was a little curvy
#113: There's no monster under the bed. He's in your closet tonight.
#116: Replacing someone’s parachute with canned goods is not funny...Okay, yes it is!
#117: A first date is NOT the place to mention you've done time.
#121:” Life is like the protective cup a man wears when playing sports, sometimes it gets sweaty and uncomfortable, but if you get kicked in the nuts you are glad you didn’t forget to wear it.”
#131: Why is it that the more you spend on dinner, the hungrier you are when you leave the restaurant?
#132: Making faces in the mirror is one of life's great secret pleasures.
#134: Happiness is a brand new pack of Dentyne Fire.
#135: Why do the bad guys always flee upstairs to the roof?
#136: Much worse than tennis elbow is video game butt.
#138: Instead of saying cheers, make up something and say it's foreign.
#142: Don’t cut the pineapple with the a broken knife, or the knife will turn into Woodstock ‘69.
#147: Everyone practices one-upmanship. But I am better at it than you.
#152: Want to see the world? Just look down. That’s it right there.
#154: Think about this: EVERYONE thinks they look good when they leave the house.
#156: You can't really call TV characters at phone numbers that begin with "555"
#157: If there were no Mondays, everyone would complain about Tuesdays.
#158: Surfing used to be done in the water. Now it's done mostly at work.
#159: Open your eyes when you kiss - if you get caught, what can they say?
#160: I dare you to chew a few pieces of Dentyne Ice and then drink some really cold water.
#161: "Corduroy underwear: Never had a chance."
#162: To get someone to keep talking - nod your head and say “REALLY?” a lot.
#163: If a candy bar says "NOW with real chocolate" what were you eating before?
#168: Sticks and stones may break my bones, but rug burn really hurts.
#169: The muumuu has yet to realize its full potential as a fashion trend
#170: if you name ur dog rollover your going to have to bathe him a lot
#171: My vacuum cleaner is dusty - what should I do?

I switched to Orbit.... so I think the updates wont happen anymore... lets see