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

В русском языке осталась небольшая область, где требуется его доведение до современных реалий. Это касается западных практик в области управления людьми и коллективами. Они слабо изучались советской наукой, при этом в 90-х началось их ускоренное внедрение людьми, которые совсем недавно считали их идеологически неверными. Так было с экономикой и в более специфических областях, например, касающихся производства программного обеспечения.
Писать отменный программный код у нас умели всегда. Но бизнес в сфере ПО шире простого наемного программирования — это торговля знаниями. А раз так, то требуется производство и его организация. Здесь ключевую роль играют системы управления сбором требований, где производственный процесс приходится выстраивать, опираясь на западный опыт.

Далее в статье разбираются типичные ошибки заимствования на примерах из перевода книги Карла И. Вигерса «Разработка требований к программному обеспечению». В конце обсуждаемый материал обобщается с помощью V-модели жизненного цикла проектных требований к ПО.

Безусловно любопытная книга Карла И. Вигерса «Разработка требований к программному обеспечению» (далее РТкПО) становится в российском информационном сообществе неким стандартом. Но использование положений из этой книги (заимствованных, оригинальных, переведенных) вне авторской концепции вызывает вопросы, в которых хотелось бы разобраться.

Это — иллюстрация развития требований по мере выполнения проекта сверху вниз, через три документа: «Документ об образе и границах проекта», «Документ о вариантах использования», «Спецификация требований к ПО». В 3-ем издании два первых документа представлены как «Документ концепции и границ» и «Документ пользовательских требований»

Для создания правильного документа надо, прежде всего, понимать его суть. Кажется, дело в разгадке таинственного «образ и границы проекта»: разгадал — и можно без ограничений и с большой выгодой пользоваться уже готовой практикой. К сожалению, это работает только с простыми технологиями, купленными у третьих лиц. Аспекты управления коллективами непосредственно связанны с особенностями чужой культуры, и там все совсем не просто. Культурные отличия есть видимая часть айсберга всей системы подсознательных этнических стереотипов поведения. А область бессознательного мы не контролируем совсем или контролируем только отчасти.

Тем не менее, не все так безнадежно. Нужно найти ассоциации их терминологии с нашей практикой. Разберем «Документ об образе и границах проекта». Границы проекта — project scope. Это следует переводить как «объем работ». Нет в словаре? Увы. Можно заглянуть в английский справочник: project scope — часть планирования проекта, включающая процесс определения, а затем и документирования конкретных целей проекта, результатов, задач, затрат и сроков. Есть конкретная процедура, почему бы ее не назвать «границами проекта»? В этом случае появятся проблемы с интеграцией собственного прошлого опыта: ведь мы и раньше занимались планированием и, в частности, определением объема работ.

Когда не получается перевод по словарю, надо поискать простую понятийную модель, иллюстрирующую применение спорного термина в близкой предметной области. Дальнейший перенос такой простой модели раскрытия на родную почву позволяет найти языковые соответствия. Модель «Ограничения треугольника» (triple constrains) — вводная в области управления проектами.

В этой модели раскрывается связь терминов «время исполнения», «стоимость», «объем работ» (time, cost, scope), которые размещаются в виде равностороннего треугольника, подразумевая, что изменение одной стороны этого треугольника ведет к изменению всех.

Project Vision иногда переводят не как «образ проекта», а как «концепция проекта», но ясности это не добавляет. Project Vision Statement в справочнике определен как «идеалистический взгляд на желаемые бизнес-результаты, которые будут получены при успешном завершении проекта». Мы обычно используем термин «задачи проекта» и формулируем эти задачи с долей отечественного пессимизма. Если назовем «образом проекта», вряд ли это поможет проявиться западному оптимизму на родной почве. Итого, первый документ можно назвать «Цели проекта и объем работ”. И ничего загадочного.

Есть мнение, что подобные термины нужно не переводить, а использовать в проекте английский язык. Это работает лишь отчасти, сильно ограничивая круг людей, которые разбираются в вопросах на экспертном уровне. Базовых языковых навыков недостаточно там, где технологические вопросы касаются этно-культурных отличий.

