44
Практические аспекты разработки программного обеспечения Краткий курс

Практические аспекты разработки ПО #1

Embed Size (px)

Citation preview

Page 1: Практические аспекты разработки ПО #1

Практические аспекты разработки программного обеспечения

Краткий курс

Page 2: Практические аспекты разработки ПО #1

Кто я

• Умнов Денис (Михайлович)• Руководитель Департамента

информационных систем НПО «Консультант»

• 20 лет в IT-индустрии в Москве и Иванове• 10 лет руководства командами

программистов• 50 человек в текущем проекте

Page 3: Практические аспекты разработки ПО #1

Для кого этот курс

• Для тех кто собирается работать по специальности

• Для тех, кто собирается работать в разработке программного обеспечения

Page 4: Практические аспекты разработки ПО #1

Для кого этот курс

Для айтишников

Page 5: Практические аспекты разработки ПО #1

Задачи курса

• Дать общее представление о круге задач, которые решает айтишник в процессе разработки ПО, кроме собственно программирования

• Рассказать, какие для этого нужны навыки• Порекомендовать книжки и источники

информаци• Познакомить с важными персоналиями

Page 6: Практические аспекты разработки ПО #1

Читаем

На зеленом фоне будут слайды с рекомендациями конкретных книг

Page 7: Практические аспекты разработки ПО #1

Знакомимся

Слайды на голубом фоне будут знакомить вас с конкретными фигурами в IT-отрасли. Некоторые из них еще живы.

Page 8: Практические аспекты разработки ПО #1

Знакомимся

Слайды на голубом фоне будут знакомить вас с конкретными фигурами в IT-отрасли. Некоторые из них еще живы.

Page 9: Практические аспекты разработки ПО #1

Структура курса

• В курсе 2 части:– Профессиональные навыки айтишника– Личные качества и личностные навыки

айтишника• По ходу дела пишем реферат– По одной главе мне на e-mail после каждой

темы

Page 10: Практические аспекты разработки ПО #1

Запишите e-mail

[email protected]

Page 11: Практические аспекты разработки ПО #1

По итогам курса

• ХХ рейтинговых баллов• Х вопросов к зачету

Page 12: Практические аспекты разработки ПО #1

Чего не будет

• Не будет раздатки. Записывайте• Не собираюсь развлекать• Не делаю скидок на то, что ваши планы на

жизнь поменялись• Курс не является исчерпывающим. Дальше

сами

Page 13: Практические аспекты разработки ПО #1

Самое главное в профессии айтишника

Тема № 1

Page 14: Практические аспекты разработки ПО #1

Что является объектом взаимодействия для айтишника?

Page 15: Практические аспекты разработки ПО #1

Что является объектом взаимодействия для айтишника?

Page 16: Практические аспекты разработки ПО #1

Что является объектом взаимодействия для врача?

Page 17: Практические аспекты разработки ПО #1

Что является объектом взаимодействия для бармена?

Page 18: Практические аспекты разработки ПО #1

Люди

Что является объектом взаимодействия для айтишника?

Page 19: Практические аспекты разработки ПО #1

С какими категориями людей взаимодействует айтишник?

• Пользователи• Заказчики• Коллеги нынешние• Коллеги будущие и прошлые• Начальство

Page 20: Практические аспекты разработки ПО #1

О терминах

• Для простоты: Пользователи = Заказчики • Мы говорим о пользователях бизнес-

систем (не сфера развлечения)

Page 21: Практические аспекты разработки ПО #1

Кое-что о взаимодействии с пользователями

Page 22: Практические аспекты разработки ПО #1

Важный нюанс в природе программных систем

Page 23: Практические аспекты разработки ПО #1

Предпосылки болезни

• Возможности программной системы ограничены только фантазией разработчика

• Это дает чувство могущества• Айтишник более продвинут во всем, что

касается ПО, чем его пользователи• Это дает чувство превосходства

Page 24: Практические аспекты разработки ПО #1

Результат

Мания величия

Page 25: Практические аспекты разработки ПО #1

Так говорили великие

Если бы я слушал своих клиентов, то я вряд ли должен был бы им дать что-то большее, чем немного более быстрая и выносливая лошадь.

Генри Форд

Page 26: Практические аспекты разработки ПО #1

Так говорили великие

Я не знаю, что народ хочет. Я знаю, что народу нужно.

Давид Бен-Гурион

Page 27: Практические аспекты разработки ПО #1

Так говорили великие

Часто люди не знают, чего хотят, пока им это не покажешь.

Стив Джобс

Page 28: Практические аспекты разработки ПО #1

Однако!

Page 29: Практические аспекты разработки ПО #1

Эти люди знали глубинные потребности людей

• Генри Форд сделал автомобиль из предмета роскоши средством передвижения и изменил Америку

• Давид Бен-Гурион создал Государство Израиль

• Стив Джобс дал миру настольный ПК, графическую ОС, плоский монитор, ноутбук, планшет и iPhone

Page 30: Практические аспекты разработки ПО #1

Смотрим

Фильм Дэвида Финчера «Социальная сеть»

Page 31: Практические аспекты разработки ПО #1

А что сделал средний айтишник?

Page 32: Практические аспекты разработки ПО #1

Гибкость и мощь – не его заслуга

Page 33: Практические аспекты разработки ПО #1

Слушайте заказчика

Page 34: Практические аспекты разработки ПО #1

Что надо помнить про заказчика

• Он профессионал в своем деле• Ваша программа, какой бы она ни была,

ему мешает• Он вынужден с ней мириться• За все это он отдает вам часть денег,

которые зарабатывает

Page 35: Практические аспекты разработки ПО #1

И почему он должен вас любить?

Page 36: Практические аспекты разработки ПО #1

Читаем

Алан Купер Психбольница в руках пациентов. Почему высокие технологии сводят вас с ума и как восстановить душевное равновесие

Page 37: Практические аспекты разработки ПО #1

Кое-что о взаимодействии с коллегами

Page 38: Практические аспекты разработки ПО #1

Сложность – ключевой аспект программного обеспечения

Page 39: Практические аспекты разработки ПО #1

В одиночку с ней не справиться

Page 40: Практические аспекты разработки ПО #1

Кооперация: разделение + взаимодействие

Page 41: Практические аспекты разработки ПО #1

Каждый должен быть полезен

Page 42: Практические аспекты разработки ПО #1

В вас должны быть уверены

Page 43: Практические аспекты разработки ПО #1

Соответственно…

• … нужно знать принцип разделения обязанностей в разработке ПО

• … свое место в этом разделении• … 100%-но выполнять свои обязанности на

своем месте• … обладать достаточными навыками для

помощи смежникам (кроссфункциональ-ность)

Page 44: Практические аспекты разработки ПО #1

Кроме того

Помните, что все, что вами разработано, будет нуждаться в сопровождении и поддержке

Потому что с выпуском продукта его жизнь не заканчивается. Это цикл.