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

More Related Content

What's hot (20)

Наблюдай. Анализируй. Управляй
Наблюдай. Анализируй. УправляйНаблюдай. Анализируй. Управляй
Наблюдай. Анализируй. Управляй
Max Babich
 
Роль ретроспектив в создании эффективного процесса разработки
Роль ретроспектив в создании эффективного процесса разработкиРоль ретроспектив в создании эффективного процесса разработки
Роль ретроспектив в создании эффективного процесса разработки
Dmitry Lobasev
 
кузнецов Dual-track agile.pptx
кузнецов   Dual-track agile.pptxкузнецов   Dual-track agile.pptx
кузнецов Dual-track agile.pptx
Magneta AI
 
Cемь смертных грехов в управлении проектами
Cемь смертных грехов в управлении проектамиCемь смертных грехов в управлении проектами
Cемь смертных грехов в управлении проектами
Boris Volfson
 
Software craftsmanship 12 online highload systems
Software craftsmanship 12 online highload systemsSoftware craftsmanship 12 online highload systems
Software craftsmanship 12 online highload systems
Pavel Veinik
 
Алексей Рыбак (Badoo)
Алексей Рыбак (Badoo)Алексей Рыбак (Badoo)
Алексей Рыбак (Badoo)
Ontico
 
Денис Тучин - Болезни Agile ретроспектив и как их лечить (2016 AgileTour.By)
Денис Тучин - Болезни Agile ретроспектив и как их лечить (2016 AgileTour.By)Денис Тучин - Болезни Agile ретроспектив и как их лечить (2016 AgileTour.By)
Денис Тучин - Болезни Agile ретроспектив и как их лечить (2016 AgileTour.By)
Denis Tuchin
 
Инструменты гибкого управления: Agile / Kanban / Scrum
Инструменты гибкого управления: Agile / Kanban / ScrumИнструменты гибкого управления: Agile / Kanban / Scrum
Инструменты гибкого управления: Agile / Kanban / Scrum
Denis Tuchin
 
Software craftsmanship 11 online: мотивация и эффектисность разработчика
Software craftsmanship 11 online: мотивация и эффектисность разработчикаSoftware craftsmanship 11 online: мотивация и эффектисность разработчика
Software craftsmanship 11 online: мотивация и эффектисность разработчика
Pavel Veinik
 
Оценка проектов. Быстро и эффективно
Оценка проектов. Быстро и эффективноОценка проектов. Быстро и эффективно
Оценка проектов. Быстро и эффективно
LuxoftAgilePractice
 
Мобильный веб: назад в будущее
Мобильный веб: назад в будущееМобильный веб: назад в будущее
Мобильный веб: назад в будущее
Badoo Development
 
Обзор Agile - эволюция процессов
Обзор Agile - эволюция процессовОбзор Agile - эволюция процессов
Обзор Agile - эволюция процессов
Nikita Filippov
 
Владимир Завертайлов. Выравнивание нагрузки в IT-компании: впихнуть невпихуемое.
Владимир Завертайлов. Выравнивание нагрузки в IT-компании: впихнуть невпихуемое.Владимир Завертайлов. Выравнивание нагрузки в IT-компании: впихнуть невпихуемое.
Владимир Завертайлов. Выравнивание нагрузки в IT-компании: впихнуть невпихуемое.
ScrumTrek
 
Экспресс-метод определения биологического возраста человека
Экспресс-метод определения биологического возраста человекаЭкспресс-метод определения биологического возраста человека
Экспресс-метод определения биологического возраста человека
Danila Medvedev
 
Александр Андронов, Engineering Assessment
Александр Андронов, Engineering AssessmentАлександр Андронов, Engineering Assessment
Александр Андронов, Engineering Assessment
ScrumTrek
 
TechLeads meetup: Андрей Шелёхин, Tinkoff.ru
TechLeads meetup: Андрей Шелёхин, Tinkoff.ruTechLeads meetup: Андрей Шелёхин, Tinkoff.ru
TechLeads meetup: Андрей Шелёхин, Tinkoff.ru
Badoo Development
 