Вот характерный пример из РТкПО: «Требования следует излагать последовательно, например, “система будет…” или “пользователь будет…”, затем — активный глагол, а после — наблюдаемый результат… Вы можете использовать “должно” как синоним “будет”, но избегайте “следовало бы”, “может”, “можно было бы” и аналогичных слов, из которых неясно, необходимо ли действие».
Можно подумать, что это готовое руководство к действию. На самом деле, этот перевод не помогает разобраться, а запутывает все еще больше. Более того, английский оригинал — не истина в последней инстанции, а выражение определенного взгляда на модальность английского языка. Взгляд закреплен в стандарте RFC2119**, который уточняет правила использования ключевых слов английского в области управления требованиями (e. g. must, shall, should, may). Например, по этому стандарту must означает, «что определение является абсолютным требованием спецификации». Однако автор встречал шаблоны документов с прямым запрещением использования must (объяснение такой позиции доступно в интернете***).

Следующий уровень детализации требований — «Документ о вариантах использования». В РТкПО, указано, что он определяет варианты использования, сценарии и таблицы «событие — отклик». Перевод «use cases» как «варианты использования» излишне упрощает взгляд на вещи (потому на практике закрепился англицизм юз-кейзы). Современное ПО должно иметь защиту от взлома и защиту от дурака, но считать это вариантом использования — насилие над русским языком. Для перевода предлагается «сценарии взаимодействий».

На самом деле модель «событие — отклик» нам известна. В высшей школе она изучается как «воздействие — флуктуация — > отклик». При одних и тех же воздействиях отклик системы может различаться из-за случайных флуктуаций. В пользовательском ПО это, как правило, различные ошибочные ситуации. Дополнительно на уровне концепции следует отличать воздействия окружающей среды от воздействий пользователя. Более или менее подходящее название для этого уровня требований — «Требования к системе» или уже «Требования к программному продукту», хотя терминология не устоялась, и встречаются очень разные варианты (например, в последнем издании используется название «Документ пользовательских требований», что автоматом исключает из рассмотрения встроенные системы).

Суть разработки требований этого уровня — создание детальной умозрительной модели ПО, функционирующей в идеализированном внешнем мире. Потому важный пункт — задание ограничений и принятие допущений (assumptions). «Цвет автомобиля может быть любым при условии, что он черный», — так Генри Форд переработал бизнес-требование к цветности автомобиля в допущение. Однако в другой раз для удовлетворения бизнес-требования к чистоте автомобиля оказалось необходимо изготовить неплоское обтекаемое стекло. Инженеры Форда сказали, что это технически невозможно. Форд нашел молодых изобретателей на стороне.

Нижний уровень представлен «Спецификацией требований к ПО», куда входят «ограничения», «внешний интерфейс», «атрибуты качества» и собственно «функциональные требования». Это — последний документ на рисунке, к сожалению, вопросы последующего тестирования не затрагиваются. Поэтому для формулирования определения РТкПО вынуждена привлечь понятие бизнес-требований: «функциональные требования (functional requirements) определяют функциональность ПО, которую разработчики должны построить, чтобы пользователи смогли выполнить свои задачи в рамках бизнес-требований»

Со стороны тестирования определение построить проще: «Функциональные требования — требования, которые тестируются». Это надо понимать, как возможность проверки каждого функционального требования тестом в классическом понимании (c вердиктом — прошел или не прошел). Обратное, строго говоря, неверно: некоторые тесты могут существовать и сами по себе. Но наличие подобных тестов — показатель пропусков в работе над требованиями. Ведь тест проверяет какой-либо участок кода, который появился не сам по себе, а как результат исполнения некого функционального требования.

Современные зрелые процессы разработки ПО пытаются внести измерительную составляющую уже в ранние стадии изготовления программного продукта. Не вдаваясь в подробности — большей частью это всевозможные метрики покрытий. Один из показателей качества будущего продукта — процент покрытия тестами функциональных требований, который подсчитывается с помощью таблицы (матрицы) покрытия (traceability matrix). Включить в матрицу нефункциональное требование можно, но в дальнейшей работе оно будет помечено как нетестируемое, и, главное, тестировщики оценят его как бесполезное. Кажется, что полная «спецификация требований к ПО» со списком нефункциональных требований очень полезна программистам. И это, возможно было бы так, если бы после составления они туда заглядывали, хотя бы время от времени.

Абсолютное большинство нефункциональных требований можно записать функциональным образом. Перефразируя, практически любое нефункциональное требование к системе или программному продукту можно переработать в одно или несколько функциональных требований.
Атрибуты качества в РТкПО частично попадают в функциональные требования, что абсолютно верно. Однако ограничения и внешний интерфейс РТкПО определяет так: «другие нефункциональные требования описывают внешние взаимодействия между системой и внешним миром, ограничения дизайна и реализации. Ограничения (constraints) касаются выбора возможности разработки внешнего вида и структуры продукта». У подсистем связи с внешним миром всегда есть интерфейс, который функционален и подлежит тестированию.

