SlideShare a Scribd company logo
1 of 18
Разработка ПО
 Введение в специальность

                  Павел Егоров
                    @xoposhiy
                  pe@kontur.ru
Радости профессии
Интересно — это когда…


       Сложно
Сложности бывают разные
Сложно, когда нужно быстро!
Сложно, когда непонятно как!
Сложно, когда чего-то много!
  Много кода?
      Сложно его хорошо организовать

  Много рутины?
      Сложно её автоматизировать

  Много данных?
      Сложно их обрабатывать

  Много пользователей?
      Сложно не падать под нагрузками
Сложно делать удобным
Сразу начинать со сложного?
20-30% всех IT-проектов проваливаются!
              http://www.ambysoft.com/surveys/success2011.html




  Чем больше система, тем выше риск


      15—50 ошибок на 1000 строк кода
                    Стив Макконнелл «Совершенный код»
66.ru переписан с нуля трижды
          за 5 лет существования
                    Евгений Островский




            JetStyle трижды делал
                 с нуля «ПО для рабочих групп»
                                              Алексей Кулаков




                    * Согласно докладам с конференции FailConf.ru
В чем же дело?
Как этого избежать?
Писать хороший код
Проектировать!
Стоимость изменений в готовом продукте
10
9
8                    Проектирование
7
6
5
4
3
2
 1
0
     в требованиях   в интерфейсе   в коде
Уметь работать в команде
Year    Operating System     SLOC (Million)   “Team” size

1993   Windows NT 3.1              4             340

1994   Windows NT 3.5              7             530

1996   Windows NT 4.0              11           1500

2000 Windows 2000                 30            3100
2001   Windows XP                 45           4000
2003   Windows Server 2003       50            4400
Что дальше?

• Качественный код — Игорь
• Проектирование и требования — Я
• Процессы и инструменты — Андрей
Вопросы?




                @xoposhiy
              pe@kontur.ru
  http://vk.com/kontur_edu

More Related Content

Similar to Software engineering. Введение в специальность. Обзор

Читабельные отчеты для автоматизации на C# / Gallio / BDDfy
Читабельные отчеты для автоматизации на C# / Gallio / BDDfyЧитабельные отчеты для автоматизации на C# / Gallio / BDDfy
Читабельные отчеты для автоматизации на C# / Gallio / BDDfyDmytro Zharii
 
Практика организации ИТ-конфереций и других мероприятий для разработчиков
Практика организации ИТ-конфереций и других мероприятий для разработчиковПрактика организации ИТ-конфереций и других мероприятий для разработчиков
Практика организации ИТ-конфереций и других мероприятий для разработчиковSQALab
 
организация мероприятий без упячки. герасимович. Itotvet 19 20 октября
организация мероприятий без упячки. герасимович. Itotvet 19 20 октябряорганизация мероприятий без упячки. герасимович. Itotvet 19 20 октября
организация мероприятий без упячки. герасимович. Itotvet 19 20 октябряit-people
 
История проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей ШетухинИстория проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей ШетухинOntico
 
Можно ли писать автотесты на родном языке?
Можно ли писать автотесты на родном языке?Можно ли писать автотесты на родном языке?
Можно ли писать автотесты на родном языке?Olga Kiseleva
 
dont badmouth mojo
dont badmouth mojodont badmouth mojo
dont badmouth mojoAnton Ukolov
 
Опыт Автоматизации тестирования
Опыт Автоматизации тестированияОпыт Автоматизации тестирования
Опыт Автоматизации тестированияAgile Ukraine
 
“Tips&Tricks&Antitricks with .Net Core backend in GameDev”
“Tips&Tricks&Antitricks with .Net Core backend in GameDev”“Tips&Tricks&Antitricks with .Net Core backend in GameDev”
“Tips&Tricks&Antitricks with .Net Core backend in GameDev”HYS Enterprise
 
К стратегической сессии по будущему интернета
К стратегической сессии по будущему интернетаК стратегической сессии по будущему интернета
К стратегической сессии по будущему интернетаAnatoly Levenchuk
 
Как жить в согласии с SOLID?
Как жить в согласии с SOLID?Как жить в согласии с SOLID?
Как жить в согласии с SOLID?etyumentcev
 
Проходим тест Джоэла
Проходим тест ДжоэлаПроходим тест Джоэла
Проходим тест Джоэла0leGG
 
Валерий Петров «Модель памяти .NET»
Валерий Петров «Модель памяти .NET»Валерий Петров «Модель памяти .NET»
Валерий Петров «Модель памяти .NET»SpbDotNet Community
 
Верстальщики. Инструкция по применению
Верстальщики. Инструкция по применениюВерстальщики. Инструкция по применению
Верстальщики. Инструкция по применениюIhor Zenich
 
School IT recruiting
School IT recruiting School IT recruiting
School IT recruiting Olga Kotova
 
Tech Talks @NSU: Проходим тест Джоэла
Tech Talks @NSU: Проходим тест ДжоэлаTech Talks @NSU: Проходим тест Джоэла
Tech Talks @NSU: Проходим тест ДжоэлаTech Talks @NSU
 