Юлия Викторова; Александр Тарасов. DevOps без булшита.
Юлия Викторова; Александр Тарасов. DevOps без булшита.Юлия Викторова; Александр Тарасов. DevOps без булшита.
Юлия Викторова; Александр Тарасов. DevOps без булшита.
ScrumTrek
 
AgileDays 2016 - Метрики в Agile проек
AgileDays 2016 - Метрики в Agile проекAgileDays 2016 - Метрики в Agile проек
AgileDays 2016 - Метрики в Agile проек
LuxoftAgilePractice
 
Обязательные практики Agile-проекта и правило ППП
Обязательные практики Agile-проекта и правило ПППОбязательные практики Agile-проекта и правило ППП
Обязательные практики Agile-проекта и правило ППП
Pavel Gabriel
 
вольфсон построение собственного Agile-фреймворка (шаблон)
вольфсон   построение собственного Agile-фреймворка (шаблон)вольфсон   построение собственного Agile-фреймворка (шаблон)
вольфсон построение собственного Agile-фреймворка (шаблон)
Magneta AI
 
Наблюдай. Анализируй. Управляй
Наблюдай. Анализируй. УправляйНаблюдай. Анализируй. Управляй
Наблюдай. Анализируй. Управляй
Max Babich
 
Роль ретроспектив в создании эффективного процесса разработки
Роль ретроспектив в создании эффективного процесса разработкиРоль ретроспектив в создании эффективного процесса разработки
Роль ретроспектив в создании эффективного процесса разработки
Dmitry Lobasev
 
кузнецов Dual-track agile.pptx
кузнецов   Dual-track agile.pptxкузнецов   Dual-track agile.pptx
кузнецов Dual-track agile.pptx
Magneta AI
 
Cемь смертных грехов в управлении проектами
Cемь смертных грехов в управлении проектамиCемь смертных грехов в управлении проектами
Cемь смертных грехов в управлении проектами
Boris Volfson
 
Software craftsmanship 12 online highload systems
Software craftsmanship 12 online highload systemsSoftware craftsmanship 12 online highload systems
Software craftsmanship 12 online highload systems
Pavel Veinik
 
Алексей Рыбак (Badoo)
Алексей Рыбак (Badoo)Алексей Рыбак (Badoo)
Алексей Рыбак (Badoo)
Ontico
 
Денис Тучин - Болезни Agile ретроспектив и как их лечить (2016 AgileTour.By)
Денис Тучин - Болезни Agile ретроспектив и как их лечить (2016 AgileTour.By)Денис Тучин - Болезни Agile ретроспектив и как их лечить (2016 AgileTour.By)
Денис Тучин - Болезни Agile ретроспектив и как их лечить (2016 AgileTour.By)
Denis Tuchin
 
Инструменты гибкого управления: Agile / Kanban / Scrum
Инструменты гибкого управления: Agile / Kanban / ScrumИнструменты гибкого управления: Agile / Kanban / Scrum
Инструменты гибкого управления: Agile / Kanban / Scrum
Denis Tuchin
 
Software craftsmanship 11 online: мотивация и эффектисность разработчика
Software craftsmanship 11 online: мотивация и эффектисность разработчикаSoftware craftsmanship 11 online: мотивация и эффектисность разработчика
Software craftsmanship 11 online: мотивация и эффектисность разработчика
Pavel Veinik
 
Оценка проектов. Быстро и эффективно
Оценка проектов. Быстро и эффективноОценка проектов. Быстро и эффективно
Оценка проектов. Быстро и эффективно
LuxoftAgilePractice
 
Мобильный веб: назад в будущее
Мобильный веб: назад в будущееМобильный веб: назад в будущее
Мобильный веб: назад в будущее
Badoo Development
 
Обзор Agile - эволюция процессов
Обзор Agile - эволюция процессовОбзор Agile - эволюция процессов
Обзор Agile - эволюция процессов
Nikita Filippov
 
