Как доказать, что пишущие удары спецификаций кодируют ковбоев? [закрытый]

Вы можете использовать Optional s, но учтите, что вопрос о том, выглядит ли это «лучше», спорен.

newUser.setEmail(
    Optional.ofNullable(fbUser.getEmail())
        .orElse(Optional.ofNullable(userMail)
        .orElseThrow(() -> new MissingServletRequestParameterException("email", "String")))
);
12
задан Andrew Grant 5 March 2009 в 19:47
поделиться

11 ответов

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

Вы не можете получить других разработчиков на своей стороне, которую этот путь, но $$ легче понять, чем более абстрактные dev методы. Управление какашкой-poo'ers ответственно за длительную занятость той группы и анализы производительности, так, чтобы был один способ убедить их измениться или сделать, чтобы они работали где-то в другом месте.

5
ответ дан 2 December 2019 в 04:03
поделиться

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

Я думаю как группа, нужно решить, как Вы идете о создании правильной вещи и как Вы передаете это среди всех.

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

15
ответ дан 2 December 2019 в 04:03
поделиться

Одной областью, где спецификации бьют ковбоев, является "расползание границ проекта" и затраты, связанные с ним.

Спецификации являются контрактом между клиентом и разработчиками. Если бы у Вас нет четкого контракта, как Вы знали бы, когда контракт был удовлетворен?

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

10
ответ дан 2 December 2019 в 04:03
поделиться

Я думаю, что могло бы помочь, запишете ли Вы спецификации с целой командой. Не торопитесь, чтобы сделать это вместе и обсудить вещи в группе. У нас обычно есть такие встречи в начале каждого повторения с целой командой и в случае необходимости, мы обсуждаем больше деталей с несколькими разработчиками. Не необходимо, по моему опыту, обсудить каждую деталь, потому что это - то, где это становится скучным для некоторых людей.

1
ответ дан 2 December 2019 в 04:03
поделиться

Это обычно занимает время - и это всегда - проблема.

Править:

Для Вашей собственной компании я имею в виду Вашего друга, должен зарегистрировать каждый раз, когда что-то должно было измениться, и спецификация не была доступна. Каждый раз, когда спецификация или документы сэкономили бы время, запишите то событие. Запишите проведенное количество времени (и человеком, исследующим и человеком (если таковые имеются), кого спросили, помогли и т.д. Затем необходимо сделать анализ рентабельности того, стоило ли время, "сэкономленное" первоначально, не делая спецификацию, не иметь его, когда он был необходим.

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

Теперь - протест:

  • У Вас могут быть неохотные люди. Не пытайтесь убедить их просто все же.
  • Вам нужен репозиторий, который является стандартным использованием - не имеет значения, где или как, но это должно быть последовательно и известно, таким образом, они могут быть найдены
  • они должны совершенствоваться и сохраняться
1
ответ дан 2 December 2019 в 04:03
поделиться

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

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

Конечно, это только выполнимо, если можно заставить достаточно людей пробовать его :)

3
ответ дан 2 December 2019 в 04:03
поделиться

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

Или укажите на них на любое из тысячи различных количественных/качественных исследований, которые с научной точки зрения подтверждают его точку зрения.

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

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

Или спросите клиентов о качестве/стоимости/и т.д. продукта.

Если бы их трудовые договоры были правильно разработаны и осуществили Вашего друга, то не застрял бы, говоря разработчикам, "я сказал Вам так" в конце проекта, но мог вместо этого дать им их извещения об увольнении.

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

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

1
ответ дан 2 December 2019 в 04:03
поделиться

Спецификация о знании, что сделанный. Как можно знать, что его время идет домой, если Вы не знаете, какой сделанный?

В самом простом случае разработчики говорят с заинтересованными сторонами для получения ощущения того, что они хотят? Если так, затем независимо от того, что они выбирают, 'спецификация'.

Белый, что вниз - реализуют его - и идут домой.

1
ответ дан 2 December 2019 в 04:03
поделиться

Просто, скажите Вашему другу, что они должны постараться не идти в другое экстремальное значение, где ничто не могло быть сделано, пока спецификация не прекрасна и на 100% завершена. И кодирование задерживалось каждую неделю, потому что кто-то добавил что-то еще к спецификации. Будут времена, где тот подход мог занять 2 - 3 месяца и после которого кто-то на высоком уровне управления будет очень расстроен и скажет, что "Я не забочусь, я просто хочу продукт, сделанный", и ситуация будет худшей.

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

0
ответ дан 2 December 2019 в 04:03
поделиться

Спецификации ЯВЛЯЮТСЯ пустой тратой времени. Большинство людей, которые будут использовать программное обеспечение, не может сказать то, что они хотят, но они могут сказать, достаточно хорошо ли то, что они получают, или нет.

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

Лучший способ разработать состоит в том, чтобы пойти туда и видеть, как они раньше делали вещи и попытку соответствовать Вашему приложению в их поток операций. КАЖДЫЙ член команды должен сделать это.

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

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

0
ответ дан 2 December 2019 в 04:03
поделиться

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

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

Код должен быть самодокументирующимся. Следует придерживаться стандартов кода. Требования должны быть тщательно продуманы и перечислены. Но что вам не нужно, так это 200-страничный документ, описывающий, что происходит в каждой чертовой строке кода в каждом модуле, или комментарии, более подробные, чем сам код. Разработчики должны уметь читать этот материал. Если они не могут, ваша проблема в другом.

0
ответ дан 2 December 2019 в 04:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: