Software Engineering
Знакомлюсь потихоньку с Software Engineering по-армейски... "Этапы жизни" проекта вполне стандартны, утверждается, что схема аналогична используемой в "гражданских" софтверных конторах а-ля Microsoft, Oracle и проч. Однако основное отличие, как мне видится, - это армейская медлительность. Проекты затягиваются на года, и имхо совершенно незаслуженно.
Скажем, возьмём один из проектов, уже готовых. Суть проекта: пропускной пункт для палестинцев на границах с территориями.
1. На КПП устанавливается программа, иденцифицирующая палестинца по магнитной карточке
2. Личность палестинца подтверждается биометрически (на сегодняшний день используют обратную сторону ладони, в скором времени планируют переход на отпечатки пальцев)
3. Идёт запрос в центральную базу данных с целью убедиться, что палестинец имеет право пройти на территорию Израиля (т.е. он не в розыске, он зарегистрирован, нет данных разведки против него и т.п.)
4. Дополнительно проверяются нестыковки типа если по записям палестинец вчера вернулся из Израиля, а сегодня опять вернулся из Израиля, но не ходил туда утром, то как он умудрился это сделать =)
5. На основе всего этого делается вывод "Можно" или "Нельзя".
Цель проекта, разумеется, ускорить и облегчить работу КПП, так как "пробки", которые там постоянно возникают, весьма нежелательны (а утром там за полтора часа проходит иногда до двух тысяч палестинцев...).
База данных центральная, обновляется разными другими проектами. Пока что работа offline - т.е. система просто синхронизируется с центром периодически. В будущем планируется перевести её в online (недавно был случай, когда террориста пропустили через КПП, оборудованный этой системой, при том, что террорист был в базе - просто служащий на КПП забыл синхронизироваться, несмотря на приказ...)
Так вот. Проект, конечно же, звучит модно и солидно, цели его весьма себе высокие и важные... Но. С технической точки зрения, что мы имеем? Проектирование - фактически один запрос к БД. Реализация - ну тут сложнее немного, потому что нужно читать с карточки и работать с девайсом биометрии. А на деле? Один лишь этап начального проектирования (т.е. ещё до того, как думают о классах и методах) затягивается на полгода-год. Потому что начинаются обсуждения со всеми подряд, какие-то заминки, ещё что-то... Но это ладно. Хуже всего потом. Спроектировали, написали, протестили, даже работает. Вот здесь начинается главная заминка. Пока эта уже готовая система будет установлена хотя бы на большинстве КПП, пройдут ещё года. И это больше всего мне непонятно. Видимо, я чего-то не знаю =) Но проблема точно не в деньгах! Потому что израильская армия исправно получает около 50% гос. бюджета, и именно наш компьютерный "департамент" не страдает от сокращений, проводящихся в армии сегодня. Более того, сам главнокомандующий официально объявил нас четвёртым "фронтом", наряду с "сушей", "водой" и "воздухом". Короче, дело не в деньгах...
Возможно, причина кроется в том, что армия - единственное место, где руководителями проектов становятся люди с практическим опытом менее 2 лет? Т.е. по сути все академические солдаты, типа меня (т.е. те, кто служит после ВУЗа, оплачиваемого самой армией), предназначаются именно на посты руководителей. Мы начинаем простыми программерами, затеми становимся руководителями групп, руковадителями руководителей групп, руководителями проектов, PMO (Project Manager Officer) и т.д. И это всё при том, что всего мы в армии будем 6 лет...
2 Комментария
Рекомендуемые комментарии
Пожалуйста, войдите, чтобы комментировать
Вы сможете оставить комментарий после входа в
Войти