Владимир Завертайлов. Выравнивание нагрузки в IT-компании: впихнуть невпихуемое.
Владимир Завертайлов. Выравнивание нагрузки в IT-компании: впихнуть невпихуемое.Владимир Завертайлов. Выравнивание нагрузки в IT-компании: впихнуть невпихуемое.
Владимир Завертайлов. Выравнивание нагрузки в IT-компании: впихнуть невпихуемое.
ScrumTrek
 
Экспресс-метод определения биологического возраста человека
Экспресс-метод определения биологического возраста человекаЭкспресс-метод определения биологического возраста человека
Экспресс-метод определения биологического возраста человека
Danila Medvedev
 
Александр Андронов, Engineering Assessment
Александр Андронов, Engineering AssessmentАлександр Андронов, Engineering Assessment
Александр Андронов, Engineering Assessment
ScrumTrek
 
TechLeads meetup: Андрей Шелёхин, Tinkoff.ru
TechLeads meetup: Андрей Шелёхин, Tinkoff.ruTechLeads meetup: Андрей Шелёхин, Tinkoff.ru
TechLeads meetup: Андрей Шелёхин, Tinkoff.ru
Badoo Development
 
Юлия Викторова; Александр Тарасов. DevOps без булшита.
Юлия Викторова; Александр Тарасов. DevOps без булшита.Юлия Викторова; Александр Тарасов. DevOps без булшита.
Юлия Викторова; Александр Тарасов. DevOps без булшита.
ScrumTrek
 
AgileDays 2016 - Метрики в Agile проек
AgileDays 2016 - Метрики в Agile проекAgileDays 2016 - Метрики в Agile проек
AgileDays 2016 - Метрики в Agile проек
LuxoftAgilePractice
 
Обязательные практики Agile-проекта и правило ППП
Обязательные практики Agile-проекта и правило ПППОбязательные практики Agile-проекта и правило ППП
Обязательные практики Agile-проекта и правило ППП
Pavel Gabriel
 
вольфсон построение собственного Agile-фреймворка (шаблон)
вольфсон   построение собственного Agile-фреймворка (шаблон)вольфсон   построение собственного Agile-фреймворка (шаблон)
вольфсон построение собственного Agile-фреймворка (шаблон)
Magneta AI
 

Viewers also liked (8)

Similar to Developmentmanage1.0 (20)

Как сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с AgileКак сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с Agile
Alexey Krivitsky
 
История проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей ШетухинИстория проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей Шетухин
Ontico
 
РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...
РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...
РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...
Yury Vetrov
 
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
HappyDev
 
Технологический цикл и соблюдение фаз производства.
Технологический цикл и соблюдение фаз производства.Технологический цикл и соблюдение фаз производства.
Технологический цикл и соблюдение фаз производства.
Сергей Сторожев
 
DevOps-трансформация Альфа-Банка / Антон Исанин (Альфа-Банк)
DevOps-трансформация Альфа-Банка / Антон Исанин (Альфа-Банк)DevOps-трансформация Альфа-Банка / Антон Исанин (Альфа-Банк)
DevOps-трансформация Альфа-Банка / Антон Исанин (Альфа-Банк)
Ontico
 
Тест-план и исследовательское тестирование
Тест-план и исследовательское тестированиеТест-план и исследовательское тестирование
Тест-план и исследовательское тестирование
Vasiliy Burov
 
организация и проведение тестирования
организация и проведение тестированияорганизация и проведение тестирования
организация и проведение тестирования
Igor Pozumentov
 
Консалтинг высоконагруженных web систем
Консалтинг высоконагруженных web системКонсалтинг высоконагруженных web систем
Консалтинг высоконагруженных web систем
Media Gorod
 
Семинар ФКН: современные подходы к разработке ПО - часть 1
Семинар ФКН: современные подходы к разработке ПО - часть 1Семинар ФКН: современные подходы к разработке ПО - часть 1
Семинар ФКН: современные подходы к разработке ПО - часть 1
Andrii Gakhov
 
