Как я говорил, читаю Спольски. В первой его книге “Джоэл о программировании” есть тест качества бригады разработчиков ПО. Решил вот опубликовать его результаты для компании, в которой сейчас работаю.
- Пользуетесь ли вы системой управления версиями исходного кода?
Нет. Эта компания — вторая, в которой я работаю php-программистом. По какой-то непонятной мне причине ни в ней, ни в предыдущей не использовались такие системы, что очень печально. Насколько меньше стало бы проблем. Кстати, сам Джоэл советует в этом случае программисту самому начинать использовать CVS и постараться приобщить к этому остальных разработчиков.
- Можете ли вы выполнить сборку продукта за один шаг?
Нет, не могу. Хотя для некоторых проектов существуют скрипты для автоматического разворачивания веб-приложения на production-сервере. Но это только для нескольких новых проектов.
- Выполняете ли вы ежедневную компиляцию?
Ну, нет. К сожалению, не знаю, как работает команда Java-программистов.
- Ведете ли вы базу данных ошибок в программе?
Нет.
- Исправляете ли вы ошибки, прежде чем писать новый код?
Нет. Часто ошибки обнаруживаются уже на этапе “промышленной эксплуатации”. И чаще всего исправление ошибок поручается совсем другим людям, которые до того никакого отношения к проекту не имели. Очень печальная ситуация.
- Есть ли у вас актуальный график работы?
Хаха. Да, есть какая-то ерунда, которая забита в календарь в эксчендж-сервере, но актуальной ее точно не назвать. А также нет детализации графика, которой “требует” Джоэл.
- Есть ли у вас спецификации?
Я бы сказал, что нет. Бывает, пишутся какие-то бумажки. Если повезет, там будут экраны, которые надо сделать. Если меньше, то текст с кучей неоднозначных текстов. Часто я только взгляну на это, а потом откладываю на край стола, потому что все они довольно бесполезны.
- Создали ли вы спокойные условия для работы программистов?
Этот пункт меня расстраивает больше всех других, наверное. Нет, нет и нет. Рядом с программистами сидят менеджеры, вечно звенят телефоны, кто-то ходит, разговаривает. У половины программистов отвратительные кресла, через час сидения на которых задница становится квадратной. В общем, я бы сказал, что условия отвратительные.
- Стараетесь ли вы использовать для работы лучшие из существующих инструментов?
Допустим, что да. То есть должен сказать, что у нас есть разные программисты. И разные приложения пишутся на разных языках (C#, Java, PHP, Perl) и используют разные базы данных (Oracle, MySQL, PostgreSQL). Правда, не знаю, кто и чем руководствуется при выборе языков, инструментов и технологий.
- Привлекаете ли вы к работе тестеров?
Нет. Тоже момент ужасный. Все тестируют сами программисты. Потом еще может менеджер немного потестить.
- Предлагаете ли вы соискателям рабочих мест написать во время собеседования код?
Ну, когда меня собеседовали, то вторая часть была — выполнение тестовых заданий. Задания были очень простые, вряд ли могли меня как-то оценить. Все, что можно было по ним сказать, что да, я хотя бы книжку “PHP за 24 часа” прочитал. Спольски сам советует проверять немного другое. Но зачтем.
- Проводите ли вы проверку “юзабилити” на случайных людях?
Не, если генеральному понравилось, значит, так и будет.
Итого три балла. Что по этому поводу пишет Джоэл: “В идеале вы должны набрать 12 очков. 11 очков — терпимое количество, а 10 или менее указывают на серьезные проблемы. Фактически большинство софтверных организаций работает, имея лишь два или три очка, и они нуждаются в серьезных улучшениях, потому что такие компании, как Microsoft, постоянно держать 12 баллов.”