Jan. 26th, 2013

ixbin: (Default)
Вот у нас есть народ - представим, что это компьютер нашей оригинальной архитектуры. Голое "железо", только что BIOS прошит. И теперь для него нужен софт. Что такое софт? Это пошаговые инструкции для железа, чтобы оно сделало полезную работу. В нашем случае - построило бы светлое будущее. Итак, как пишут софт для нашего железа разные программисты:

1. иррационалы - западники.

Являясь иррационалами, считают, что софта вообще не существует. Чтобы железо заработало, достаточно встать перед включенным компом и вдохновенно и красочно описать ему желаемый результат. И железо сразу само там как-нибудь сообразит, и само создаст Windows 7 и MS Office впридачу. И наоборот, в случае багов, надо просто посильнее пристыдить "железо", и оно само всё исправит.  Как иррационалы, в упор не замечают в том же западном обществе мощной системы тщательно выстроенной системы сдержек и противовесов ("софта"), и считают, что на западе люди живут хорошо, потому что тамошние люди сами по себе хорошие. Типа, хорошему железу никакой софт не нужен. И наоборот - если какой-то народ живёт плохо, то у этого явления есть единственная причина: люди некачественные (бракованное "железо")

Являясь западниками, полностью игнорируют архитектуру нашего железа. Считают, что перед ними такой же западный девайс, только испорченный, с какими-то дурацкими отклонениями. Поэтому в качестве желаемого результата они описывают то, что видят на западе, то есть красочный внешний вид Windows 7. При этом считают Windows 7 единственным возможным вариантом, а все другие ОС - какими-то глупыми экспериментами.
Узнаваемый портрет, правда? Называется демшизоид обыкновенный. В 90-е они тучами паслись в бумажных СМИ, а уж в телевизоре так просто гнездо себе свили.

Каков же результат их деятельности? Они не написали ни строчки работоспособного кода - потому что они в принципе не признают софт. Они не составили достоверной документации по их любимому западному "железу" - поскольку смешали в одну кучу свойства западного "железа" и западного "софта". Они не составили достоверной документации по нашему "железу" - поскольку считали его просто бракованным вариантом западного, а не исправным вариантом нашего. Что касается описания желаемого результата - они составили ТЗ, не соответствующее требованиям заказчика (народа), поскольку вообще не считали его заказчиком и плевать хотели на его требования.

2. иррационалы - патриоты.

Как и вышеописанная группа, они так же считают, что софта не существует, достаточно просто красочно описать желаемый результат, или, наоборот, нежелаемый. При этом наше "железо" они справедливо считают хорошим, исправным, самым лучшим в мире (в этом они правы, мы такие...), и искренне удивляются - как же так, почему же оно до сих пор само всё не сделало? Я ведь так красиво всё описал, почему же передо мной до сих пор висит экран BIOS, а не среда Unity с красивыми анимационными эффектами? Наверное, я недостаточно пламенную речь толкнул, наверное, надо ещё пламеннее...

Являясь патриотами, они "нутром чуют" правильную вещь - что у нашего железа другая архитектура. Поэтому красочно описывают другой желаемый результат, в рамках нашей аналогии - Linux.

Примером иррационала-патриота может служить среднеобычный советский писатель. Я не имею в виду классиков, берём наугад какой-нибудь советский производственный роман, и там мы увидим:
а) на каждом шагу - очень эмоциональные описания недостатков, или опять же очень эмоциональные описания желаемого результата
б) редко - хороший анализ причин возникновения проблем,
в) почти никогда - не найдём реально работающих рекомендаций, как достичь желаемого светлого будущего или как избавиться от тёмного прошлого. Рекомендации или оптимистично-нереалистичны (расскажи о проблеме первому секретарю обкома, он хороший и всё исправит), или нереалистично-энергозатратны для среднего человека (тупо бодай лбом бюрократическую систему, причём по правилам, составленным этой системой, и лет через 20 ты её обязательно забодаешь).

Результат их деятельности? Работоспособного софта они не создали, поскольку и не подозревали, что софт нужен. Достоверной документации по нашему "железу" они так же не составили, их описания - это слабо связанные между собой интуитивные догадки. Что касается описания желаемого результата - в составленном ими ТЗ видно искреннее стремление сделать как лучше для заказчика, и оно в самом деле описывает требования заказчика, однако, только частично. Дело в том, что иррационалы-патриоты считают, что заказчик монолитен и весь состоит из одной большой группы хороших людей с общими интересами и очень небольшого количества антиобщественных элементов, чьи интересы не имеют значения. Но заказчик-то не состоит из одной группы! Хорошие люди - они по-разному хорошие. У них разные интересы, и разные требования к желаемому результату, а иррационал-патриот описывает только один вариант светлого будущего. В общем - их ТЗ полезно, но охватывает слишком малую часть требований заказчика.

3. рационалы - западники

Являясь рационалами, понимают, что такое софт, и почему он необходим. Видят всю мощь и сложность западного "софта" и искренне им восхищаются. Видят, насколько хорошо исследовано и документировано западное "железо", и тоже восхищаются качеством полученной документации. Видят, насколько хорошо продумано ТЗ, которое составляет для себя западное общество, опять же - очень восхищаются и громко сообщают об этом окружающим.

Так же, как их собратья-иррационалы, вопреки наблюдаемым фактам, считают наше "железо" бракованной разновидностью западного и даже не пытаются писать драйвера под наше железо. Вместо этого при каждой возможности норовят изуродовать его, чтобы хоть как-то, но запустить на нём западную ОС. Тот факт, что по мере их вмешательства багов становится всё больше и больше и система работает всё хуже - не наводит их на  размышления. Что касается софта - то они впаривают народу коммерческий софт, с закрытым исходным кодом, без драйверов для нашего железа, а самое главное -  вообще написанный под требования другого заказчика, не то нашему ТЗ.

Полезный результат их деятельности? Они не составили ТЗ под наши требования - потому что считают, что никаких "наших" требований не существует, это всё баги бракованного "железа". Принципиально не написали драйвера под наше железо, принципиально не написали ни строчки софта, и этим самым принципиально выбрали свою полную зависимость от западных производителей софта. Да и ещё ухитрились кое в чём повредить наше "железо". По тех.документации на наше железо - они её пишут, но увы, эта писанина не имеет отношения к реальности, потому что они описывают наше железо как бракованный вариант западного. Ценность такой документации равна нулю.

4. рационалы - патриоты

Как рационалы, понимают, что такое софт и почему железу софт нужен как воздух. Как патриоты, "нутром чуют" архитектуру именно нашего железа. Кровно заинтересованы в том, чтобы "всё работало".

Считают народ заказчиком и составляют ТЗ по его требованиям. При этом они именно составляют ТЗ, а не просто записывают сиюминутные желания народа. Каждый, кто когда-либо имел дело с разработкой ПО, сразу поймёт, в чём разница. Мы даём заказчику не то, что он нам сказал, а то, что ему нужно. То есть на основе пожеланий выясняем, что же заказчику нужно. И уже выяснив нужды заказчика, предлагаем несколько вариантов решений. Эти варианты во многих случаях мало похожи на первоначально высказанные пожелания заказчика, но они решают его проблемы. Поэтому заказчик принимает какой-либо из вариантов. И ещё по написанию ТЗ - мне кажется, что  сейчас рационал-патриоты недостаточно уделяют внимания тому факту, что заказчик неоднороден, а состоит из групп с разными интересами. А ведь в ТЗ всегда есть пункт: перечень заинтересованных лиц и их основных интересов! В большинстве "ТЗ", которые я видела, перечень заинтересованных лиц состоит из одного пункта, где описываются интересы группа, к которой принадлежит сам автор ТЗ.

Что касается документации по нашему "железу". В большинстве случаев рационалы-патриоты понимают, что она нужна, но, к сожалению, понимают это не все и не всегда. Многим кажется, что поскольку мы сами принадлежим к этому же "железу", то тем самым уже достаточно "чуем нутром" его архитектуру, и нам нет необходимости нарисовать её в явном виде. Большое заблуждение!

Подходы к написанию софта. Рационал-патриоты сходятся в том, что софт должен быть:

a) написан по нашему ТЗ;
б) написан под наше железо;
в) написан нами самими, а не отдан на аутсорсинг;
г) должен быть бесплатным;
д) с открытым исходным кодом. Ты хочешь знать, почему патриоты  говорят тебе "поступай так-то" и нет ли здесь кидалова? Вот оно ТЗ - там написано, что ты хочешь получить. Вот документация по железу - там описано твоё устройство и твои ТТХ. Вот смотри Software architecture document - там расписано, каким образом ты должен действовать, чтобы с твоими ТТХ получить то, что ты хочешь. Не согласен с ТЗ, или с документацией по железу, или со способами достижения (Software architecture document)? Добавляй замечание в базу багов, и в следующей версии оно будет учтено, протестировано и результаты будут опубликованы.

Ну как-то так. Пардон за язык, испорченный написанием многих и многих ТЗ.
ixbin: (Default)
Оригинал взят у [livejournal.com profile] greatteacher в Деньги
Оригинал взят у [livejournal.com profile] flammar в Деньги
Originally posted by [livejournal.com profile] luntikkk at Деньги
Возьми к себе в ЖЖ. И тогда в течении недели к тебе прибудут деньги...



Page generated Jul. 5th, 2025 09:16 am
Powered by Dreamwidth Studios