Управление разработкой высоконагруженных проектов
В чем особенность разработки высоконагруженных интернет-проектов?Больше 10 серверов?
Любой интернет-проект может стать высоконагруженным.
Больше 1m хитов?
Больше 5 разработчиков?
Интернет-быстро меняющаяся среда в которой от команды требуется исключительная гибкость.
Высоконагруженные интернет-проекты должны быть беспредельно масштабируемы в любом узком месте.Из чего состоит разработка?Самая важная часть процесса разработки – люди, а вовсе не технологии. КомандаОпределяет технологические решения. Определяют стоимость и качество продукта.Технологии
Менеджмент и планированиеОпределяет мотивацию и ответственность.
С чего начинается разработка?С подробного технического задания?С разработки методик тестирования?С выбора технологий?С поиска и найма команды!Выберите группу лучших разработчиков и заставьте их искать себе подобных.
Как нужно нанимать разработчиков?Групповое собеседование.Начинаем собеседование с написания кода.На собеседовании спрашивайте только то, что вам точно нужно.Тратьте на собеседование достаточно времени.Помните, отличники нанимают отличников – а хорошисты троечников.
КомандаВсе разработчики хотят разрабатывать (но хотят ли они разрабатывать для Вас?). Все разработчики хотят уважения и признания их заслуг в реализации проекта.Разработчики любят чувство ответственности и «собственности» своего куска программного кода.Руководитель команды должен быть наиболее авторитетным сотрудником. Прозрачность в принятии решений.Открытые коммуникации.
Роли в IT командеIT-manager\Team leader: играющий тренер, знает кто что делает, почему сейчас и «когда будет готово».Архитектор: привносит новые технологические идеи в команду, работает со сложными задачами (реализация практического R&D).Разработчик – боевая единица, полностью ответственная за качественный и временной результат.Администратор\ответственный за production – человек  необходимый для связи разработчиков с реальностью.Тестеры –группа пользователей имеющая возможность общаться с разработчиками напрямую.
Выбор технологииНЕТ!-«Я слышал, что это работает.»«По тестам журнала “Линуксоид и Ко” эта база самая быстрая.»
«Нам нужен всего лишь сервер помощнее.»ДА!- «Эта технология знакома нашей команде.»«Я знаю людей которые придут и разработают эту часть проекта.»
«Эта технология позволит нам поставить столько серверов, сколько нам нужно.»ПроектированиеПринимает участие вся команда от PM до бета-тестеров.По каждому этапу должны быть найдены ответы на вопросы: Как мы будем масштабировать нагрузку?Как мы можем применить что-то из уже существующего кода?Как мы будем использовать это в последующих разработках?Кто из команды лучше всего разбирается в этом вопросе \ Кто будет это делать?Когда мы это сделаем?
ИнструментарийТасктрекер – «память» проекта.
Система контроля версий – версификация и развертывание.
 Радар – задачи в работе.
«Список Идей» - позволяет коллекционировать идеи на будущее.

Developmentmanage1.0

  • 1.
  • 2.
    В чем особенностьразработки высоконагруженных интернет-проектов?Больше 10 серверов?
  • 3.
    Любой интернет-проект можетстать высоконагруженным.
  • 4.
  • 5.
  • 6.
    Интернет-быстро меняющаяся средав которой от команды требуется исключительная гибкость.
  • 7.
    Высоконагруженные интернет-проекты должныбыть беспредельно масштабируемы в любом узком месте.Из чего состоит разработка?Самая важная часть процесса разработки – люди, а вовсе не технологии. КомандаОпределяет технологические решения. Определяют стоимость и качество продукта.Технологии
  • 8.
    Менеджмент и планированиеОпределяетмотивацию и ответственность.
  • 9.
    С чего начинаетсяразработка?С подробного технического задания?С разработки методик тестирования?С выбора технологий?С поиска и найма команды!Выберите группу лучших разработчиков и заставьте их искать себе подобных.
  • 10.
    Как нужно наниматьразработчиков?Групповое собеседование.Начинаем собеседование с написания кода.На собеседовании спрашивайте только то, что вам точно нужно.Тратьте на собеседование достаточно времени.Помните, отличники нанимают отличников – а хорошисты троечников.
  • 11.
    КомандаВсе разработчики хотятразрабатывать (но хотят ли они разрабатывать для Вас?). Все разработчики хотят уважения и признания их заслуг в реализации проекта.Разработчики любят чувство ответственности и «собственности» своего куска программного кода.Руководитель команды должен быть наиболее авторитетным сотрудником. Прозрачность в принятии решений.Открытые коммуникации.
  • 12.
    Роли в ITкомандеIT-manager\Team leader: играющий тренер, знает кто что делает, почему сейчас и «когда будет готово».Архитектор: привносит новые технологические идеи в команду, работает со сложными задачами (реализация практического R&D).Разработчик – боевая единица, полностью ответственная за качественный и временной результат.Администратор\ответственный за production – человек необходимый для связи разработчиков с реальностью.Тестеры –группа пользователей имеющая возможность общаться с разработчиками напрямую.
  • 13.
    Выбор технологииНЕТ!-«Я слышал,что это работает.»«По тестам журнала “Линуксоид и Ко” эта база самая быстрая.»
  • 14.
    «Нам нужен всеголишь сервер помощнее.»ДА!- «Эта технология знакома нашей команде.»«Я знаю людей которые придут и разработают эту часть проекта.»
  • 15.
    «Эта технология позволитнам поставить столько серверов, сколько нам нужно.»ПроектированиеПринимает участие вся команда от PM до бета-тестеров.По каждому этапу должны быть найдены ответы на вопросы: Как мы будем масштабировать нагрузку?Как мы можем применить что-то из уже существующего кода?Как мы будем использовать это в последующих разработках?Кто из команды лучше всего разбирается в этом вопросе \ Кто будет это делать?Когда мы это сделаем?
  • 16.
  • 17.
    Система контроля версий– версификация и развертывание.
  • 18.
    Радар –задачи в работе.
  • 19.
    «Список Идей» -позволяет коллекционировать идеи на будущее.