Программисты - кто они ? Или как организовать работу. Семёнов Илья, руководитель отдела программных разработок ООО «Смарт Процессинг»

Презентация:



Advertisements
Похожие презентации
Методология SCRUM Методология гибкой разработки программного обеспечения.
Advertisements

Тестирование веб-проектов в Agile Асхат Уразбаев, ScrumTrek.
Как пасти котов. 1, 2 главы Обзор Белоусов С. А..
Обязательные практики Agile и правило 3-х П. Павел Габриель agile-практик, программист, руководитель ООО Смарт системз.
Степан Василевский менеджер проектов QuartSoft Corp г.
EXtreme Programming XP Тема 2. XP Заказчики определяют: объем работ; приоритеты; композиции версий; сроки выпуска версий. Разработчики определяют: оценку.
серия подходов к разработке программного обеспечения, ориентированных на использование итеративной разработки и динамическое формирование требований в.
Руководство по тестированию в Agile Асхат Уразбаев. ScrumTrek.
В двух словах Михаил Смирнов
Построение Agile процесса для разработки игр Вадим Гайдукевич Wargaming.net.
EXtreme Programming XP Тема 1. XP Экстремальное программирование небольших и средних неясных и быстро меняющихся требований Экстремальное программирование.
Технологии конструирования программного обеспечения.
Технологии конструирования программного обеспечения.
Учебный курс Модели жизненного цикла и методологии разработки корпоративных систем Лекция 5 Методологии разработки корпоративных систем Лекции читает кандидат.
Тел.: +7 (495) , © 2010 ООО«Баллистика» Waterfall Преимущества водопадной модели разработки проектов по сравнению с «гибкими»
Менеджмент разработки программных изделий 8.Особенности первой итерации объектно- ориентированного программного проекта.
Тема: Методы обучения с использованием модульных программ на компетентностной основе Преподаватель: Николаева В. И.
РАСПРОСТРАНЕННЫЕ ОШИБКИ В ИДЕОЛОГИИ, ПЛАНИРОВАНИИ И ПРОВЕДЕНИИ ТЕСТИРОВАНИЯ 2.
Разработка программного обеспечения (Software Engineering) Ian Sommervillle Часть 8. Управление качеством.
Транксрипт:

Программисты - кто они ? Или как организовать работу Семёнов Илья Руководитель отдела программных разработок ООО « Смарт Процессинг » Санкт-Петербург, 2014 г.

Структура презентации Программисты – кто они ? Как организовать работу o Проектное управление o Инфраструктура разработки o Мотивация Программисты - кто они ? Или как организовать работу

Структура презентации. Задачи Программисты – кто они ? Как организовать работу o Проектное управление o Инфраструктура разработки o Мотивация Программисты - кто они ? Или как организовать работу

Кто такой программист ? Определение по Программист Программист Программист ( проггер, программист, девелопер, дев, кодер, кодировщик, кодераст ) это человек, который пишет программы. Программисты делятся на архитекторов, собственно программистов, быдлокодеров и хеллоуворлдщиков. Расположены в порядке убывания профессионализма. Программисты - кто они ? Или как организовать работу

Программисты, кто они ? Проблемы Программисты - кто они ? Или как организовать работу

Программисты, кто они ? Типы личностей В большинстве случаев люди ведут себя в соответствии с моделью поведения определенной их типу личности : Холерик Сангвиник Меланхолик Флегматик Программисты - кто они ? Или как организовать работу

Программисты, кто они ? Распространенные Архитектор ( мыслят объектами ) Конструктивист ( пишут надёжный, самодокументируемый код ) Художник ( стиль, который отличает человека от машины ) Инженер ( тенденции к усложнению ) Ученый ( решают трудные задачи, любят всё усложнять ) Лихач ( делают всё быстро, но не качественно, свойственно молодым программистам ) Редкие Волшебник Минималист ( быстро теряют интерес ) Аналогист ( мыслят аналогиями ) Трюкач ( слишком увлекаются технологиями ) Дворовые Разгильдяй ( используют разные стили ) Тормоз ( не знает с чего начать ) Любитель ( не хватает образования, считаю себя хакерами ) Профан ( тупицы ) Эклектик ( инженера + разгильдяй + художник -> винегрет стилей кодирования ) Ковбои ( в совершенстве владеет своим ремеслом, но при этом управлять им практически невозможно ) Программисты - кто они ? Или как организовать работу Типы программистов ( по Дж Ханк Рейнвотеру ):

