Skip to main content

A must read Article: Development Abstraction Layer

Few days before GreenNWhite posted about an excellent article. This article is about Development Abstraction Layer; for me it's a way to manage successful software company. This article published on Joel on Software by Joel Spolsky.

Initially he started with definition of Software, different than definitions in Software Engineering books.

Software is a conversation, between the software developer and the user. But for that conversation to happen requires a lot of work beyond the software development. It takes marketing, yes, but also sales, and public relations, and an office, and a network, and infrastructure, and air conditioning in the office, and customer service, and accounting, and a bunch of other support tasks.

This is the lesson which most of project manager does not understand and sometime developers too! Then he described Development Abstraction Layer!

Think of your development abstraction layer as a big, beautiful yacht with insanely powerful motors. It's impeccably maintained. Gourmet meals are served like clockwork. The staterooms have twice-daily maid service. The navigation maps are always up to date. The GPS and the radar always work and if they break there's a spare below deck. Standing on the bridge, you have programmers who really only think about speed, direction, and whether to have Tuna or Salmon for lunch. Meanwhile a large team of professionals in starched white uniforms tiptoes around quietly below deck, keeping everything running, filling the gas tanks, scraping off barnacles, ironing the napkins for lunch. The support staff knows what to do but they take their cues from a salty old fart who nods ever so slightly in certain directions to coordinate the whole symphony so that the programmers can abstract away everything about the yacht except speed, direction, and what they want for lunch.

And do you want to know which kind of companies wiped out?

You've got your typical company started by ex-software salesmen, where everything is Sales Sales Sales and we all exist to drive more sales. These companies can be identified in the wild because they build version 1.0 of the software (somehow) and then completely lose interest in developing new software. Their development team is starved or nonexistent because it never occurred to anyone to build version 2.0... all that management knows how to do is drive more sales.

And…

On the other extreme you have typical software companies built by ex-programmers. These companies are harder to find because in most circumstances they keep quietly to themselves, polishing code in a garret somewhere, which nobody ever finds, and so they fade quietly into oblivion right after the Great Ruby Rewrite, their earth-changing refactoring-code code somehow unappreciated by The People.

And what a management is responsible for…

Management, in a software company, is primarily responsible for creating abstractions for programmers. We build the yacht, we service the yacht, we are the yacht, but we don't steer the yacht. Everything we do comes down to providing a non-leaky abstraction for the programmers so that they can create great code and that code can get into the hands of customers who benefit from it.

And usually what happens!

If a programmer somewhere is worrying about a broken chair, or waiting on hold with Dell to order a new computer, the abstraction has sprung a leak.

1 comment

Popular posts from this blog

Mirat-ul-Uroos - Fariha Pervez - Lyrics

میرا ایک چھوٹا سا سپنا ہے
جسے پل میں پورا کر دے گا
ان آتی جاتی سانسوں میں
وہ خوشبو کوئی بھر دے گا
مجھے اونچی ہواوُں میں اڑنا ہے
اور امبر کو جا چھونا ہے
سونا ہے یار کے بستر پر
پھر ہر ایک خواہش میں جگنا ہے
جب چاہوں گھوموں بگھیا میں
میں تتلی ہوں مجھے پر دیتا
وہاں کیسے چیں ملے مجھ کو
جہاں قدم قدم پر پہرے ہوں
دم گھٹتا ہوجہاں  رہتے ہوئے
جہاں غم کے سائے گہرے ہوں
جومنزل پر لے جائے گی
وہ مجھ کو ایسی ڈگر دے گا
میں چلتے چلتے تھک بھی گئی
اور منزل ہاتھ نہیں آئی
خود اپنے سپنے تور لیئے
اور سکھ کی رات نہیں آئی
اب آکے ہوا مجھے انداذہ
میرا ساتھ وہ ذندگی بھر دے گا
کیوں حد سے گزری وحشت میں
اسے دھیرے دھیرے کیوں نہ چھوا
کیوں سارے ناتے ٹوٹ گئے
بھری بھول ہوئی احساس ہوا
جب ٹوٹے لمحے جوڑوں گی
مجھے جینے کی وہ خبر دے گا
میرا چھوٹا سا اک سپنا ہے
جسے پل میں پورا کردے گا
ان آتی جاتی سانسوں میں
وہ خوشبو کوئی بھر دے گا

ضروری تو نہیں

میں بتا دوں تمہیں ہربات ضروری تو نہیں
آخری ہو یہ ملاقات ضروری تو نہیںجیت جانا تمہیں دشوار نہیں لگتا تھا
آج بھی ہوگی مجھے مات ضروری تو نہیںآدمی فہم و ذکاء سے ہے مزین لیکن
بند ہو جائے خرافات ضروری تو نہیںدل کی راہوں پہ کڑا پہرا ہے خوش فہمی کا
مجھ سے کھیلیں میرے جذبات ضروری تو نہیںامتحاں گاہ سے تو جاتے ہیں سبھی خوش ہوکر
ٹھیک ہوں سب کے جوابات ضروری تو نہیںممتحن میں تو تیرے نام سے لرزاں تھی مگر
تیرے تیکھے ہوں سوالات ضروری تو نہیںمجھ کو انسان کی قدریں بھی بہت بھاتی ہیں
بیش قیمت ہوں جمادات ضروری تو نہیںیوں تو زر اور زمیں بھی ہیں مگر عورت ہو
باعث وجہ فسادات ضروری تو نہیںہر نئے سال کی آمد پر یہ کیوں سوچتی ہوں
اب بدل جائیں گے حالات ضروری تو نہیں[پروین شاکر]

Khuda Karay K Meri Arz -e- Pak Par Utray

خدا کرے کہ میری ارض پاک پر اترے وہ فصل گل ، جسے اندیشہ زوال نہ ہو یہاں جو پھول کھلے، وہ کھلا رہے صدیوں یہاں خزاں کو گزرنے کی بھی مجال نہ ہو
یہاں جو سبزہ اگے، وہ ہمیشہ سبز رہے اور ایسا سبز ، کہ جس کی کوٴی مثال نہ ہو گھنی گھٹاٴیں یہاں ایسی بارشیں برسا ٴیں کہ پتھروں سے بھی روٴید گی محال نہ ہو
خدا کرے کہ نہ خم ہو سر وقار وطن اور اس کے حسن کو تشویش ماہ و سال نہ ہو ہرایک فرد ہو تہذیب و فن کا اوج کمال کوٴی ملول نہ ہو، کوٴی خستہ حال نہ ہو
خدا کرے کہ میرے اک بھی ہم وطن کےلیے حیات جرم نہ ہو، زندگی وبال نہ ہو خدا کرے کہ میری ارض پاک پر اترے وہ فصل گل ، جسے اندیشہ زوال نہ ہو