Проблемы построения ведомственных и корпоративных ЭБС
Проблемы построения ведомственных и корпоративных ЭБСПроблемы построения ведомственных и корпоративных ЭБС
Проблемы построения ведомственных и корпоративных ЭБСuransoft
 
Инструменты оффлайн-рекрутинга или назад в будущее (Каланов Денис)
Инструменты оффлайн-рекрутинга или назад в будущее (Каланов Денис)Инструменты оффлайн-рекрутинга или назад в будущее (Каланов Денис)
Инструменты оффлайн-рекрутинга или назад в будущее (Каланов Денис)IT-Доминанта
 
SECON'2016. Лексунин Евгений, Как не запутаться в веб-разработке
SECON'2016. Лексунин Евгений, Как не запутаться в веб-разработкеSECON'2016. Лексунин Евгений, Как не запутаться в веб-разработке
SECON'2016. Лексунин Евгений, Как не запутаться в веб-разработкеSECON
 
Инженерия Хаоса или научите меня геймдеву
Инженерия Хаоса или научите меня геймдевуИнженерия Хаоса или научите меня геймдеву
Инженерия Хаоса или научите меня геймдевуOlga Maksimenkova
 

Similar to Software engineering. Введение в специальность. Обзор (20)

Читабельные отчеты для автоматизации на C# / Gallio / BDDfy
Читабельные отчеты для автоматизации на C# / Gallio / BDDfyЧитабельные отчеты для автоматизации на C# / Gallio / BDDfy
Читабельные отчеты для автоматизации на C# / Gallio / BDDfy
 
Практика организации ИТ-конфереций и других мероприятий для разработчиков
Практика организации ИТ-конфереций и других мероприятий для разработчиковПрактика организации ИТ-конфереций и других мероприятий для разработчиков
Практика организации ИТ-конфереций и других мероприятий для разработчиков
 
организация мероприятий без упячки. герасимович. Itotvet 19 20 октября
организация мероприятий без упячки. герасимович. Itotvet 19 20 октябряорганизация мероприятий без упячки. герасимович. Itotvet 19 20 октября
организация мероприятий без упячки. герасимович. Itotvet 19 20 октября
 
История проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей ШетухинИстория проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей Шетухин
 
Можно ли писать автотесты на родном языке?
Можно ли писать автотесты на родном языке?Можно ли писать автотесты на родном языке?
Можно ли писать автотесты на родном языке?
 
dont badmouth mojo
dont badmouth mojodont badmouth mojo
dont badmouth mojo
 
Опыт Автоматизации тестирования
Опыт Автоматизации тестированияОпыт Автоматизации тестирования
Опыт Автоматизации тестирования
 
Cценарий ролика EDISON
Cценарий ролика EDISONCценарий ролика EDISON
Cценарий ролика EDISON
 
“Tips&Tricks&Antitricks with .Net Core backend in GameDev”
“Tips&Tricks&Antitricks with .Net Core backend in GameDev”“Tips&Tricks&Antitricks with .Net Core backend in GameDev”
“Tips&Tricks&Antitricks with .Net Core backend in GameDev”
 
К стратегической сессии по будущему интернета
К стратегической сессии по будущему интернетаК стратегической сессии по будущему интернета
К стратегической сессии по будущему интернета
 
Как жить в согласии с SOLID?
Как жить в согласии с SOLID?Как жить в согласии с SOLID?
Как жить в согласии с SOLID?
 
Проходим тест Джоэла
Проходим тест ДжоэлаПроходим тест Джоэла
Проходим тест Джоэла
 
Валерий Петров «Модель памяти .NET»
Валерий Петров «Модель памяти .NET»Валерий Петров «Модель памяти .NET»
Валерий Петров «Модель памяти .NET»
 
Верстальщики. Инструкция по применению
Верстальщики. Инструкция по применениюВерстальщики. Инструкция по применению
Верстальщики. Инструкция по применению
 
School IT recruiting
School IT recruiting School IT recruiting
School IT recruiting
 
Tech Talks @NSU: Проходим тест Джоэла
Tech Talks @NSU: Проходим тест ДжоэлаTech Talks @NSU: Проходим тест Джоэла
Tech Talks @NSU: Проходим тест Джоэла
 
Проблемы построения ведомственных и корпоративных ЭБС
Проблемы построения ведомственных и корпоративных ЭБСПроблемы построения ведомственных и корпоративных ЭБС
Проблемы построения ведомственных и корпоративных ЭБС
 
Инструменты оффлайн-рекрутинга или назад в будущее (Каланов Денис)
Инструменты оффлайн-рекрутинга или назад в будущее (Каланов Денис)Инструменты оффлайн-рекрутинга или назад в будущее (Каланов Денис)
Инструменты оффлайн-рекрутинга или назад в будущее (Каланов Денис)
 
