Tuesday, December 11, 2007

Почему проваливаются проэкты

Mythical Причин много но все они сводятся в итоге к одной - недостаточной информированности сторон вовлеченных в проэкт. Это напоминает игру в испорченный телефон когда фраза на выходе не похожа на фразу на входе.

Когда меня спрашивают о том когда я напишу кусок кода я отвечаю когда. При этом я не имею ввиду что он будет протестирован, облизан, задокументирован и соответствует ГОСТ-у или ANSI. Я говорю когда он будет написан в редакторе и скомпилирован компилятором. Почему то те кто спрашивает обычно ожидают что написан значит: облизан, задокументирован, соответствует ГОСТ-у или ANSI, свободно говорит на всех языках, вышивает крестиком и варит борщ. Когда алчущий получает написанный продукт и не находит борща он говорит: "Ну делаааааааааааааааааааа ......... а я дууууууууууууууууумал ....."

Думать полезно но не всегда эффективно. Представте что вы стоите на улице и с высоты 9-го этажа летит керпич прямо на вашу голову? О чем бы вы подумали в этот момент? .... Если вы подумали о чем-то то об этом уже никто не узнает. Эффективней шагнуть на шаг назад. Когда спрашиваешь о том когда будет написан кусок кода спроси будет ли он вышивать крестиком? А каким? А сколько диалектов албанского он будет знать? А какие борщи он будет варить? Киевский будет? А Полтавский?

5 comments:

Anonymous said...

Napominaet spory o iskusstvennom intellekte.Chelovechnostju tam chitajut, chto razymnyi programmist napishet sortirovku kotoraja budet vydavat ne prosto sortirovannye chisla a sortirovat vvedjonnye, a mozhet byt dazhe i ne tselye. Odnim slovom chto est razymnost, i chto dolzhen programist delat? Gde gran? Objazatelna li spetsifikatsija dolzhna byt takoi detalnoi chto po nei uzhe mozhno budet i avtomaticheski generirovat kod?

Vlad said...

Чтобы создать исскуственный надо сначала узнать работает естественный. Пока что программы работают по алгоритмам а интеллект это то что их создает.

Спецификация не должна быть детальной она просто должна быть :) и должна обновляться и использоваться. Из многих компаний где я работал я видел ее только на двух. В одном месте её требовали потому что это был outsource и хозяева были заинтересованы в качестве, а программисты им обходились почти даром. Во втором случае, похожем, компания сидела на огромных деньгах и хотела сидеть на них дальше. Своих программистов не было зато было полно контракторов и спеки были узаконены чтобы постоянно меняющиеся программисты не испортили продукт

Anonymous said...

Stranno, specifikatsii v soft kontorah na kotorye rabotal ja byli vsegda, hotja v pervoi sostovljal ih ja :-). Nu a v CODA est spetsialnyi otdel Business analitikov kotorye ih pishut.

Nu a ostalnyh kontorah (strahovanie) otsutstvie spetsifikatsii ne brosalos v glaza i bylo estestvenno, hotja i tam delalsja design kotoryi ispolzovalsja kak spec otchasti :-)

Vlad said...

Повезло, странно но чем ближе был бизнес компании к software тем были хуже дела со спеками и наоборот. Видимо потому что в чисто software компаниях начальство считает что кода достаточно.

Vlad said...

Страхование и финансы это области где software не продается а пишется для себя и является инструментом ведения бизнеса. Поэтому мне кажется серьезное отношение к спекам. В software индустрии часто стремление занять нишу сильнее заботы о сопровождении кода отсюда и пренебрежение к документации.