Форум Технологий Mail.Ru 2011: Юрий Ветров — Как создаются интерфейсы в Mail.Ru
Форум Технологий Mail.Ru 2011: Юрий Ветров — Как создаются интерфейсы в Mail.RuФорум Технологий Mail.Ru 2011: Юрий Ветров — Как создаются интерфейсы в Mail.Ru
Форум Технологий Mail.Ru 2011: Юрий Ветров — Как создаются интерфейсы в Mail.Ru
Yury Vetrov
 
Развитие интерфейса через гайдлайны
Развитие интерфейса через гайдлайныРазвитие интерфейса через гайдлайны
Развитие интерфейса через гайдлайны
tfmailru
 
Юрий Ветров "Как планируется работа команды проектирования и дизайна интерфей...
Юрий Ветров "Как планируется работа команды проектирования и дизайна интерфей...Юрий Ветров "Как планируется работа команды проектирования и дизайна интерфей...
Юрий Ветров "Как планируется работа команды проектирования и дизайна интерфей...
Yandex
 
Когда проектов больше чем людей - процесс разработки в маленькой, но амбициоз...
Когда проектов больше чем людей - процесс разработки в маленькой, но амбициоз...Когда проектов больше чем людей - процесс разработки в маленькой, но амбициоз...
Когда проектов больше чем людей - процесс разработки в маленькой, но амбициоз...
Alexander Gornik
 
Codefest 2011. Вольфтруб А. — О чем стоит подумать, приступая к разработке вы...
Codefest 2011. Вольфтруб А. — О чем стоит подумать, приступая к разработке вы...Codefest 2011. Вольфтруб А. — О чем стоит подумать, приступая к разработке вы...
Codefest 2011. Вольфтруб А. — О чем стоит подумать, приступая к разработке вы...
CodeFest
 
О чем стоит подумать, приступая к разработке высоконагруженных систем
О чем стоит подумать, приступая к разработке высоконагруженных системО чем стоит подумать, приступая к разработке высоконагруженных систем
О чем стоит подумать, приступая к разработке высоконагруженных систем
Artem Volftrub
 
Как работать с legacy проектом, которому больше10 лет? |Денис Воскобойник
Как работать с legacy проектом, которому больше10 лет? |Денис ВоскобойникКак работать с legacy проектом, которому больше10 лет? |Денис Воскобойник
Как работать с legacy проектом, которому больше10 лет? |Денис Воскобойник
Образовательные мероприятия "Netpeak Talks"
 
Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17
Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17
Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17
OdessaFrontend
 
Что DevOps должен знать про статический анализ кода?
Что DevOps должен знать про статический анализ кода?Что DevOps должен знать про статический анализ кода?
Что DevOps должен знать про статический анализ кода?
Andrey Karpov
 
Как сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с AgileКак сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с Agile
Alexey Krivitsky
 
История проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей ШетухинИстория проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей Шетухин
Ontico
 
РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...
РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...
РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...
Yury Vetrov
 
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
HappyDev
 
Технологический цикл и соблюдение фаз производства.
Технологический цикл и соблюдение фаз производства.Технологический цикл и соблюдение фаз производства.
Технологический цикл и соблюдение фаз производства.
Сергей Сторожев
 
DevOps-трансформация Альфа-Банка / Антон Исанин (Альфа-Банк)
DevOps-трансформация Альфа-Банка / Антон Исанин (Альфа-Банк)DevOps-трансформация Альфа-Банка / Антон Исанин (Альфа-Банк)
DevOps-трансформация Альфа-Банка / Антон Исанин (Альфа-Банк)
Ontico
 
Тест-план и исследовательское тестирование
Тест-план и исследовательское тестированиеТест-план и исследовательское тестирование
Тест-план и исследовательское тестирование
Vasiliy Burov
 
организация и проведение тестирования
организация и проведение тестированияорганизация и проведение тестирования
организация и проведение тестирования
Igor Pozumentov
 
Консалтинг высоконагруженных web систем
Консалтинг высоконагруженных web системКонсалтинг высоконагруженных web систем
Консалтинг высоконагруженных web систем
Media Gorod
 