Программисты, кто они ? Виды восприятия информации Визуал (60%) - Говорит « Смотрите » Восприятие через зрение. Прочитал, запомнил. Нарисовал на доске, хорошо, обсудил на слух плохо. Обладают хорошей визуальной памятью. Аудио книги не воспринимают. Аудиал (30%) - Говорит « Слушайте » Воспринимает информацию на слух, плохо запоминает письменность. Любит говорить, т. к. для людей этого типа это приоритетный канал связи. В дискуссия доминируют. Любят слушать аудио книги. Кинестетик (10%) - Говорит « Чувствуете » Ощущение мира через касания, осязание. Человек должен записать информацию, чтобы ее запомнить. Программисты - кто они ? Или как организовать работу

Свой - чужой Должен ли менеджер управляющий программистами быть в прошлом программистом ? Программисты - кто они ? Или как организовать работу Кем был раньше менеджер, админом, программистом или экономистом ? Если вы не проектировали архитектуру, будучи программистом, то, скорее всего, сможете допустить эту оплошность по отношению к своим подчинённым. Пол Экман : психологии эмоций НЛП : интонация, голос, жесты, как определитель свой - чужой

Кого брать в команду ? Люди всякие важны, люди всякие нужны. Рерайт Маршака С. Программисты - кто они ? Или как организовать работу Хороший программист : Задаёт вопросы, а не ходит вещь в себе ; Умеет правильно коммуницировать на понятном языке ; Знает основы, постоянно учится и делится знаниями ; Пишет понятный, документированный код ; Документирует структуры хранения данных ; Тестирует свой код ; Не делает костыли. В большинстве случаем, при подборе персонала, мы ищем не лучшего специалиста, а своего.

Структура презентации. Задачи Программисты – кто они ? Как организовать работу o Проектное управление o Инфраструктура разработки o Мотивация Программисты - кто они ? Или как организовать работу

Проектное управление. Проблемы Программисты - кто они ? Или как организовать работу

Проектное управление. Непрерывное изменение Всё течет, всё изменяется. Гераклит Программисты - кто они ? Или как организовать работу Какую методологию проектного управления выбрать, статичную или динамичную ? Противоположное излечивается противоположным. Гиппократ

Проектное управление. Почему agile? agile (scrum, kanban, xp, pmbok, lean) Почему agile? Итеративная разработка ; Заказчик является членом команды ; Учитываются личностные качества программистов ; Самоструктурирующиеся команды ; Саморазвивающиеся команды ; Непрерывное итеративное тестирование ; Снижение рисков ; Гибкость к динамично меняющимся требованиям. Программисты - кто они ? Или как организовать работу

Проектное управление. Синергетика agile команды Преимущества самоорганизующихся команд : люди работают над теми задачами, которые им интересны ; все члены команды непрерывно синхронизируются друг с другом ; организация труда постоянно реструктуризируется по мере выполнения проекта и приобретения новых знаний ; организация команды формируется не на основе субъективного представления менеджера проектов, а на основе объективно существующем опыте, желании, знаниях каждого конкретного члена команды ; ответственность ложится не только на всю команду в целом, но и на каждого члена команды ; мотивация в такой команде возрастает. Программисты - кто они ? Или как организовать работу

Scrum – итеративная разработка Каждая итерация – это мини проект Программисты - кто они ? Или как организовать работу Программирование Тестирование Документирование Планирование Анализ требований Проектирование

Scrum. Проблемы Программисты - кто они ? Или как организовать работу

Kanban Программисты - кто они ? Или как организовать работу