SECON'2016. Лексунин Евгений, Как не запутаться в веб-разработке
SECON'2016. Лексунин Евгений, Как не запутаться в веб-разработкеSECON'2016. Лексунин Евгений, Как не запутаться в веб-разработке
SECON'2016. Лексунин Евгений, Как не запутаться в веб-разработке
 
Инженерия Хаоса или научите меня геймдеву
Инженерия Хаоса или научите меня геймдевуИнженерия Хаоса или научите меня геймдеву
Инженерия Хаоса или научите меня геймдеву
 

More from Pavel Egorov

Интеллект-карты для конспектирования
Интеллект-карты для конспектированияИнтеллект-карты для конспектирования
Интеллект-карты для конспектированияPavel Egorov
 
Мастер класс по алгоритмам. Часть 1
Мастер класс по алгоритмам. Часть 1Мастер класс по алгоритмам. Часть 1
Мастер класс по алгоритмам. Часть 1Pavel Egorov
 
Мастер класс по алгоритмам. Часть 2
Мастер класс по алгоритмам. Часть 2Мастер класс по алгоритмам. Часть 2
Мастер класс по алгоритмам. Часть 2Pavel Egorov
 
Code retreat @ крешкурс2013
Code retreat @ крешкурс2013Code retreat @ крешкурс2013
Code retreat @ крешкурс2013Pavel Egorov
 
Software Engineering. Введение в специальность. Что дальше?
Software Engineering. Введение в специальность. Что дальше?Software Engineering. Введение в специальность. Что дальше?
Software Engineering. Введение в специальность. Что дальше?Pavel Egorov
 
Машинное обучение (Открытый семинар по средам)
Машинное обучение (Открытый семинар по средам)Машинное обучение (Открытый семинар по средам)
Машинное обучение (Открытый семинар по средам)Pavel Egorov
 
Cистема подготовки разработчиков @ CoIT
Cистема подготовки разработчиков @ CoITCистема подготовки разработчиков @ CoIT
Cистема подготовки разработчиков @ CoITPavel Egorov
 
Разработка ПО. Введение в специальность 3. Требования
 Разработка ПО. Введение в специальность 3. Требования Разработка ПО. Введение в специальность 3. Требования
Разработка ПО. Введение в специальность 3. ТребованияPavel Egorov
 
Highload: специализированные высокопроизводительные индексы
Highload: специализированные высокопроизводительные индексыHighload: специализированные высокопроизводительные индексы
Highload: специализированные высокопроизводительные индексыPavel Egorov
 
Highload в контуре @ DUMP 2011
Highload в контуре @ DUMP 2011Highload в контуре @ DUMP 2011
Highload в контуре @ DUMP 2011Pavel Egorov
 
Основы Di контейнеров
Основы Di контейнеровОсновы Di контейнеров
Основы Di контейнеровPavel Egorov
 

More from Pavel Egorov (13)

Git basics
Git basicsGit basics
Git basics
 
Интеллект-карты для конспектирования
Интеллект-карты для конспектированияИнтеллект-карты для конспектирования
Интеллект-карты для конспектирования
 
Мастер класс по алгоритмам. Часть 1
Мастер класс по алгоритмам. Часть 1Мастер класс по алгоритмам. Часть 1
Мастер класс по алгоритмам. Часть 1
 
Мастер класс по алгоритмам. Часть 2
Мастер класс по алгоритмам. Часть 2Мастер класс по алгоритмам. Часть 2
Мастер класс по алгоритмам. Часть 2
 
Code retreat @ крешкурс2013
Code retreat @ крешкурс2013Code retreat @ крешкурс2013
Code retreat @ крешкурс2013
 
Software Engineering. Введение в специальность. Что дальше?
Software Engineering. Введение в специальность. Что дальше?Software Engineering. Введение в специальность. Что дальше?
Software Engineering. Введение в специальность. Что дальше?
 
Машинное обучение (Открытый семинар по средам)
Машинное обучение (Открытый семинар по средам)Машинное обучение (Открытый семинар по средам)
Машинное обучение (Открытый семинар по средам)
 
Cистема подготовки разработчиков @ CoIT
Cистема подготовки разработчиков @ CoITCистема подготовки разработчиков @ CoIT
Cистема подготовки разработчиков @ CoIT
 
Разработка ПО. Введение в специальность 3. Требования
 Разработка ПО. Введение в специальность 3. Требования Разработка ПО. Введение в специальность 3. Требования
Разработка ПО. Введение в специальность 3. Требования
 
AI challenge 2011
AI challenge 2011AI challenge 2011
AI challenge 2011
 
Highload: специализированные высокопроизводительные индексы
Highload: специализированные высокопроизводительные индексыHighload: специализированные высокопроизводительные индексы
Highload: специализированные высокопроизводительные индексы
 
Highload в контуре @ DUMP 2011
Highload в контуре @ DUMP 2011Highload в контуре @ DUMP 2011
Highload в контуре @ DUMP 2011
 
Основы Di контейнеров
Основы Di контейнеровОсновы Di контейнеров
Основы Di контейнеров
 

Software engineering. Введение в специальность. Обзор