Причин много но все они сводятся в итоге к одной - недостаточной информированности сторон вовлеченных в проэкт. Это напоминает игру в испорченный телефон когда фраза на выходе не похожа на фразу на входе.
Когда меня спрашивают о том когда я напишу кусок кода я отвечаю когда. При этом я не имею ввиду что он будет протестирован, облизан, задокументирован и соответствует ГОСТ-у или ANSI. Я говорю когда он будет написан в редакторе и скомпилирован компилятором. Почему то те кто спрашивает обычно ожидают что написан значит: облизан, задокументирован, соответствует ГОСТ-у или ANSI, свободно говорит на всех языках, вышивает крестиком и варит борщ. Когда алчущий получает написанный продукт и не находит борща он говорит: "Ну делаааааааааааааааааааа ......... а я дууууууууууууууууумал ....."
Думать полезно но не всегда эффективно. Представте что вы стоите на улице и с высоты 9-го этажа летит керпич прямо на вашу голову? О чем бы вы подумали в этот момент? .... Если вы подумали о чем-то то об этом уже никто не узнает. Эффективней шагнуть на шаг назад. Когда спрашиваешь о том когда будет написан кусок кода спроси будет ли он вышивать крестиком? А каким? А сколько диалектов албанского он будет знать? А какие борщи он будет варить? Киевский будет? А Полтавский?
5 comments:
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?
Чтобы создать исскуственный надо сначала узнать работает естественный. Пока что программы работают по алгоритмам а интеллект это то что их создает.
Спецификация не должна быть детальной она просто должна быть :) и должна обновляться и использоваться. Из многих компаний где я работал я видел ее только на двух. В одном месте её требовали потому что это был outsource и хозяева были заинтересованы в качестве, а программисты им обходились почти даром. Во втором случае, похожем, компания сидела на огромных деньгах и хотела сидеть на них дальше. Своих программистов не было зато было полно контракторов и спеки были узаконены чтобы постоянно меняющиеся программисты не испортили продукт
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 :-)
Повезло, странно но чем ближе был бизнес компании к software тем были хуже дела со спеками и наоборот. Видимо потому что в чисто software компаниях начальство считает что кода достаточно.
Страхование и финансы это области где software не продается а пишется для себя и является инструментом ведения бизнеса. Поэтому мне кажется серьезное отношение к спекам. В software индустрии часто стремление занять нишу сильнее заботы о сопровождении кода отсюда и пренебрежение к документации.
Post a Comment