Scrum-ban – постоянное улучшение Scrum Роли (Product Owner / Scrum Master / Команда ). Приоритезированный Product Backlog. Ограниченные по времени итерации. Демонстрации по окончанию итерации. Daily Stand-up. Программисты - кто они ? Или как организовать работу XP Разработка через тестирование. Парное программирование. Непрерывная интеграция. Refactoring. Частые релизы. Бережливое производство процесс непрерывного устранения потерь, ( затрат, мусора ). Золотая сервировка, простои. Быстрая доставка продукта. Стремление к совершенству – сокращение операций, сервировки. Обеспечение непрерывного течения потока создания ценности продукта. Всеобъемлющее тестирование. Kanban – точно вовремя Оценки задач опциональны. Можно добавлять новые задачи, в любой момент времени. Непрерывный поток задач не привязанный к итерации. PMBOK … непрерывное улучшение

Проектное управление. Процесс разработки Scrum-ban Программисты - кто они ? Или как организовать работу

Проектное управление. Процесс тестирования Кто отвечает за тестирование ? Программисты - кто они ? Или как организовать работу

Проектное управление. Code review & Refactoring Программисты - кто они ? Или как организовать работу

Проектное управление. Проектирование и презентация перед реализацией Контролировать изменения в архитектуре ; Участвовать в митингах ; Участвовать в проектировании ; Контролировать золотую сервировку. Программисты - кто они ? Или как организовать работу

Проектное управление. Coding Standards Правила документирования кода Правила именования объектов баз данных и их типизация Основные правила ; Отображение даты в проекте ; Типы данных ; Словари ; … Программисты - кто они ? Или как организовать работу

Структура презентации. Задачи Программисты – кто они ? Как организовать работу o Проектное управление o Инфраструктура разработки o Мотивация Программисты - кто они ? Или как организовать работу

Инфраструктура разработки. Что мы используем Распределенные системы контроля версий (git) Коллективная разработка Багтрекер (Jira) Модульное тестирование (Unit testing) Приёмочное тестирование (testlink) Автоматизированная сборка продукта Непрерывная интеграция (Continuous integration) Управление знаниями (Confluence) Генерации документации Виртуальные среды Программисты - кто они ? Или как организовать работу

Continuous integration Программисты - кто они ? Или как организовать работу

Continuous integration Программисты - кто они ? Или как организовать работу

Инфраструктура разработки. Continuous integration Задачи службы : получение исходного кода из репозитория ; сборка проекта ; выполнение тестов ; генерация пакетов ; развёртывание готового проекта ; отправка отчетов. Программисты - кто они ? Или как организовать работу

Continuous integration. Автоматическое тестирование Программисты - кто они ? Или как организовать работу

Инфраструктура разработки. Continuous integration

Интегрированная система управления проектами, требованиями, инфраструктурой : jira +confluence + git + scrum + kanban Требования к инструменту управления проектами : управление проектами – список проектов, дедлайны ; управление требованиями ; управление версиями, выпуск релизов ; управление текущими, будущими и сделанными задачами ; список багов, отчет по устранению багов ; функции Service Desk, заявки от пользователей ; интеграция с agile методологиями ; Интеграция с внешним софтом ; Механизм управления ЖЦ разработки ПО или настройки workflow движения задач. Программисты - кто они ? Или как организовать работу

Jira statuses Программисты - кто они ? Или как организовать работу

Jira statuses Программисты - кто они ? Или как организовать работу

Структура презентации. Задачи Программисты – кто они ? Как организовать работу o Проектное управление o Инфраструктура разработки o Мотивация Программисты - кто они ? Или как организовать работу

Мотивация. Проблемы Программисты - кто они ? Или как организовать работу

Мотивация. Теория ожиданий Программисты - кто они ? Или как организовать работу

Мотивация программистов Программисты - кто они ? Или как организовать работу Люди, которые хорошо себя чувствуют, добиваются хороших результатов KPI? Да, Key Performance Indicators are a Key Demotivation Indicator

Структура презентации. Задачи Программисты – кто они ? Как организовать работу o Проектное управление o Инфраструктура разработки o Мотивация Программисты - кто они ? Или как организовать работу

Цель выступления Вы должны : Осознать свою ситуацию ; Приобрести какие - то знания ; Задуматься о том, что надо что - то изменить. Программисты - кто они ? Или как организовать работу

Спасибо за внимание ! Вопросы ? Программисты - кто они ? Или как организовать работу