Как реализовать Толпу? [закрытый]

Убедитесь, что вы используете правильную локаль

Scanner scanner = new Scanner(System.in).useLocale(Locale.US);

Возможно, вы используете локаль, где «,» - десятичный разделитель

17
задан Pascal Thivent 10 February 2010 в 22:08
поделиться

8 ответов

Вот краткий ответ о том, как мы используем (и привыкли использовать) Scrum:

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

Я согласен, что лучший способ узнать, как сделать Scrum - это сделать это на самом деле. Сначала вы должны прочитать об этом, в основном потому, что, как бы легко это ни звучало, у него есть набор правил, которым я абсолютно рекомендую следовать. (Если вы обнаружите, что некоторые из них не работают хорошо для ваших команд, вы все равно можете настроить их, но не узнаете, пока не попробуете их в течение нескольких недель.)

Великолепно Суть Scrum в том, что с точки зрения инструментов вы можете в значительной степени использовать все, что у вас есть. Доски, стены, электронные инструменты, что угодно. Он очень гибкий и позволяет начать его реализацию без необходимости тратить деньги на новые инструменты или оборудование. Если у вас есть доска, используйте магниты или заметки, и все готово. Распечатайте график сгорания и обновляйте его ежедневно по маркерам, и все готово. Используйте Excel для отставания продукта (или что-то еще, что вам нравится). Если вы чувствуете необходимость, вы все равно можете использовать другие инструменты позже, когда у вас есть лучшее представление о том, что нужно вашей команде с точки зрения функциональности. (Или вы можете просто придерживаться доски и карточек для заметок.) ​​

Scrum из окопов - отличное введение, и в нем есть много реальных примеров того, как делать Scrum, поэтому я во-вторых, эта рекомендация.

2
ответ дан 30 November 2019 в 14:12
поделиться

Вот видео, описывающее схватку и как мы реализуем ее в Atalasoft, как разыгрывают чучела и игрушки.

Мы делаем трекинг с FogBugz . Мы создаем «релиз» для отставания и еще один релиз для спринта. Задачи вводятся в спринт из задела с оценкой времени. Общее время, оставшееся в выпуске, ежедневно отслеживается в диаграмме выгорания, ранее созданной в Excel (нет в FogBugz) мастером схватки.

0
ответ дан 30 November 2019 в 14:12
поделиться

Как мы можем реализовать Scrum, используя доску, не просив людей записывать свое время на доске, а затем также вводить в наше время программного обеспечения для отслеживания времени?

, если вы думаете, что это сделает Труднее принять Scrum, то, возможно, вы можете опираться на вашу Scrum Master. Люди могут написать свое время на доске, и Master Scrum может ввести его в систему отслеживания времени.

Мы также не хотим платить за дорогие программные инструменты, пока не получим Scrum Reping и получить положительные результаты.

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

0
ответ дан 30 November 2019 в 14:12
поделиться

Scrum о процессе, а не инструменты. Очень уверены, что все вовлечены (не только команда по разработке!) Понимает, о чем окрашено. Это не просто работает итеративно в 2 недельных спринтах. Это о приверженности от управления этим способом работы. Это о том, чтобы иметь очень хороший владелец продукта, который может установить приоритеты. Речь идет о том, чтобы быть открытым друг с другом в команде. И т. Д. И т. Д. Это займет время, чтобы узнать.

Прочитайте Scrum из траншей для простого введения.

0
ответ дан 30 November 2019 в 14:12
поделиться

Вот хороший ресурс для начала: Реализация Scrum в 10 шагах

Также есть действительно хороший сайт с множеством советов о том, как начать с scrum: имплементация scrum.com

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

9
ответ дан 30 November 2019 в 14:12
поделиться

Я только что остановился на связанной статье, это улучшение на стороне сервера, а не асинхронное на стороне клиента.

Резюмируя статью:

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

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

Довольно классные вещи.

-121--1348471-

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

Преобразование одного шестнадцатеричного аргумента командной строки в десятичный выглядит как

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  printf("%ld\n", strtol(argv[1], NULL, 16));

  return 0;
}

Пример использования:

$ ./hex ff
255

При использовании strtol и изменении конечного аргумента с 16 на 0, как в

printf("%ld\n", strtol(argv[1], NULL, 0));

