четверг, 11 февраля 2010 г.

Voxeo, VO

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

Стандартное правило: "делать проверку данных поступающих извне Системы".

За что, собственно, поплатились в очередной раз превышением трудозатрат по задачам

суббота, 6 февраля 2010 г.

Словарь ненормативной лексики программиста


Попробуйте узнать в них реальные ситуации из жизни своего проекта. Если вы заметили частое употребление сотрудниками приведенных ниже выражений, в проекте нужно срочно наводить порядок.
  • Ну, не знаю, у меня на машине всё работает.

    Комментарий: это неправда. То есть, конечно, что-то работает - после серии магических пассов, недоступных пользователю и тестировщикам.
  • Да у вас просто "Винды" кривые.

    Комментарий: это не имеет никакого отношения к делу. У большинства пользователей в мире "Винды" - кривые, а прикладные программы все-таки работают.
  • Попробуйте перезапуститься. Думаю, всё заработает.

    Комментарий: это маловероятно, хотя возможно. Но программа должна работать и без перезапуска.
  • Как дела в проекте? Работа ведется!

    Комментарий: "Работаем" - обычный ответ разработчика на вопросы менеджера. Помогает "отбить" две трети, а то и четыре пятых запросов о ходе проекта. Сам по себе этот ответ - не криминал, и на самом деле в разработке бывают периоды упорной работы "от забора до обеда", когда результатов не видно. Но частое повторение этой формулы подозрительно - она может служить и для сокрытия уже обнаружившихся проблем со сроками и трудоемкостью, которые разработчик надеется решить сам, не доводя до начальства.
  • Я уже неделю ночами работаю, а вы меня укоряете за срыв срока.

    Комментарий: ночная работа - это вовсе не доблесть. Скорее всего, просто у программиста сложился такой режим (что часто бывает), а в сутки всё равно выходит 8-10 рабочих часов. Даже если и была бы переработка, то это недостаток организации работ.
  • Нельзя подпускать к проекту этих маркетоидов, которые ничего не понимают в технологиях.

    Комментарий: маркетоиды не дают программировать всякие интересные штуки и вносят слишком много приземленных коммерческих требований.
  • Эти менеджеры опять начнут совещаться, а мне работать нужно.

    Комментарий: действительно, часто совещания не имеют смысла, но совсем без них нельзя. А программисты с удовольствием участвуют в одних совещаниях, где идут обсуждения вообще и придумываются всякие классные идеи, и не любят другие - те, на которых наступает слишком большая ясность относительно состояния дел и выполнения планов.
  • Чего там планировать, я быстрее сделаю и всё уже будет работать.

    Комментарий: это неправда. Скорее всего, будет сделано не совсем то и неработающее. А срок доводки окажется длиной в целый проект.
  • Планировать разработку бессмысленно, жизнь всё равно богаче. Программные проекты всегда срывают сроки, потому что это сложное и творческое дело, вроде научных исследований.

    Комментарий: это миф. При правильном проектировании и планировании сроки разработки ПО возможно выдержать и это нужно делать.
  • Нанимать персонал должен только технический менеджер проекта, потому что ему потом с ними работать.

    Комментарий: это часто приводит к неумолимому срабатыванию Закона Паркинсона - найму по знакомству ненужных, слабых или неконтролируемых сотрудников. Нанимать разработчиков должен высший менеджмент и по возможности через кадровое агентство, а технический менеджер - накладывать вето при необходимости.
  • Если всё сделать общим образом, мы получим не только решение частной задачи, но и готовый программный продукт, который будем продавать другим, и таким образом всё окупим.

    Комментарий: это просто приятные фантазии. Разработка готового продукта стоит примерно в три раза дороже программы для собственных нужд (см. "Мифический человеко-месяц" Фредерика Брукса). Кроме того, никто ведь не изучал рынок на предмет выяснения, а нужен ли такой продукт, и сколько у него сильных конкурентов.
  • К пятнице готово не будет, но в понедельник - точно. Или во вторник.

    Комментарий: скорее всего и во вторник ничего не будет. В лучшем случае будет не готовая версия, а нечто для показа из рук с объяснениями на пальцах, как всё будет потом.
  • К сроку готово не будет, потому что сгорел жесткий диск и пропала работа за неделю (месяц).

    Комментарий: скорее всего, это неправда. Диск действительно сгорел, но причина срыва сроков не в этом. Кроме того, если бы работа ежедневно архивировалась, проблемы бы в любом случае не возникло.
  • Срок сорван - а что вы хотели? С самого начала было ясно, что ресурсов не хватает.

    Комментарий: это точно неправда. В начале проекта никто не поднял тревоги, что мало ресурсов. И в середине проекта - тоже. Это просто самая распространенная "отмазка".
  • Программа хорошо документирована на языке Си.

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