Выдержка из свода правил

В нашей компании есть небольшой набор правил. Ниже приведена краткая выдержка из него.

...

2. Общепринятые правила

2.1. О взаимодействии с заказчиком

...

2.1.4. Платные или бесплатные доработки?

Обычно в мелочных мелочах мы идем навстречу клиенту. Это означает, что редкие мелкие доработки мы можем вносить бесплатно. Например, если заказчик раз в месяц попросил изменить текст надписи в каком-то окошке, то мы за это не берем денег. Деньги берутся в случае, если мелких доработок становится много, или хотя бы одна из них уже не такая мелкая.

В общем-то, вы не обязаны следовать этому правилу, и ваш труд оплачивается в любом случае, но умеренное следование данному принципу приветствуется.

2.1.5. Об уведомлении заказчика о новых фичах или исправлениях

У нас есть простые правила сообщения заказчику о новых фичах или исправлении багов. См. соответствующий раздел про TFS.

2.1.6. Пароли заказчика

Если вам доверены пароли от сервера заказчика – просьба отнестись к этому максимально серьезно и приложить все усилия, чтобы они не были скомпрометированы. Не хранить их в общепринятых местах, не пользоваться фичей «запомнить пароль», не хранить их в FTP-клиентах, проверяться на вирусы и т.п.

Утечка пароля от сервера клиента может очень сильно подпортить нашу репутацию перед заказчиком, а то и привести к финансовым последствиям.

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

...

4. Работа с TFS

...

4.3. Билды на сервере

Когда у нас стоял TFS 2010, его механизм билдов не подошел, потому что он умеет собирать только солюшен целиком, сбрасывая Output со всех проектов в одну кучу. Написали свой. Может быть TFS 2013 в этом плане лучше, но уже поздно :)

Вообще параметры сборки для каждого проекта настраиваются индивидуально, но в целом сборка делается после каждого чекина – как минимум для того, чтобы отследить факт ее поломки.

Варианты донесения новой версии заказчику бывают разные:

  • В ряде случаев TFS делает билд, скриптом запаковывает его и выкладывает в виде ссылки на архив с новой версией программы. Эта ссылка отсылается заказчику, и тот сам у себя разворачивает новую версию. Вам здесь делать ничего не нужно. Как правило, в таких проектах при каждом чекине задается обязательный вопрос – «Отправлять билд заказчику?». Он нужен для того, чтобы не отправлять заказчику промежуточные версии.
  • В ряде случаев мы сами выкладываем обновление. Чаще всего клиентская часть приложения распространяется через ClickOnce, который также развернут на нашем сервере, а серверную часть мы обновляем вручную, зайдя на сервер заказчика. Разумеется, если в вашем проекте используется этот способ, то после выкладки обновления вы должны кратко протестировать его работоспособность.

В любом случае у нас принято правило: в видимой части приложения (толстый клиент или веб-сайт) мы показываем номер версии и дату ее сборки. Версия нумеруется по правилам MS, и последняя цифра – это номер чекина. Т.е., например, 1.0.0.7218. Номер версии и дату сборки TFS подставит самостоятельно.

...

5. Технические частности

...

5.8. Иконка приложения

Никогда не оставляйте стандартную иконку у разрабатываемого приложения. Речь об иконке самого exe-файла и иконке в заголовке окна. Если вам не выдали иконку персонально для этого проекта, то возьмите сами любую, подходящую под тематику заказчика, вот отсюда:
https://www.iconfinder.com/
http://findicons.com/

...

7. Крайне рекомендуемые книги по нашей тематике

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