Семинар ФКН: современные подходы к разработке ПО - часть 1
Семинар ФКН: современные подходы к разработке ПО - часть 1Семинар ФКН: современные подходы к разработке ПО - часть 1
Семинар ФКН: современные подходы к разработке ПО - часть 1
Andrii Gakhov
 
Форум Технологий Mail.Ru 2011: Юрий Ветров — Как создаются интерфейсы в Mail.Ru
Форум Технологий Mail.Ru 2011: Юрий Ветров — Как создаются интерфейсы в Mail.RuФорум Технологий Mail.Ru 2011: Юрий Ветров — Как создаются интерфейсы в Mail.Ru
Форум Технологий Mail.Ru 2011: Юрий Ветров — Как создаются интерфейсы в Mail.Ru
Yury Vetrov
 
Развитие интерфейса через гайдлайны
Развитие интерфейса через гайдлайныРазвитие интерфейса через гайдлайны
Развитие интерфейса через гайдлайны
tfmailru
 
Юрий Ветров "Как планируется работа команды проектирования и дизайна интерфей...
Юрий Ветров "Как планируется работа команды проектирования и дизайна интерфей...Юрий Ветров "Как планируется работа команды проектирования и дизайна интерфей...
Юрий Ветров "Как планируется работа команды проектирования и дизайна интерфей...
Yandex
 
Когда проектов больше чем людей - процесс разработки в маленькой, но амбициоз...
Когда проектов больше чем людей - процесс разработки в маленькой, но амбициоз...Когда проектов больше чем людей - процесс разработки в маленькой, но амбициоз...
Когда проектов больше чем людей - процесс разработки в маленькой, но амбициоз...
Alexander Gornik
 
Codefest 2011. Вольфтруб А. — О чем стоит подумать, приступая к разработке вы...
Codefest 2011. Вольфтруб А. — О чем стоит подумать, приступая к разработке вы...Codefest 2011. Вольфтруб А. — О чем стоит подумать, приступая к разработке вы...
Codefest 2011. Вольфтруб А. — О чем стоит подумать, приступая к разработке вы...
CodeFest
 
О чем стоит подумать, приступая к разработке высоконагруженных систем
О чем стоит подумать, приступая к разработке высоконагруженных системО чем стоит подумать, приступая к разработке высоконагруженных систем
О чем стоит подумать, приступая к разработке высоконагруженных систем
Artem Volftrub
 
Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17
Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17
Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17
OdessaFrontend
 
Что DevOps должен знать про статический анализ кода?
Что DevOps должен знать про статический анализ кода?Что DevOps должен знать про статический анализ кода?
Что DevOps должен знать про статический анализ кода?
Andrey Karpov
 

More from HighLoad2009 (20)

Hl++2009 Ayakovlev Pochta
Hl++2009 Ayakovlev PochtaHl++2009 Ayakovlev Pochta
Hl++2009 Ayakovlev Pochta
HighLoad2009
 
архитектура новой почты рамблера
архитектура новой почты рамблераархитектура новой почты рамблера
архитектура новой почты рамблера
HighLoad2009
 
Quick Wins
Quick WinsQuick Wins
Quick Wins
HighLoad2009
 
Dz Java Hi Load 0.4
Dz Java Hi Load 0.4Dz Java Hi Load 0.4
Dz Java Hi Load 0.4
HighLoad2009
 
Highload Perf Tuning
Highload Perf TuningHighload Perf Tuning
Highload Perf Tuning
HighLoad2009
 
особенности использования Times Ten In Memory Database в высоконагруженной среде
особенности использования Times Ten In Memory Database в высоконагруженной средеособенности использования Times Ten In Memory Database в высоконагруженной среде
особенности использования Times Ten In Memory Database в высоконагруженной среде
HighLoad2009
 
High Load 2009 Dimaa Rus Ready 16 9
High Load 2009 Dimaa Rus Ready 16 9High Load 2009 Dimaa Rus Ready 16 9
High Load 2009 Dimaa Rus Ready 16 9
HighLoad2009
 
Nyt Prof 200910
Nyt Prof 200910Nyt Prof 200910
Nyt Prof 200910
HighLoad2009
 