, программа принимает десятичные, шестнадцатеричные (обозначаемые ведущим 0x и восьмеричные (обозначаемые ведущим 0 ) значения:

$ ./num 0x70
112
$ ./num 070
56
$ ./num 70
70

Используя командную оболочку bash, воспользуйтесь ANSI-C Quoting для выполнения преобразования оболочки, а затем программа просто распечатает значения из командной строки.

#include <stdio.h>
#include <string.h>

int main(int argc, char *argv[])
{
  int i;
  for (i = 1; i < argc; i++) {
    unsigned char value = argv[i][0];
    if (strlen(argv[i]) > 1)
      fprintf(stderr, "%s: '%s' is longer than one byte\n", argv[0], argv[i]);

    printf(i + 1 < argc ? "%u " : "%u\n", value);
  }

  return 0;
}

Bash поддерживает многие форматы вида $ '...' , но $ '\xHH ' кажется наиболее близким к вашему вопросу. Например:

$ ./print-byte $'\xFF' $'\x20' $'\x32'
255 32 50

Можно упаковать значения из командной строки в последовательность и распечатать ее.

#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(int argc, char *argv[])
{
  int i;

  if (argc > 1) {
    char *s = malloc(argc);
    if (!s) {
      fprintf(stderr, "%s: malloc: %s\n", argv[0], strerror(errno));
      return 1;
    }

    for (i = 1; i < argc; i++)
      s[i - 1] = strtol(argv[i], NULL, 16) & 0xff;

    s[argc - 1] = '\0';
    printf("%s\n", s);
    free(s);
  }

  return 0;
}

В действии:

$ ./pack-string 48 65 6c 6c 6f 21
Hello!

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

$ echo $'\x48\x65\x6c\x6c\x6f\x21'
Hello!

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

При наличии другой программы, выполняющей декодирование, используйте команду Command Substitution , которая заменяет собой команду, окруженную задними кнопками, или $ () . См. примеры ниже, в которых в качестве местозаполнителя снова используется echo .

$ echo $(perl -e 'print "\x50\x65\x72\x6c"')
Perl
$ echo `python -c 'print "\x50\x79\x74\x68\x6f\x6e"'`
Python
-121--3526880-

Мы пытаемся перейти на SCRUM в качестве нашего процесса разработки, но мы не уверены, как реализовать его наилучшим образом.

Если у вас уже есть некоторое понимание Scrum, создайте задел продукта, получите владельца продукта, команду, ScrumMaster и начните использовать Scrum. Затем осмотрите и адаптируйте.

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

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

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

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

3
ответ дан 30 November 2019 в 14:12
поделиться

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

Тем не менее, я думаю, что управляемая тестами разработка все еще может быть применена к V-Model, как часть фазы модульного тестирования и даже на фазе интеграционного тестирования , пока вы можете автоматизировать это в рамках цикла разработки.

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

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

Но давайте вернемся к вопросу. Я только что сказал, что TDD и автоматизация могут использоваться в качестве реализации этапов тестирования в V-Model. Таким образом, если вы можете использовать V-Model тестирование с Agile разработки, как вы видели презентация подтвердил, то я могу также использовать TDD и методы автоматизации.

Однако я не уверен, что вы захотите. Я не знаю, как можно применить V-модель к Agile или будет ли она когерентной, поскольку V-модель не является гибкой .

-121--3653538-

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

foreach (string t in tagList)
{
    Tag _tag = new Tag(); // create new instance for every iteration

    _tag.tagName = t;
    tags.Add(_tag);
}

Для бонусной части - при изменении Тэгов с класса на структуру операции копирования (это происходит при вызове tags.Add (_ тэг) ) копирует целый экземпляр (по существу, создавая новый) в отличие от исходного класса , когда только ссылка на один и тот же экземпляр копируется в параметр вызова, а затем в элемент списка (см. C # pass by value vs. pass by reference для пояснения того, как struct передается вызовам метода).

-121--2311072-

Я нашел лучший способ реализации Scrum, это использование Scrum.

У вас есть отставание в выполнении задач, необходимых для перехода от существующих процессов к Scrum,разбить их на несколько 2-недельных спринтов и осуществить постепенно в течение пары месяцев. это помогает людям получить ручки tp с каждым процессом, не бомбардируя их новыми инструментами.

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

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

Scrum говорит вам, как делать вещи, а не что делать. Посмотрите на XP, если вы хотите много жестких и быстрых правил. Большая часть получения действительно эффективной команды работает над тем, что работает для вас. Следите за скоростью и посмотрите, что ее улучшает.

Что касается инструментов, белая доска великолепна.

ОСТЕРЕГАЙТЕСЬ ПУБЛИКАЦИИ. Они отлично подходят для напоминаний и записок на вашем столе, но однажды вы заходите в офис и видите ваш прекрасно организованный спринт как кучу конфетти на полу. Даже очень сильный пост он отмечает высохнуть и потерять свою палку примерно через 2 недели в комнате с A/C. Я усвоил этот урок в трудном пути.

Используйте индексные карты с чертежными контактами и пробковой платой.

Excel идеально подходит для разработки показателей скорости и выгорания.

Мы используем инструменты только с распределенными группами. Тогда мы используем Acunote для простоты. Это действительно просто виртуальная пробковая доска.

Трек времени в программном обеспечении отслеживания времени. Трек сюжетных точек на заданиях. Это не одно и то же. Недавний снег в Лондоне и вызванный этим транспортный хаос снизили нашу скорость на 35%, и, следовательно, нашу способность выполнять задачи, даже несмотря на то, что команда делала больше часов с парой ключевых людей и клиентов, работающих из дома.

2
ответ дан 30 November 2019 в 14:12
поделиться

Мы немного «ходили по домам» с инструментами Scrum и я вернулся к мысли, что доски и заметки для них лучше всего. Все инструменты управления проектами, которые я пробовал, специфичные для Scrum или другие, заставляют вашу команду изменить свой процесс, чтобы он соответствовал инструменту. На белых досках внедряются передовые методы работы, которые вы пытаетесь внедрить в Scrum, не мешая им.

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

Хранение главной копии невыполненных работ по вашему продукту в электронном виде является хорошей практикой, просто сохраняйте простоту (например, поместите ее в документ Excel).

0
ответ дан 30 November 2019 в 14:12
поделиться
Другие вопросы по тегам:

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