ixbin: (Default)
[personal profile] ixbin
Вот у нас есть народ - представим, что это компьютер нашей оригинальной архитектуры. Голое "железо", только что 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)? Добавляй замечание в базу багов, и в следующей версии оно будет учтено, протестировано и результаты будут опубликованы.

Ну как-то так. Пардон за язык, испорченный написанием многих и многих ТЗ.
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Profile

ixbin: (Default)
ixbin

April 2017

S M T W T F S
      1
23456 78
91011 12131415
16171819202122
23242526272829
30      

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 9th, 2025 02:01 pm
Powered by Dreamwidth Studios