Могут ли ограничения быть функциональными требованиями? Определенно да, если записывать их в инвертированной форме как возможности. Например, продукт должен быть быстрее, чем у конкурентов (иначе он не нужен — очень жесткое ограничение). В первую очередь, речь идет о новизне принятых решений, задокументированных, в том числе, в виде требований. Но ясно, что у системы должен быть модуль измерения выявленных параметров этой быстроты, причем на ранней стадии.

Итак, «Функциональные спецификации» — устоявшееся название спецификаций нижнего уровня в виде форматированного документа или в виде базы данных под управлением специализированного ПО.

Что происходит с требованиями дальше? Кроме разработчиков(программистов) с требованиями будут работать инженеры по тестированию и инженеры QA(Quality Assurance). «Testing» можно перевести как «проверка», но заимствование «тестирование» видимо состоялось. Для перевода QA снова требуется модель раскрытия — здесь, какие принципы лежат в ее основе. Во-первых, "Fit for purpose" (продукт должен быть пригоден для намеченной цели), во-вторых, "right first time"(«с первого раза» — ошибки должны быть устранены) и в-третьих, проектная независимость. Это «Приемка», принципы лежат в основе широко известной военной приемки и легендарной госприемки.

Спецификации требований будут составлять основу дальнейших проектных документов. Как минимум, требования будут использованы при разработке пользовательской документации. Общепринято, что тестирование начинается планом тестирования и заканчивается отчетом тестирования — документами, непосредственно связанными со спецификациями. На рисунок в РТкПО можно посмотреть иначе — как на обобщенную модель процесса разработки ПО (или модель жизненного цикла ПО). В такой модели готовые документы — точки входа/выхода между фазами процесса.

В хронологическом порядке документы будут представлены так: бизнес-требования (как часть project scope), требования к системе(ПO), функциональные требования, план тестирования, отчет тестирования, пользовательская документация. Линия между двумя документами — фаза процесса. Модели часто рисуют в виде повторяющихся циклов или спирали, однако простая хронологическая ось более наглядна. Тогда первая и последняя фаза процесса обозначаются не отрезком, а лучом. В современных презентациях ось времени изгибают в середине фазы кодирования в виде буквы “V”, получая так называемую V-модель.



Прерывистые линии демонстрируют связи в обход хронологической оси, показывая возможность начать некоторые работы заблаговременно. Например, при сформулированных бизнес-требованиях можно уже что-то сказать о пользовательской документации продукта, а сформированные требования к системе дадут модель будущего ПО, качество которой уже можно начать оценивать.

Но основная функция этих линий — показать возможности скалируемости (упрощения) V-модели. Поддержка всех фаз и документов — всегда дорогое удовольствие, и очень частая причина проигрыша более мобильным конкурентам. Например, индивидуал работает так: бизнес-требования -> разработка (кодирование) -> пользовательская документация. Это верхняя прерывистая линия отреза. Аутсорсинговые компании, как правило, пропускают нижние фазы, не тратясь на функциональные спецификации и ограничиваясь тем или иным видом системных требований (например, сценариев взаимодействия). Для однотипных продуктов обычно есть стандарт предприятия, а с фазы кодирования выдается некий отчет внутреннего тестирования разработчиков, чтобы начать фазу «QA/приемки».

Основополагающая V-модель помогает уточнить зоны ответственности. Например, работник играет роль инженера по приемке(QA) или инженера по тестированию в зависимости от того, в какой фазе он работает. Неважно, закреплен ли он за конкретным проектом или отделом. То же самое относится к аналитику, проектировщику, разработчику — возможность выполнения всех этих ролей одним человеком не опровергает V-модель. Для инженера по приемке(QA) и аналитика основа — «Требования к системе», они работают с разрабатываемым ПО как с черным ящиком. Для вовлеченных в фазы проектирование, разработку и тестирование — это белый ящик, хоть и в разной мере.

В заключение стоит заметить, что V-модель— все-таки презентационная (в данном случае, иллюстрирующая проектную эволюцию требований). Это не прямое руководство к действию, реальные процессы разработки ПО сложнее. Но ее раскрывающей потенциал трудно преуменьшить.