температура мира
температура миратемпература мира
температура мира
HighLoad2009
 
м.токовинин компромиссная производительность
м.токовинин   компромиссная производительностьм.токовинин   компромиссная производительность
м.токовинин компромиссная производительность
HighLoad2009
 
Smirnov Twisted Python
Smirnov Twisted PythonSmirnov Twisted Python
Smirnov Twisted Python
HighLoad2009
 
Hl++2009 Ayakovlev Pochta
Hl++2009 Ayakovlev PochtaHl++2009 Ayakovlev Pochta
Hl++2009 Ayakovlev Pochta
HighLoad2009
 
архитектура новой почты рамблера
архитектура новой почты рамблераархитектура новой почты рамблера
архитектура новой почты рамблера
HighLoad2009
 
Dz Java Hi Load 0.4
Dz Java Hi Load 0.4Dz Java Hi Load 0.4
Dz Java Hi Load 0.4
HighLoad2009
 
Highload Perf Tuning
Highload Perf TuningHighload Perf Tuning
Highload Perf Tuning
HighLoad2009
 
особенности использования Times Ten In Memory Database в высоконагруженной среде
особенности использования Times Ten In Memory Database в высоконагруженной средеособенности использования Times Ten In Memory Database в высоконагруженной среде
особенности использования Times Ten In Memory Database в высоконагруженной среде
HighLoad2009
 
High Load 2009 Dimaa Rus Ready 16 9
High Load 2009 Dimaa Rus Ready 16 9High Load 2009 Dimaa Rus Ready 16 9
High Load 2009 Dimaa Rus Ready 16 9
HighLoad2009
 
температура мира
температура миратемпература мира
температура мира
HighLoad2009
 
м.токовинин компромиссная производительность
м.токовинин   компромиссная производительностьм.токовинин   компромиссная производительность
м.токовинин компромиссная производительность
HighLoad2009
 
Smirnov Twisted Python
Smirnov Twisted PythonSmirnov Twisted Python
Smirnov Twisted Python
HighLoad2009
 

