Thursday, June 22, 2006

SWAG

Circa 1993

It was the software engineering class, and the topic was 'Estimation Techniques'.

"But, how do you account for the complexities of the business-layer?", asked Gopal 15 minutes into a discussion that left the rest of the class to stare at a rapid-fire question answer session between Gopal and the lecturer.

Gopal was a top-student in his class. He was bright and talented and remained on top-of-the-class for all his life. Being highly opinionated, he always approached any topic, with scepticism, especially when somebody else came up with it. He held the view that all professors and lecturers in college were eventually incompetent, in that they joined the teaching profession, just because they couldn't get a job in the industry. Needless to say that the lecturers bore the brunt of his debates.

"uh, I think the business layer complexity is handled by counting the detailed function points", blurted the lecturer - a poor man in his early twenties, who chose to join this college after futile attempts to gain employment in the industry -just wishing Gopal let go of it.

"How will you estimate the complexities of the function points?", persisted Gopal.
"..."
"Thats exactly my point. Now, you have a proposed system with a certain requirement, one can definitely do a good design, given the limitations or capabilities of the technologies available"

Everybody was looking at Gopal, like he was teaching.

"Since the business case itself is new, and even if similar applications exist, the dynamics of the technology and market change, and at any given point of time, a proposed system would essentially be the first time that thing was developed... if it ever were"
"..."
"How do you 'exactly' estimate the time to build the taj-mahal, when you only have a vague idea that you need to build an awe inspiring monument?"
"..."

The whole class was now looking at Gopal in awe. Gopal himself knew that not many guys could follow his train of thought and by now be day-dreaming. He knew that he was the envy of the class in complex abstract topic discussion. It was an envy he cherished. He liked the way the class hated him.

"So, the point is, what you are doing, when you say you estimate a function point, is at best - guessing."

The lecturer didn't like the class being taken over by Gopal. But then, he did not have a valid answer.

"Yeah, but it is a scientific guess, based on past=experience", he managed to say.

"Scientific guess, my foot!", Gopal said as he stamped his right foot down loudly on the wooden floor. "The so called 'Estimation techniques' are all crap. This should probably be my area of research. Estimation is still an art. Time will come when it will be science, purely calculable. I will make it happen", Gopal vowed to himself as he picked up his books and walked out of the room.

The class watched with a collective gasp.

X-----------------------X-------------------X

Circa 2006

"Mark says they've got 124 APIs provided by their engines. All we have to do is wrap them around, make their existing front-end systems get 'intelligent' analysis from these engines.", Gopal said, explaining their new prize-catch project from the customer.

"What about the complexity of the APIs?". That was Lingam - one of the core team-members, Gopal was planning to build a team with. They were discussing a new project proposed by their client.

Our Gopal never liked to be at the receiving end of such questions, but nowadays he frequently was. Rising up to the level of project manager in one of the top IT service provider in India was no joke, and Gopal was glad to be not handed-down tasks to. "Now, I can tell people what to do, and what not to do", he told himself. But the utopia didn't last long. He soon came to realize that projects were at one end at the mercy of his bosses for manpower and infrastructure allocation, and at the other end, by people who made projects happen, people like Lingam who were actually working to take the project someplace billable. He felt sandwiched.

"How complex can an API get... a function call, a few parameters, and a return value", argued Gopal.
"Are you forgetting that the engines run on mainframes and the XMLRIP calls that we build should be able to handle huge numbers, deliver the values accurately to the front-end system, whose technology has very limited datatypes?"
"Sure, we will let the backend system and the XMLRIP calls handle all these numbers, and deliver the results as text"
"What about network congestion", Lingam persisted.
"..."
"Look, firstly, we need a better design and more resources than you are suggesting, to handle such complex data transformations."
"But the client budget is only 100K"

It was not a well-kept secret in the industry that the project costs were more often based on how much the client was willing to pay, rather than how much work and time the task at hand would require. "Add more heads, and only during a crisis" was the norm of the day.

“We should tell the client that we can probably do wrappers for only 50-60 API calls with this cost, moreover they need to disclose their API specs early for us to estimate"
"Lingam, see clients are important in our business. We don't question them, Plus we can't lose this 100K they are willing to give us"

"But how can you squeeze a project that requires probably more than 250K into 100K?", Lingam asked, matter-of-factly.

Gopal was getting impatient.
"Whats your point?", he asked visibly irritated.
"As per our current estimates, each function wrapping should take only 3 person-hours. I do not see how we can say that, without even knowing the signature of the calls. Moreover, wheres the time for testing? Where is the documentation and where is the time for the quality forms that we need to do? How did we even workout this 3 person-hour calculation?"

"Its a SWAG - a 'Scientific Wild Ass Guess'. Now, do you have a better idea?", Gopal said sternly hoping to end the conversation.

"Scientific - my foot. Its a Stupid Wild Ass Guess", Lingam stomped his feet as he said that. "Our so-called 'estimation techniques' are bogus. We must first admit that!", Gopal could hear Lingam, as Lingam stood up and walked out of the door.

The whole team watched with a collective gasp.

2 comments:

Unknown said...

excellent

Shilpa Narayanan said...

hey this is going above my head....