Может ли проворный магазин действительно набрать 12 на тесте Джоэла? [закрыто]

18

Мне очень нравится тест Джоэля, я использую его сам и призываю моих сотрудников и интервьюируемых внимательно его рассмотреть. Однако я не думаю, что когда-либо смогу набрать больше 9, потому что несколько очков, кажется, противоречат Agile Manifesto, XP и TDD, которые являются основой моего мира.

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

Таким образом, мой вопрос: возможно ли, чтобы истинный Agile магазин набрал 12 очков?

Редактировать:

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

http://simonpalmer.com/2011/03/16/why-i-will-never-score-more-than-9-on-the-joel-test/

Я включаю это, потому что я согласен со многими из того, что было сказано ниже, и я хотел заявить о своей полной позиции.

Саймон
источник
3
Я скептически отношусь к понятию «истинного Agile shop», поскольку оно подразумевает, что есть все предписанные пути, которым должны следовать все команды разработчиков. Также ответ на этот вопрос будет варьироваться в зависимости от используемой методологии. Agile - это собирательный термин для многих подходов.
JohnFx
Вы правы, мы используем XP, но я хотел провести как можно более широкий разговор.
Саймон
3
Нет, это никогда не возможно. Это так, что Джоэл может заманить вас в свою компанию, заставив вас думать, что это лучшее место для работы, но тогда он поработит вас, и вы навсегда трудитесь в его подземных шахтах! Mwahahahaaaaa!
FrustratedWithFormsDesigner

Ответы:

21

Моя точка зрения как агилиста:

Вы используете контроль версий?

Да, конечно, для непрерывной интеграции, часть XP нуждается в системе контроля версий, чтобы иметь возможность фиксировать код в ней.

Вы можете сделать сборку за один шаг?

Да, для этого существует сервер непрерывной интеграции.

Вы делаете ежедневные сборки?

Если мы можем сделать это за один шаг, мы можем запланировать это.

У вас есть база данных ошибок?

Да, любой инструмент управления «Agile project» может отслеживать ошибки и добавляться в список отложенных продуктов.

Вы исправляете ошибки перед написанием нового кода?

Да, они имеют приоритет в бэклоге продукта

У вас есть актуальное расписание?

Да, всегда, благодаря бэклогу продукта, итерациям, плану выпуска и точным оценкам, которые приходят с ним благодаря Planning Poker.

У вас есть спецификация?

Да, каждая пользовательская история при необходимости содержит больше подробностей. Мы также поощряем общение между владельцем продукта и командой.

У программистов тихие условия работы?

Да, комната с 8 разработчиками обычно очень тихая. Мы стараемся не размещать продавцов в одной комнате.

Используете ли вы лучшие инструменты, которые можно купить за деньги?

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

У вас есть тестеры?

Да и они являются неотъемлемой частью команды.

Пишут ли новые кандидаты код во время собеседования?

Да, и команда вовлечена в процесс.

Вы проводите тестирование юзабилити?

Да, наши тестеры помогают нам в этом.


источник
26
Я никогда не видел, чтобы в комнате с более чем 3 разработчиками было тихо.
whatsisname
3
@whatsisname: точно играю в Quake 3;)
5
Тихо не значит мертвый. Это означает, что нет никаких отвлекающих факторов, когда вы хотите попасть в зону. Небольшая команда, работающая вместе (гибкие условия труда) отдельно от остальных (владелец продукта следит за тем, чтобы разработчики не мешали разработчикам в середине итерации), спокойна и стимулирует. Музыка в порядке, немного чата в порядке.
Гелиос
3
@Simon: «Я не могу назвать пользовательские истории« спецификациями »». «Я не могу назвать нашу деятельность по планированию и выставить« график »». В этом случае, пожалуйста, обновите вопрос с вашими конкретными проблемами. Это Agile лучшие практики. Если они вам не нравятся, объясните, почему вы отказываетесь от этих двух лучших практик Agile. «Я также изо всех сил пытаюсь назвать наших инженеров по качеству тестерами». Это личная проблема - ничего общего с Agile.
S.Lott
10
+1: «Мы стараемся не сажать продавцов в одну комнату». Могу ли я работать на вас, пожалуйста?
Том Морган
6

У вас есть актуальное расписание?

Это Agile. Scrum требует от нас совершить релиз. Наличие обновленного графика означает знание того, что будет сделано (и не будет) сделано в выпуске, и как выглядит отставание.

У вас есть спецификация?

Это Agile. Архитектура (и соответствующее описание) имеет важное значение. Это определяет форму. Варианты использования (или пользовательские истории) имеют важное значение и определяют функциональность.

У программистов тихие условия работы?

Я не могу понять, как Agile требует шумной, разрушительной, раздражающей среды.

У вас есть тестеры?

Um. Когда мы делаем TDD, мы есть тестеры. Когда мы передаем код владельцу продукта, могут быть привлечены дополнительные тестеры, прежде чем клиенты будут вовлечены.

Как это противоречит Agile-методам или Agile-манифесту?

С. Лотт
источник
4

Я думаю, что ответ да, Agile магазин должен быть в состоянии сделать это. Специально для ваших очков.

  • Планирование - это четкое определение функций, которые вы планируете решать. Это определенно достижимо.
  • «Тихие условия труда» - это не звук на рабочем месте, а устранение шума, не связанного с проектами / программированием. Речь идет о том, чтобы помешать вашим программистам прилагать усилия, чтобы блокировать отвлечения
  • Ловкие магазины должны проводить тестирование на ранних этапах, и Джоэл действительно хочет, чтобы кто-то, кроме разработчика, тестировал код.
JZD
источник
3

Как вы думаете, почему наличие расписания (на одном примере) несовместимо с гибкой разработкой?

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

Имея такое утверждение, как «в Q1 мы планируем выпустить функции A, B, C, а в Q2 мы сейчас рассматриваем функции X, Y, Z» - все еще график. Есть все шансы, что X станет W, но именно это позволяет вам быть Agile.

Взяв еще одну вещь из вашего списка - Specs. Что такое история пользователя, если не спецификация?

ChrisF
источник
1
Возможно, семантика, но это очень загруженные термины. План релиза, с которым я согласен. А графика у меня нет. Я бы сказал, что вы не знаете точно, над чем вы будете работать на одной итерации. Вы знаете, что вы собираетесь делать, но, вероятно, не всегда будете придерживаться этого. Не в этом ли смысл быть гибким? Проблема в том, что если я скажу «расписание» кому-то за пределами dev, у него будут определенные ожидания, и я намеренно не придерживаюсь многих из них. Хуже того, если я спрашиваю: «У вас есть расписание?», То тот, у кого есть диаграмма Ганта, длиной в милю, тоже скажет «да», и мне нельзя сказать об этом.
Саймон
1
@ Симон - я предполагаю, что это семантика, но аргумент остается в силе. Эти вещи не являются полностью несовместимыми с гибкими методологиями.
ChrisF
0

Я думаю, что я собираюсь смотреть на это с другой точки зрения, чем большинство здесь. Если вы набрали 9 баллов по тесту Джоэла, вы опережаете кривую. Многие места будут бороться за 5 или 6, не говоря уже о 9 до 12.

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

Джесси МакКаллох
источник
Я думаю, что мое текущее рабочее место достигает полутора, а другие места, которые я видел, меньше, чем это. 6 было бы здорово.
sevenseacat
Да, точно. Мы ударили 4 ...
Джесси Маккаллох
Я не думаю, что видел где-нибудь, за 15 лет, что набрал бы балл выше 2.
Carson63000