Developmentmanage1.0

  • 2. В чем особенность разработки высоконагруженных интернет-проектов?Больше 10 серверов?
  • 3. Любой интернет-проект может стать высоконагруженным.
  • 6. Интернет-быстро меняющаяся среда в которой от команды требуется исключительная гибкость.
  • 7. Высоконагруженные интернет-проекты должны быть беспредельно масштабируемы в любом узком месте.Из чего состоит разработка?Самая важная часть процесса разработки – люди, а вовсе не технологии. КомандаОпределяет технологические решения. Определяют стоимость и качество продукта.Технологии
  • 8. Менеджмент и планированиеОпределяет мотивацию и ответственность.
  • 9. С чего начинается разработка?С подробного технического задания?С разработки методик тестирования?С выбора технологий?С поиска и найма команды!Выберите группу лучших разработчиков и заставьте их искать себе подобных.
  • 10. Как нужно нанимать разработчиков?Групповое собеседование.Начинаем собеседование с написания кода.На собеседовании спрашивайте только то, что вам точно нужно.Тратьте на собеседование достаточно времени.Помните, отличники нанимают отличников – а хорошисты троечников.
  • 11. КомандаВсе разработчики хотят разрабатывать (но хотят ли они разрабатывать для Вас?). Все разработчики хотят уважения и признания их заслуг в реализации проекта.Разработчики любят чувство ответственности и «собственности» своего куска программного кода.Руководитель команды должен быть наиболее авторитетным сотрудником. Прозрачность в принятии решений.Открытые коммуникации.
  • 12. Роли в IT командеIT-manager\Team leader: играющий тренер, знает кто что делает, почему сейчас и «когда будет готово».Архитектор: привносит новые технологические идеи в команду, работает со сложными задачами (реализация практического R&D).Разработчик – боевая единица, полностью ответственная за качественный и временной результат.Администратор\ответственный за production – человек необходимый для связи разработчиков с реальностью.Тестеры –группа пользователей имеющая возможность общаться с разработчиками напрямую.
  • 13. Выбор технологииНЕТ!-«Я слышал, что это работает.»«По тестам журнала “Линуксоид и Ко” эта база самая быстрая.»
  • 14. «Нам нужен всего лишь сервер помощнее.»ДА!- «Эта технология знакома нашей команде.»«Я знаю людей которые придут и разработают эту часть проекта.»
  • 15. «Эта технология позволит нам поставить столько серверов, сколько нам нужно.»ПроектированиеПринимает участие вся команда от PM до бета-тестеров.По каждому этапу должны быть найдены ответы на вопросы: Как мы будем масштабировать нагрузку?Как мы можем применить что-то из уже существующего кода?Как мы будем использовать это в последующих разработках?Кто из команды лучше всего разбирается в этом вопросе \ Кто будет это делать?Когда мы это сделаем?
  • 17. Система контроля версий – версификация и развертывание.
  • 18. Радар – задачи в работе.
  • 19. «Список Идей» - позволяет коллекционировать идеи на будущее.
  • 20. «Wiki» - для документации.
  • 21. «Средство учета времени» – self-test IT-менеджера.Процесс разработкиНужно ли техническое задание?ДА!Длинна проекта >месяца.Работает несколько команд.Есть удаленные команды.Есть outsource разработчики.НЕТ!Короткий проект.Проект, который уже делали.Маленькая команда.Лучшее тех.задание – работающий макет.
  • 22. Процесс разработкиЕсть команда? Есть ТЗ? – Самое время для определения последовательности этапов.IT ManagerProduct ManagerПланирование должно быть осуществлено на весь срок разработки проекта. Результатом каждого этапа должен являться визуальный результат.
  • 23. Процесс разработкиДробим на минимальные кванты не длиннее недели.Результат работы над каждым квантом – развертывание.Разрешайте разработчикам выбирать задачи.Боритесь с расслоением команды.Обсуждайте сложности.Не начинайте разработку пока есть нерешенные вопросы.
  • 24. Что получилось хорошо?Что получилось плохо?Почему?Ежедневная встреча всех участников проекта.Не более 15 минут.Кто и что делает?Какие проблемы существуют?Выбор задач на текущую неделюРазвертывание +ЕженедельноеОбсуждение РезультатовКаждая еженедельная разработка должна заканчиваться развертыванием.
  • 25. ТестированиеНужно ли выделенное подразделение тестеров в интернет-проекте?Нагрузочное тестирование - за разработчиком.
  • 26. Системное тестирование - за проектным менеджером.
  • 27. Функциональное тестирование – за автоматизированным ПО.
  • 28. Финальное тестирование - за группой пользователей-бетатестеров.Если вы не можете найти пользователей, которые хотят протестировать ваш продукт – подумайте стоит ли делать такой продукт.
  • 29. Что, если…Произошел сдвиг сроков: Обязательно обсудите со всей командой видение причин сдвига сроков. (причины могут быть как в ошибочной оценке, так и в дополнительных задачах).
  • 30. Назначьте и зафиксируйте новые сроки, не пытайтесь сделать невозможного – это выльется в низкое качество проекта.
  • 31. Не злоупотребляйте овертаймом, помните, что каждый человек может эффективно работать строго ограниченное количество времени (а находиться на работе он может намного больше).Что, если…ИзменилосьТЗ:Обсудите с командой изменение ТЗ, объясните почему это произошло.
  • 32. Выберите что из уже реализованного ПО можно использовать в новой задаче.
  • 33. Всегда лучше закончить текущую разработку, а потом начать следующую, чем переключиться в процессе разработки на новую задачу – цена переключения очень велика.
  • 34. Даже мелкие изменения ТЗ – меняют сроки, не забывайте менять срок готовности в плане разработки.Слово о развертывании в production.Развертывание – это еще и этап тестирования.Все развертывание должно быть полностью автоматизировано.«Боевое» и тестовое развертывание с помощью одних и тех же утилит. Развертывание – дело группы эксплуатации.Развертывание - только из системы контроля версий.
  • 35. Если у Вас нет вопросов, то я повторю презентацию.Владимир Габриелян. [email protected]