* Карл И. Вигерс «Разработка требований к программному обеспечению».
** Key words for use in RFCs to Indicate Requirement Level (https://tools.ietf.org/html/rfc2119)
*** Must — Don’t use must because no one has defined how must is different from shall. Also, shall has held up in court, must has not. Granted, must does sounds stronger, right? I mean, if your boss tells you that you “must” do something, well you are going to do it. But, when writing requirements, keep things simple and just use shall (http://www.reqexperts.com/blog/2012/10/using-the-correct-terms-shall-will-should )

Комментарии (25)


  1. Greesha
    02.01.2018 18:21

    А зачем разбирать терминологию из первого издания Вигерса, если вышло уже третье, в том числе в русском переводе? В котором уже нет ни «границ проекта», ни «документа о вариантах использования».
    Война с призраками.


    1. fronda Автор
      02.01.2018 18:28
      +1

      Самое первое — самое доступное(в интернете). Кроме того, статья о том, что проблема не в терминологии…


      1. fronda Автор
        02.01.2018 19:10

        Кстати, в третьем издании «границы проекта» остались в виде «Документ концепции и границ».


        1. Greesha
          02.01.2018 21:01

          Концепции и границ продукта, а не проекта. Поэтому дальнейшие рассуждения о проектном треугольнике здесь вообще не в кассу.


          1. fronda Автор
            02.01.2018 22:03

            Статья направлена на то, чтобы термины типа «границы продукта» появлялись только у Петросяна.
            А треугольник работает для любого scope (гуглить Project Scope vs Product Scope).


  1. parakhod
    02.01.2018 20:04
    +1

    Я, грешным делом, думал, что использование национальных языков при разработке сложных проектов осталось в прошлом ещё лет 15-20 назад. Сознательно ограничивать себя в выборе разработчиков, ограничить будущее проекта пределами одной-двух стран и при этом ещё испытывать самосозданные трудности с переводом терминов с английского — это имхо верх мазохизма.


    1. Darth_Biomech
      02.01.2018 20:49

      На какие жертвы не пойдешь ради патриотизма?


      1. fronda Автор
        02.01.2018 22:24

        Патриотизм не цель(которая требует затрат, жертвы), а инструмент достижения поставленной цели. Из древнегреческого ????? — отец или латинского Patria — Отчизна. Обобщая в виде императива: «Используй опыт предков для достижения цели». Иногда помогает.


        1. fronda Автор
          03.01.2018 15:10

          Кто тут такой умный, что поставил мне минус за частное определение? Не согласен и нечего возразить?


      1. parakhod
        02.01.2018 22:51

        Лет этак 25 назад на военной кафедре мы изучали один жутко секретный шкаф. Шкаф мог программироваться посредством перфоленты. Перфолента пробивалась, естественно, вручную, машинными кодами, программирование осуществлялось на языке, который мы называли "военным ассемблером" (оригинальное название не помню уже). Особенно запомнились две команды: ЧИФ и ЗИФ.
        По-моему ничего патриотичнее уже придумать в программировании невозможно.


    1. kababok
      02.01.2018 23:25

      Вы знаете: в Германии как раз спокойно используют себе немецкий на всех уровнях R&D во всех отраслях.

      Другое дело, что сотрудники многих ключевых ролей в проектах могут при надобности всё это транслировать в английский — но и это далеко не правило.

      Потому что всегда остаётся верным утверждение: «Уставший и слегка нетрезвый профессор из-за нехватки времени успел всего за две минуты доходчиво объяснить абитуриентам устройство синхрофазотрона, используя только десять корней слов и связующие предлоги...» ;)


      1. kababok
        02.01.2018 23:31

        Кстати, Boomburum, ArturStepanov, MariyaVasina — так как там насчёт гикпорн-статьи на тему «Использование HiL-стендов в разработке программного и аппаратного обеспечения в различных отделах Research&Development корпорации BMW»? ;)))


        1. Boomburum
          04.01.2018 03:16

          Я закинул удочку насчёт этой темы, но пока информации нет :(


          1. kababok
            04.01.2018 17:28

            Boomburum
            В любом случае — спасибо и с наступившим новым годом! :)


            А в общем в Мюнхене сейчас официальная пора отпусков/школьных каникул, так что до близящихся выходных в штаб-квартире на работе максимум 30% персонала — и, поэтому, если даже какой ответ и когда-то будет, то уж точно не ранее середины месяца (пока все выйдут, раскачаются, обсудят… :)))


      1. parakhod
        03.01.2018 00:27

        Вы знаете, я много лет живу и работаю в Италии и работал с многими итальянскими компаниями. Ни в разработке ПО, ни в разработке электроники я ни разу не встречался с ведением документации на итальянском.
        Впрочем, я вполне допускаю что в секторе типа "разработка сайтов на друпале" madrelingua используется значительно шире.


        1. kababok
          03.01.2018 01:04

          Ну, и автомобиле-, и машино-, и станкостроители вполне себе ведут на немецком.


          Понятное дело, что если это большой международный проект — то это будет с большой вероятностью английский.


          Но в больших общенемецких проектах очень нередко это немецкий.


          И речь идёт о действительно ведущих embedded-системах.


          Как дополнительный плюс, например, — некоторая дополнительная трудность для шпионажа со стороны лиц, не знакомых с языком. :)


          1. parakhod
            03.01.2018 09:10

            С итальянскими автомобилестроителями сталкиваться приходилось когда я работал с компанией, производящей автомобильные симуляторы, и нам была нужна документация на систему команд приборных кластеров Iveco и Fiat. Они дали нам доступ к нескольким конфиденциальных документам — всё на английском. И вообще, при том уровне международной интеграции, что сейчас существует в автомобильной промышленности, особенно в Европе, это кажется очень логичным.
            Про программирование вообще промолчу.


            1. kababok
              03.01.2018 11:18

              Ну, ведь кластеры эти были совсем не личного производства Фиата и Ивеко, а кого-то из автопоставщиков и вполне вероятно — совсем не итальянских, а каких-то других зарубежных (для Италии) фирм.


              Для проверки можно, например, забить в гугл "automotive supplier electronic instrument cluster" — и посмотреть, сколько всего вылезет.


              Я же про то, что в немецкоязычном пространстве немцы нередко могут обходиться вполне делопроизводством/доккментооборотом на немецком, т.к. в принципе достаточно поставщиков в самой Германии и Австрии со Швейцарией.


              Моя мысль, еще раз, что в Германии совсем не обязательно "System Requirements" будут на английском — они могут быть и на немецком (при этом параллельно с английским, например).


              1. parakhod
                03.01.2018 12:31

                Естественно, я вполне понимаю о чём вы. Да и в Италии, безусловно, огромная часть промышленной документации ведётся на итальянском (ну и конечно если говорить про автомобильное оборудование — я в курсе кто производитель и кто разработчик данных конкретных кластеров, но не буду развивать эту тему слишком далеко из-за NDA).
                Мы просто немножко отошли от темы. Если говорить именно о разработке ПО, то я действительно ни разу не встречался с ситуацией (кроме совсем уж маргинальных случаев), когда ТЗ было составлено исключительно на итальянском и в коде допускались бы комментарии на итальянском. Как минимальный критерий — если при разработке используется хотя бы git (не говоря уж обо всяких agile подходах), то всё уже будет по-английски.
                Хороших специалистов в мире не так уж много, и сознательно отказываться от возможности сотрудничества с 95% от них — это очень странно.
                Ну и потом — вот живой пример про те же симуляторы. Мы делали их исключительно на итальянский рынок, но четыре года назад на нас вышла французская компания, производящая очень клёвые мобильные симуляторы грузовиков с виртуальной реальностью (там была реальная кабина грузовика, которая наклонялась и вибрировала, более 10 проекционных экранов и т.п. — реально полное ощущение присутствия, даже на педалях и ручке переключения передач сервоприводы стояли для фидбека) и им понадобилась срочно плата, которую я разрабатывал, которая позволяла выводить данные на любой кластер или другие приборы по CAN, LIN или просто по GPIO, просто отдавая эти параметры HTTP запросами.
                Ну вот стали бы они с нами работать если бы всё это было задокументировано по-итальянски?


                1. kababok
                  03.01.2018 14:33

                  Собственно, вот мы и пришли ко взаимопониманию, что есть гуд. :)


                  К тому же, выходит, у нас общий опыт (HiL/SiL, симуляция и т.д. ) — значит, примерно одинаковое понятийное поле.


                  Я совершенно согласен, что стратегически и в общем фирме гораздо выгоднее иметь весь процесс разработки на английском — но это утверждение верно почти всегда для маленьких или средних фирм и/или вышеупомянутых фирм из стран с малыми или средними экономиками.


                  В случае же мощного рынка с огромными массами оборотных средств и широким охватом/развитием профильных рыночных ниш это правило может или сильно корректироваться или же совсем по-другому выглядеть.


                  И именно как хороший пример этому — те же немецкие большие концерны, где нередко внутренние процессы и R&D идут на немецком — с немецкими комментариями в коде, немецкими терминами и немецким документооборотом.


                  Просто потому, что так проще и быстрее — а, значит, и выгоднее финансово.


                  Естественно, такое возможно только при наличии "своей" науки и языка с развитыми понятийными аппаратами (что, естественно, у немцев наблюдается), а также окупаемости/выгодности таких процессов, ведущихся на национальном языке — что из-за специфики мощной экономической составляющей немецкоязычного поостранства тоже имеется в наличии (речь здесь снова о Германии + Австрии + Швейцарии).


                  Да, естественно, это действует в основном для готового "сам в себе" автономного продукта — или же для компонентов, идущих только лишь на немецкоязычный рынок. Ко второй части утверждения есть хороший пример в виде относительно высокого количества маленьких фирм в автомобилестроении, которые имеют контракты только с одним/двумя немецкими автопроизводителями — и работаю только на них.


                  Я наверняка сам не видел, но по массе косвенной информации могу сказать, что так же на национальном языке (или же своеобразном суржике с примесью англоязычных терминов) в очень многих случаях идёт высокотехнологичное R&D и, например, в Китае — опять смотрим на "масштабный, мощный рынок с массой заинтересованных внутренних игроков".


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


                  Подытожу: я согласен с тезисом об использовании английского как универсального языка в больших международных проектах, в разработке комплексных ПО и железа — но я против самого верхнего начального утверждения (не вашего! :)), что "все уже 15-20 лет назад как перешли только на английский, отказавшись от национальных языков" — т.к. есть у меня масса контрпримеров для весьма сложных и высокотехнологических проектов. :)


                1. kababok
                  03.01.2018 14:46

                  Ан, пардон — это было всё же ваше утверждение. :)


                  Но я не противоречу ему полностью — я просто настаиваю, что оно не всеобъемлюще. :)


                  Т.к. вы с вашим примером о симуляторе описываете тоже одну из важнейших тенденций современного автомобилестроения. Но, если уж выходить на абстракции и даже немного на философствование — там используется ведь тоже, в принципе, уже не английский, а набор "технических языков":


                  • CAN-матрицы
                  • LIN-матрицы
                  • драйвера CAN/LIN-трансиверов (и прочих компонентов)
                  • языки для программирования FPGA-компонентов
                  • машинные команды центральных процессоров
                  • операционные системы реального времени
                  • Matlab/Simulink
                  • LabView
                  • скрипты и оболочки от National Instruments и dSpace

                  и т.д.


                  Это ведь, чисто прагматически, тоже "национальные языки" этих систем, которые не прийдут самт собой с ищучением лишь только самого английского языка. ;)


  1. kababok
    02.01.2018 23:44

    Что интересно: в Германии разработка технических продуктов на основе той или иной реализации V-модели рекомендуется непосредственно государством.


  1. Greesha
    02.01.2018 23:58

    imho самые лучшие термины — те, которые больше ни с чем не ассоциируются, и поэтому однозначно идентифицируют то, что означают. Термины «vision» и «usecase» лучше, чем «концепция» и «вариант использования».
    В своё время usecase неграмотно перевели как «прецедент» (взяли из юридического словаря). Так этот вариант перевода, на мой взгляд, оказался самым удачным именно потому, что в айтишной лексике он больше ни к чему не привязан.
    Не зря в Agile (тоже отличное иностранное слово) используют термины вроде «бэклог», «спринт» и т. п. — ни у кого не возникает ложных ассоциаций с другими сущностями.


  1. i360u
    04.01.2018 21:29

    Почему всем так нравится принцип KISS при написании кода и одновременно он так раздражает некоторых в смежных областях? Зачем плодить сущности в виде кучи переводов и споров о соответствии терминов? Зачем ставить палки в колеса интернациональным командам и усложнять себе жизнь? Ранее, в научной среде специально ввели использование латыни, чтобы избавиться от кучи терминологических проблем и разночтений. В IT роль латыни занял английский, так уж сложилось, почему бы просто этим не воспользоваться как принятым стандартом?


    1. kababok
      04.01.2018 23:48

      1. Время и экономия сил.
      2. Поддержка своей, внутренней науки (естественно, в здоровом смысле).
      3. При условии высокого среднего уровня обученности рабочей силы (во многом Германия/Австрия/Швейцария и частично Китай) и/или большого кадрового рынка (во многом Китай и/или частично Г/А/Ш) — упрощение процессов найма нужного персонала.
      4. Некоторое усложнение ситуации для лиц, занимающихся международным техническим шпионажем.

      Ну, и ещё можете глянуть мои комменты выше.