SlideShare une entreprise Scribd logo
1  sur  58
Télécharger pour lire hors ligne
Проходим тест Джоэла
Семён Факторович, @lazeez
Олег Годовых, @0leGG
Joel Spolsky
• StackOverflow
(+StackExchange
network)
• Trello
• etc.
Joel Spolsky
• Блог joelonsoftware.com (2000-2010)
• Книги:
• “Joel on Software”,“More Joel on Software”
• “The Best Software Writing”
• “Smart and Gets Things Done”
The Joel Test
12 вопросов,
которые должна
задать себе каждая
IT-компания
The Joel Test
12 вопросов,
которыми должен
задаться каждый
уважающий себя
разрабочик
1. Do you use source control?
2. Can you make a build in one step?
3. Do you make daily builds?
4. Do you have a bug database?
5. Do you fix bugs before writing new code?
6. Do you have an up-to-date schedule?
7. Do you have a spec?
8. Do programmers have quiet working conditions?
9. Do you use the best tools money can buy?
10.Do you have testers?
11.Do new candidates write code during their interview?
12.Do you do hallway usability testing?
1. Do you use source control?
FTP rule the world!
• Можно управлять совместным доступом.
• Даже прямо на production.
• Гибко и удобно!
1984 год позади
• Дисковое место стоит очень недорого.
• Куча сервисов рады предоставить свои
возможности.
• Есть очень много открытых решений.
Git
Git
• Наиболее широко используется в
индустрии.
• Есть github — стандарт де-факто в
индустрии.
• Можно использовать и исключительно
локально.
Но я же один?!
• Ой, сломалось!
• Ой, выключилось!
• Ой, Ctrl+Z не работает!
Портфолио
• Даже учебные проекты (в том числе
курсовики и дипломы) — уже задел на
будущее.
• Даже текст лучше отслеживать.
• «Для бедных» — Dropbox и Google
Drive
2. Can you make a build in one step?
<@insomnia> it only takes three commands to install Gentoo
<@insomnia> cfdisk /dev/hda && mkfs.xfs /dev/hda1 &&
mount /dev/hda1 /mnt/gentoo/ && chroot /mnt/gentoo/ && env-
update && . /etc/profile && emerge sync && cd /usr/portage
&& scripts/bootsrap.sh && emerge system && emerge vim &&
vi /etc/fstab && emerge gentoo-dev-sources && cd /usr/src/
linux && make menuconfig && make install modules_install &&
emerge gnome mozilla-firefox openoffice && emerge grub &&
cp /boot/grub/grub.conf.sample /boot/grub/grub.conf && vi /
boot/grub/grub.conf && grub && init 6
<@insomnia> that's the first one
Continuous Integration
• Тесты.
• Pre-commit проверка.
• Post-commit сборка.
Teamcity
Типичная процедура
• По коммиту в определённую ветку
вызывается hook.
• На специальном компьютере (агенте)
запускается процедура сборки.
• По итогам артефакты копируются в
нужные места.
Не только
компиляция
• Тестирование
• Выгрузка на dev/staging окружение.
• Рутинные процедуры (бэкапы, развёртка).
• Сборка документации.
• Anything you want
3. Do you make daily builds?
• Опять же — buildserver.
• Проходит больший набор тестов.
• Происходит в основном ночью — когда
люди спят.
4. Do you have a bug database?
Все баги должны быть задокументированы
(по крайней мере, сведены в один список)
4. Do you have a bug database?
Все баги должны быть задокументированы
(по крайней мере, сведены в один список)
Что полезно знать о баге
• Критерии воспроизведения
Нажать на кнопку «Оплатить» два раза подряд
• Версия продукта
Версия 2.0, ревизия a35fdd0c
• Окружение
IE 6, запущенный подWine 1.2 в Ubuntu 8.08
У бага могут быть разные статусы
• Баг обнаружен, но им пока никто не занялся
• Баг подтвержден: проблема действительно
есть
• Багом начали заниматься
• Баг пофиксан, но это нужно независимо
проверить
• Баг пофиксан и проверен
Багтрекеры
• Поддержка жизненного цикла бага
• Передача бага от одного члена команды к
другому
• Подробное описание бага
• Обсуждение происходящего
Багтрекеры
• Trac, Bugzilla, Redmine...
• Jira, Lighthouse...
• Бесплатно и удобно: Github issues
5. Do you fix bugs before
writing new code?
Чем позже вы почините проблему в коде,
тем дороже вам обойдется починка.
Серьезные проблемы лучше решить в
первую очередь, новые фичи подождут.
6. Do you have an up-to-date schedule?
Если вы сами не знаете, когда вы выпустите
первый релиз продукта...
...то скорее всего вы его и не выпустите
6. Do you have an up-to-date schedule?
Наличие дедлайна мотивирует и держит в тонусе
(вспомните курсовики и дипломные проекты)
Дедлайн — лучшее средство от feature creep
«А давайте добавим в первый релиз вот это, а
еще это и это...»
7. Do you have a spec?
У вас должен быть какой-то документ,
описывающий создаваемую
программную систему.
Требования, функциональность, UI,
архитектура...
Спецификация? Зачем?
• Чтобы не забыть, что делать
• Спецификация = критерии проверки
• Список требуемых фич легко группировать
и приоретизировать
Спецификация? Зачем?
Очень важно закрепить требования к
системе на бумаге
Спецификация? Зачем?
Очень важно закрепить требования к
системе на бумаге
Спецификация? Зачем?
Апеллирование к письменным
договоренностям
Спецификация для курсовых
проектов?
Да!
• Приоретизация фич
• Feature creep
• Тестирование
8. Do programmers have quiet
working conditions?
The good
8. Do programmers have quiet
working conditions?
The bad
8. Do programmers have quiet
working conditions?
The ugly
Фокусировка и поток
«Поток» — это пиковое состояние человека,
когда он сфокусирован на одном деле и
полностью в него погружен
Фокусировка и поток
• Вы становитесь очень продуктивны и
делаете больше за меньшее время.
• Вы сконцентрированны на выполнении
одной задачи
• Вы чувствуете себя великолепно —
счастливо, спокойно и уверенно.
9. Do you use the best tools
money can buy?
9. Do you use the best tools
money can buy?
• Удобное рабочее место повышает
продуктивность.
• Чем продуктивнее программист, тем большую
пользу он наносит фирме.
• Цена второго монитора меньше зарплаты
junior-а.
И не только софт и железо
• Не жмитесь на плюшки и печеньки!
• Нужно, чтобы разработчика беспокоили лишь
проблемы, связанные с разработкой.
10. Do new candidates write
code during their interview?
10. Do new candidates write
code during their interview?
Программист должен писать код
• Если ваш код не важен работодателю —
повод задуматься.
• Если люди, с которыми вы будете
работать, не заинтересованы в качестве
вашего кода — стоит крепко задуматься.
На код нужно смотреть всегда
• github == портфолио.
• Пишете курсач с
другом?
Предварительно
оцените его умения!
11. Do you have testers?
Тестированием кода должны заниматься   
не те же самые люди, которые его писали.
Выделенные тестировщики
Тестированием кода должны заниматься не те же
самые люди, которые его писали.
• Эффект замыленного глаза
• Неумышленное использование корректных
входных данных
• Нежелание находить себе дополнительную работу
Вы разработчик, а вас заставляют еще и
тестировать продукт?
Что-то тут нечисто.
Привлекайте к тестированию ваших
курсовых проектов сторонних людей
12. Hallway usability tests
Эффект «замыленного глаза»
Для тестирования юзабилити и
интерфейсов в целом привлекайте людей  
«с улицы»
12. Hallway usability tests
• Выйдите в коридор и позовите сотрудника
другого отдела, чтобы показать ему
интерфейс вашего продукта
• Покажите свою игрушку бабушке, пусть она
в ней разберется самостоятельно
The Joel Test
12 вопросов,
которыми должен
задаться каждый
уважающий себя
разрабочик
Joel Spolsky
• Блог joelonsoftware.com (2000-2010)
• Книги:
• “Joel on Software”,“More Joel on Software”
• “The Best Software Writing”
• “Smart and Gets Things Done”
Спасибо!
Семён Факторович, @lazeez
Олег Годовых, @0leGG

Contenu connexe

Tendances

Подводная часть айсберга: что делать, чтобы автотесты не превратились в Титаник
Подводная часть айсберга: что делать, чтобы автотесты не превратились в ТитаникПодводная часть айсберга: что делать, чтобы автотесты не превратились в Титаник
Подводная часть айсберга: что делать, чтобы автотесты не превратились в ТитаникSQALab
 
QA Fest 2019. Андрей Солнцев. Десять причин моей ненависти
QA Fest 2019. Андрей Солнцев. Десять причин моей ненавистиQA Fest 2019. Андрей Солнцев. Десять причин моей ненависти
QA Fest 2019. Андрей Солнцев. Десять причин моей ненавистиQAFest
 
Test Driven Development in .NET Applications
Test Driven Development in .NET ApplicationsTest Driven Development in .NET Applications
Test Driven Development in .NET ApplicationsAnton Vidishchev
 
Алексей Трошин. Менеджер не нужен: быстрые шаблоны правильных коммуникаций
Алексей Трошин. Менеджер не нужен: быстрые шаблоны правильных коммуникацийАлексей Трошин. Менеджер не нужен: быстрые шаблоны правильных коммуникаций
Алексей Трошин. Менеджер не нужен: быстрые шаблоны правильных коммуникацийScrumTrek
 
История проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей ШетухинИстория проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей ШетухинOntico
 
Дефицит ресурсов тестирования... или нет?
Дефицит ресурсов тестирования... или нет?Дефицит ресурсов тестирования... или нет?
Дефицит ресурсов тестирования... или нет?SQALab
 
Тестируем мобильное приложение в суровых реалиях Интернета
Тестируем мобильное приложение в суровых реалиях ИнтернетаТестируем мобильное приложение в суровых реалиях Интернета
Тестируем мобильное приложение в суровых реалиях ИнтернетаSQALab
 
Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...
Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...
Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...ScrumTrek
 
Highway to Сontinuous Integration, Денис Трифонов (2GIS)
Highway to Сontinuous Integration, Денис Трифонов (2GIS)Highway to Сontinuous Integration, Денис Трифонов (2GIS)
Highway to Сontinuous Integration, Денис Трифонов (2GIS)Ontico
 
Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...
Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...
Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...Ontico
 
Winium — это как Selenium, только под Windows
Winium — это как Selenium, только под WindowsWinium — это как Selenium, только под Windows
Winium — это как Selenium, только под WindowsSQALab
 
"Outside In". Web application testing.
"Outside In". Web application testing."Outside In". Web application testing.
"Outside In". Web application testing.Mad Devs
 
Быстрое расширение Robot Framework под свои нужды с использованием Python
Быстрое расширение Robot Framework под свои нужды с использованием PythonБыстрое расширение Robot Framework под свои нужды с использованием Python
Быстрое расширение Robot Framework под свои нужды с использованием Pythonautomated-testing.info
 
Как писать на PHP и не стать быдло-кодером
Как писать на PHP и не стать быдло-кодеромКак писать на PHP и не стать быдло-кодером
Как писать на PHP и не стать быдло-кодеромKirill Kovalchuk
 
Автоматизация тестирования как сервис
Автоматизация тестирования как сервисАвтоматизация тестирования как сервис
Автоматизация тестирования как сервисautomated-testing.info
 
Эвристическая оценка, или как решить проблемы в интерфейсе за час
Эвристическая оценка, или как решить проблемы в интерфейсе за часЭвристическая оценка, или как решить проблемы в интерфейсе за час
Эвристическая оценка, или как решить проблемы в интерфейсе за часAlexey Ryakin
 
От экспериментального программирования к промышленному: путь длиной в 10 лет
От экспериментального программирования к промышленному: путь длиной в 10 летОт экспериментального программирования к промышленному: путь длиной в 10 лет
От экспериментального программирования к промышленному: путь длиной в 10 летPositive Hack Days
 
О фреймворках Backend conf 2016
О фреймворках Backend conf 2016О фреймворках Backend conf 2016
О фреймворках Backend conf 2016Roman Ivliev
 
Программистский подход в дизайне
Программистский подход в дизайнеПрограммистский подход в дизайне
Программистский подход в дизайнеПрофсоUX
 
Константин Назаров – Распараллеливание сборки Parallels Desktop для Mac
Константин Назаров – Распараллеливание сборки Parallels Desktop для MacКонстантин Назаров – Распараллеливание сборки Parallels Desktop для Mac
Константин Назаров – Распараллеливание сборки Parallels Desktop для Mac404fest
 

Tendances (20)

Подводная часть айсберга: что делать, чтобы автотесты не превратились в Титаник
Подводная часть айсберга: что делать, чтобы автотесты не превратились в ТитаникПодводная часть айсберга: что делать, чтобы автотесты не превратились в Титаник
Подводная часть айсберга: что делать, чтобы автотесты не превратились в Титаник
 
QA Fest 2019. Андрей Солнцев. Десять причин моей ненависти
QA Fest 2019. Андрей Солнцев. Десять причин моей ненавистиQA Fest 2019. Андрей Солнцев. Десять причин моей ненависти
QA Fest 2019. Андрей Солнцев. Десять причин моей ненависти
 
Test Driven Development in .NET Applications
Test Driven Development in .NET ApplicationsTest Driven Development in .NET Applications
Test Driven Development in .NET Applications
 
Алексей Трошин. Менеджер не нужен: быстрые шаблоны правильных коммуникаций
Алексей Трошин. Менеджер не нужен: быстрые шаблоны правильных коммуникацийАлексей Трошин. Менеджер не нужен: быстрые шаблоны правильных коммуникаций
Алексей Трошин. Менеджер не нужен: быстрые шаблоны правильных коммуникаций
 
История проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей ШетухинИстория проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей Шетухин
 
Дефицит ресурсов тестирования... или нет?
Дефицит ресурсов тестирования... или нет?Дефицит ресурсов тестирования... или нет?
Дефицит ресурсов тестирования... или нет?
 
Тестируем мобильное приложение в суровых реалиях Интернета
Тестируем мобильное приложение в суровых реалиях ИнтернетаТестируем мобильное приложение в суровых реалиях Интернета
Тестируем мобильное приложение в суровых реалиях Интернета
 
Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...
Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...
Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...
 
Highway to Сontinuous Integration, Денис Трифонов (2GIS)
Highway to Сontinuous Integration, Денис Трифонов (2GIS)Highway to Сontinuous Integration, Денис Трифонов (2GIS)
Highway to Сontinuous Integration, Денис Трифонов (2GIS)
 
Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...
Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...
Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...
 
Winium — это как Selenium, только под Windows
Winium — это как Selenium, только под WindowsWinium — это как Selenium, только под Windows
Winium — это как Selenium, только под Windows
 
"Outside In". Web application testing.
"Outside In". Web application testing."Outside In". Web application testing.
"Outside In". Web application testing.
 
Быстрое расширение Robot Framework под свои нужды с использованием Python
Быстрое расширение Robot Framework под свои нужды с использованием PythonБыстрое расширение Robot Framework под свои нужды с использованием Python
Быстрое расширение Robot Framework под свои нужды с использованием Python
 
Как писать на PHP и не стать быдло-кодером
Как писать на PHP и не стать быдло-кодеромКак писать на PHP и не стать быдло-кодером
Как писать на PHP и не стать быдло-кодером
 
Автоматизация тестирования как сервис
Автоматизация тестирования как сервисАвтоматизация тестирования как сервис
Автоматизация тестирования как сервис
 
Эвристическая оценка, или как решить проблемы в интерфейсе за час
Эвристическая оценка, или как решить проблемы в интерфейсе за часЭвристическая оценка, или как решить проблемы в интерфейсе за час
Эвристическая оценка, или как решить проблемы в интерфейсе за час
 
От экспериментального программирования к промышленному: путь длиной в 10 лет
От экспериментального программирования к промышленному: путь длиной в 10 летОт экспериментального программирования к промышленному: путь длиной в 10 лет
От экспериментального программирования к промышленному: путь длиной в 10 лет
 
О фреймворках Backend conf 2016
О фреймворках Backend conf 2016О фреймворках Backend conf 2016
О фреймворках Backend conf 2016
 
Программистский подход в дизайне
Программистский подход в дизайнеПрограммистский подход в дизайне
Программистский подход в дизайне
 
Константин Назаров – Распараллеливание сборки Parallels Desktop для Mac
Константин Назаров – Распараллеливание сборки Parallels Desktop для MacКонстантин Назаров – Распараллеливание сборки Parallels Desktop для Mac
Константин Назаров – Распараллеливание сборки Parallels Desktop для Mac
 

En vedette

IT Support Analyst CV template 1 final
IT Support Analyst CV template 1 finalIT Support Analyst CV template 1 final
IT Support Analyst CV template 1 finalKarl Mackereth
 
Αντωνία : Γνωρίζουμε τη Λευκή Τίγρη
Αντωνία : Γνωρίζουμε τη Λευκή ΤίγρηΑντωνία : Γνωρίζουμε τη Λευκή Τίγρη
Αντωνία : Γνωρίζουμε τη Λευκή Τίγρηpolyzois
 
Tech Talks @NSU: Работа в инвестбанкинге
Tech Talks @NSU: Работа в инвестбанкингеTech Talks @NSU: Работа в инвестбанкинге
Tech Talks @NSU: Работа в инвестбанкингеTech Talks @NSU
 
C K SharCase Studies in Chartering & Operations - Converting Knowledge into M...
C K SharCase Studies in Chartering & Operations - Converting Knowledge into M...C K SharCase Studies in Chartering & Operations - Converting Knowledge into M...
C K SharCase Studies in Chartering & Operations - Converting Knowledge into M...Marexmedia
 
Tech Talks @NSU: Что стоит знать о информационной безопасности при проектиров...
Tech Talks @NSU: Что стоит знать о информационной безопасности при проектиров...Tech Talks @NSU: Что стоит знать о информационной безопасности при проектиров...
Tech Talks @NSU: Что стоит знать о информационной безопасности при проектиров...Tech Talks @NSU
 
막탄카지노 『OX600』。『COM』실시간빙고 사이트
막탄카지노  『OX600』。『COM』실시간빙고 사이트막탄카지노  『OX600』。『COM』실시간빙고 사이트
막탄카지노 『OX600』。『COM』실시간빙고 사이트hdlkfjgldf
 
Tech Talks @NSU: Как работать в калифорнийском стартапе, не уезжая из России
Tech Talks @NSU: Как работать в калифорнийском стартапе, не уезжая из РоссииTech Talks @NSU: Как работать в калифорнийском стартапе, не уезжая из России
Tech Talks @NSU: Как работать в калифорнийском стартапе, не уезжая из РоссииTech Talks @NSU
 
Windvn projects lines
Windvn projects linesWindvn projects lines
Windvn projects linesDuong Truong
 
대박『SX797』『СOM』카지노싸이트
대박『SX797』『СOM』카지노싸이트대박『SX797』『СOM』카지노싸이트
대박『SX797』『СOM』카지노싸이트hedrfgherj
 
2016.04.04 CP Ouverture LaPrimaire.org
2016.04.04 CP Ouverture LaPrimaire.org2016.04.04 CP Ouverture LaPrimaire.org
2016.04.04 CP Ouverture LaPrimaire.orgLaPrimaire.org
 
CP Lancement de LaPrimaire.org - 15 octobre 2015
CP  Lancement de LaPrimaire.org - 15 octobre 2015CP  Lancement de LaPrimaire.org - 15 octobre 2015
CP Lancement de LaPrimaire.org - 15 octobre 2015LaPrimaire.org
 
Знакомьтесь, Kotlin
Знакомьтесь, KotlinЗнакомьтесь, Kotlin
Знакомьтесь, KotlinTech Talks @NSU
 
Профилирование распределенных систем, Александр Казаков, СКБ Контур
 Профилирование распределенных систем, Александр Казаков, СКБ Контур  Профилирование распределенных систем, Александр Казаков, СКБ Контур
Профилирование распределенных систем, Александр Казаков, СКБ Контур it-people
 
Internship Report GENCO III TPS Muzaffergarh By Arshad Abbas
Internship Report GENCO III TPS Muzaffergarh By Arshad AbbasInternship Report GENCO III TPS Muzaffergarh By Arshad Abbas
Internship Report GENCO III TPS Muzaffergarh By Arshad Abbasarshad abbas SIAL
 
Scrum Takımlarının Büyüklüğünün Takım Başarısına Etkisi
Scrum Takımlarının Büyüklüğünün Takım Başarısına EtkisiScrum Takımlarının Büyüklüğünün Takım Başarısına Etkisi
Scrum Takımlarının Büyüklüğünün Takım Başarısına EtkisiYasemin CIRT
 

En vedette (15)

IT Support Analyst CV template 1 final
IT Support Analyst CV template 1 finalIT Support Analyst CV template 1 final
IT Support Analyst CV template 1 final
 
Αντωνία : Γνωρίζουμε τη Λευκή Τίγρη
Αντωνία : Γνωρίζουμε τη Λευκή ΤίγρηΑντωνία : Γνωρίζουμε τη Λευκή Τίγρη
Αντωνία : Γνωρίζουμε τη Λευκή Τίγρη
 
Tech Talks @NSU: Работа в инвестбанкинге
Tech Talks @NSU: Работа в инвестбанкингеTech Talks @NSU: Работа в инвестбанкинге
Tech Talks @NSU: Работа в инвестбанкинге
 
C K SharCase Studies in Chartering & Operations - Converting Knowledge into M...
C K SharCase Studies in Chartering & Operations - Converting Knowledge into M...C K SharCase Studies in Chartering & Operations - Converting Knowledge into M...
C K SharCase Studies in Chartering & Operations - Converting Knowledge into M...
 
Tech Talks @NSU: Что стоит знать о информационной безопасности при проектиров...
Tech Talks @NSU: Что стоит знать о информационной безопасности при проектиров...Tech Talks @NSU: Что стоит знать о информационной безопасности при проектиров...
Tech Talks @NSU: Что стоит знать о информационной безопасности при проектиров...
 
막탄카지노 『OX600』。『COM』실시간빙고 사이트
막탄카지노  『OX600』。『COM』실시간빙고 사이트막탄카지노  『OX600』。『COM』실시간빙고 사이트
막탄카지노 『OX600』。『COM』실시간빙고 사이트
 
Tech Talks @NSU: Как работать в калифорнийском стартапе, не уезжая из России
Tech Talks @NSU: Как работать в калифорнийском стартапе, не уезжая из РоссииTech Talks @NSU: Как работать в калифорнийском стартапе, не уезжая из России
Tech Talks @NSU: Как работать в калифорнийском стартапе, не уезжая из России
 
Windvn projects lines
Windvn projects linesWindvn projects lines
Windvn projects lines
 
대박『SX797』『СOM』카지노싸이트
대박『SX797』『СOM』카지노싸이트대박『SX797』『СOM』카지노싸이트
대박『SX797』『СOM』카지노싸이트
 
2016.04.04 CP Ouverture LaPrimaire.org
2016.04.04 CP Ouverture LaPrimaire.org2016.04.04 CP Ouverture LaPrimaire.org
2016.04.04 CP Ouverture LaPrimaire.org
 
CP Lancement de LaPrimaire.org - 15 octobre 2015
CP  Lancement de LaPrimaire.org - 15 octobre 2015CP  Lancement de LaPrimaire.org - 15 octobre 2015
CP Lancement de LaPrimaire.org - 15 octobre 2015
 
Знакомьтесь, Kotlin
Знакомьтесь, KotlinЗнакомьтесь, Kotlin
Знакомьтесь, Kotlin
 
Профилирование распределенных систем, Александр Казаков, СКБ Контур
 Профилирование распределенных систем, Александр Казаков, СКБ Контур  Профилирование распределенных систем, Александр Казаков, СКБ Контур
Профилирование распределенных систем, Александр Казаков, СКБ Контур
 
Internship Report GENCO III TPS Muzaffergarh By Arshad Abbas
Internship Report GENCO III TPS Muzaffergarh By Arshad AbbasInternship Report GENCO III TPS Muzaffergarh By Arshad Abbas
Internship Report GENCO III TPS Muzaffergarh By Arshad Abbas
 
Scrum Takımlarının Büyüklüğünün Takım Başarısına Etkisi
Scrum Takımlarının Büyüklüğünün Takım Başarısına EtkisiScrum Takımlarının Büyüklüğünün Takım Başarısına Etkisi
Scrum Takımlarının Büyüklüğünün Takım Başarısına Etkisi
 

Similaire à Tech Talks @NSU: Проходим тест Джоэла

Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...Tech Talks @NSU
 
"Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно..."Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно...it-people
 
Профессии в IT
Профессии в ITПрофессии в IT
Профессии в ITSam Faktorovich
 
Инструменты разные нужны, инструменты разные важны
Инструменты разные нужны, инструменты разные важныИнструменты разные нужны, инструменты разные важны
Инструменты разные нужны, инструменты разные важныRoman Dvornov
 
Евгений Жарков "Как быть хорошим фронтенд-разработчиком"
Евгений Жарков "Как быть хорошим фронтенд-разработчиком"Евгений Жарков "Как быть хорошим фронтенд-разработчиком"
Евгений Жарков "Как быть хорошим фронтенд-разработчиком"Fwdays
 
2013-03-02 02 Дмитрий Пашкевич. Код на стероидах
2013-03-02 02 Дмитрий Пашкевич. Код на стероидах2013-03-02 02 Дмитрий Пашкевич. Код на стероидах
2013-03-02 02 Дмитрий Пашкевич. Код на стероидахОмские ИТ-субботники
 
Автоматическое тестирование. Моя система
Автоматическое тестирование. Моя системаАвтоматическое тестирование. Моя система
Автоматическое тестирование. Моя системаIgor Lyubin
 
Тест-план и исследовательское тестирование
Тест-план и исследовательское тестированиеТест-план и исследовательское тестирование
Тест-план и исследовательское тестированиеVasiliy Burov
 
Real-Time Error Alerting & Debugging Tools: Rollbar - Alex Petrov
Real-Time Error Alerting & Debugging Tools: Rollbar - Alex PetrovReal-Time Error Alerting & Debugging Tools: Rollbar - Alex Petrov
Real-Time Error Alerting & Debugging Tools: Rollbar - Alex PetrovRuby Meditation
 
Читабельные отчеты для автоматизации на C# / Gallio / BDDfy
Читабельные отчеты для автоматизации на C# / Gallio / BDDfyЧитабельные отчеты для автоматизации на C# / Gallio / BDDfy
Читабельные отчеты для автоматизации на C# / Gallio / BDDfyDmytro Zharii
 
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Yandex
 
Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Yandex
 
Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.ScrumTrek
 
Тестирование инсталляторов
Тестирование инсталляторовТестирование инсталляторов
Тестирование инсталляторовSQALab
 
Developmentmanage1.0
Developmentmanage1.0Developmentmanage1.0
Developmentmanage1.0HighLoad2009
 
Developmentmanage3.0
Developmentmanage3.0Developmentmanage3.0
Developmentmanage3.0WRider
 
Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь
Непрерывная интеграция шаг к непрерывному деплою. Родионов ИгорьНепрерывная интеграция шаг к непрерывному деплою. Родионов Игорь
Непрерывная интеграция шаг к непрерывному деплою. Родионов ИгорьPVasili
 

Similaire à Tech Talks @NSU: Проходим тест Джоэла (20)

Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
 
"Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно..."Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно...
 
Профессии в IT
Профессии в ITПрофессии в IT
Профессии в IT
 
Инструменты разные нужны, инструменты разные важны
Инструменты разные нужны, инструменты разные важныИнструменты разные нужны, инструменты разные важны
Инструменты разные нужны, инструменты разные важны
 
Евгений Жарков "Как быть хорошим фронтенд-разработчиком"
Евгений Жарков "Как быть хорошим фронтенд-разработчиком"Евгений Жарков "Как быть хорошим фронтенд-разработчиком"
Евгений Жарков "Как быть хорошим фронтенд-разработчиком"
 
2013-03-02 02 Дмитрий Пашкевич. Код на стероидах
2013-03-02 02 Дмитрий Пашкевич. Код на стероидах2013-03-02 02 Дмитрий Пашкевич. Код на стероидах
2013-03-02 02 Дмитрий Пашкевич. Код на стероидах
 
Автоматическое тестирование. Моя система
Автоматическое тестирование. Моя системаАвтоматическое тестирование. Моя система
Автоматическое тестирование. Моя система
 
Тест-план и исследовательское тестирование
Тест-план и исследовательское тестированиеТест-план и исследовательское тестирование
Тест-план и исследовательское тестирование
 
Real-Time Error Alerting & Debugging Tools: Rollbar - Alex Petrov
Real-Time Error Alerting & Debugging Tools: Rollbar - Alex PetrovReal-Time Error Alerting & Debugging Tools: Rollbar - Alex Petrov
Real-Time Error Alerting & Debugging Tools: Rollbar - Alex Petrov
 
Читабельные отчеты для автоматизации на C# / Gallio / BDDfy
Читабельные отчеты для автоматизации на C# / Gallio / BDDfyЧитабельные отчеты для автоматизации на C# / Gallio / BDDfy
Читабельные отчеты для автоматизации на C# / Gallio / BDDfy
 
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"
 
Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»
 
Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.
 
Тестирование инсталляторов
Тестирование инсталляторовТестирование инсталляторов
Тестирование инсталляторов
 
Team workflow
Team workflowTeam workflow
Team workflow
 
Developmentmanage1.0
Developmentmanage1.0Developmentmanage1.0
Developmentmanage1.0
 
Developmentmanage3.0
Developmentmanage3.0Developmentmanage3.0
Developmentmanage3.0
 
Автоматизация тестирования
Автоматизация тестированияАвтоматизация тестирования
Автоматизация тестирования
 
Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь
Непрерывная интеграция шаг к непрерывному деплою. Родионов ИгорьНепрерывная интеграция шаг к непрерывному деплою. Родионов Игорь
Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь
 
Как разраба
Как разрабаКак разраба
Как разраба
 

Plus de Tech Talks @NSU

Tech Talks @NSU: Путь студента в IT-бизнес
Tech Talks @NSU: Путь студента в IT-бизнесTech Talks @NSU: Путь студента в IT-бизнес
Tech Talks @NSU: Путь студента в IT-бизнесTech Talks @NSU
 
Tech Talks @NSU: Стажировки в американских IT-компаниях. Как стать стажером, ...
Tech Talks @NSU: Стажировки в американских IT-компаниях. Как стать стажером, ...Tech Talks @NSU: Стажировки в американских IT-компаниях. Как стать стажером, ...
Tech Talks @NSU: Стажировки в американских IT-компаниях. Как стать стажером, ...Tech Talks @NSU
 
Tech Talks @NSU: Как живется преподавателю Computer Science у «нас» и у «них»
Tech Talks @NSU: Как живется преподавателю Computer Science у «нас» и у «них»Tech Talks @NSU: Как живется преподавателю Computer Science у «нас» и у «них»
Tech Talks @NSU: Как живется преподавателю Computer Science у «нас» и у «них»Tech Talks @NSU
 
Back to the Future: Функциональное программирование вчера и сегодня
Back to the Future: Функциональное программирование вчера и сегодняBack to the Future: Функциональное программирование вчера и сегодня
Back to the Future: Функциональное программирование вчера и сегодняTech Talks @NSU
 
Что такое Highload? Секреты высокой нагрузки
Что такое Highload? Секреты высокой нагрузкиЧто такое Highload? Секреты высокой нагрузки
Что такое Highload? Секреты высокой нагрузкиTech Talks @NSU
 
Автоматическое доказательство теорем
Автоматическое доказательство теоремАвтоматическое доказательство теорем
Автоматическое доказательство теоремTech Talks @NSU
 
AOT-компиляция Java
AOT-компиляция JavaAOT-компиляция Java
AOT-компиляция JavaTech Talks @NSU
 
Защита от атак по сторонним каналам
Защита от атак по сторонним каналамЗащита от атак по сторонним каналам
Защита от атак по сторонним каналамTech Talks @NSU
 
Как приручить дракона: введение в LLVM
Как приручить дракона: введение в LLVMКак приручить дракона: введение в LLVM
Как приручить дракона: введение в LLVMTech Talks @NSU
 
Тестировщик: ожидание vs. реальность
Тестировщик: ожидание vs. реальностьТестировщик: ожидание vs. реальность
Тестировщик: ожидание vs. реальностьTech Talks @NSU
 
Гибкие методологии разработки ПО в реальном мире
 Гибкие методологии разработки ПО в реальном мире Гибкие методологии разработки ПО в реальном мире
Гибкие методологии разработки ПО в реальном миреTech Talks @NSU
 
Tech Talks @NSU: Что есть QA и как в него попасть
Tech Talks @NSU: Что есть QA и как в него попастьTech Talks @NSU: Что есть QA и как в него попасть
Tech Talks @NSU: Что есть QA и как в него попастьTech Talks @NSU
 
Tech Talks @NSU: Технологии кросс-платформенной разработки мобильных бизнес-п...
Tech Talks @NSU: Технологии кросс-платформенной разработки мобильных бизнес-п...Tech Talks @NSU: Технологии кросс-платформенной разработки мобильных бизнес-п...
Tech Talks @NSU: Технологии кросс-платформенной разработки мобильных бизнес-п...Tech Talks @NSU
 
Tech Talks @NSU: DLang: возможности языка и его применение
Tech Talks @NSU: DLang: возможности языка и его применениеTech Talks @NSU: DLang: возможности языка и его применение
Tech Talks @NSU: DLang: возможности языка и его применениеTech Talks @NSU
 
Tech Talks @NSU: Что такое работа в техподдержке: тяжело ли живётся саппортеру
Tech Talks @NSU: Что такое работа в техподдержке: тяжело ли живётся саппортеруTech Talks @NSU: Что такое работа в техподдержке: тяжело ли живётся саппортеру
Tech Talks @NSU: Что такое работа в техподдержке: тяжело ли живётся саппортеруTech Talks @NSU
 
Tech Talks @NSU: Как олимпиадное программирование не испортило мою жизнь, а т...
Tech Talks @NSU: Как олимпиадное программирование не испортило мою жизнь, а т...Tech Talks @NSU: Как олимпиадное программирование не испортило мою жизнь, а т...
Tech Talks @NSU: Как олимпиадное программирование не испортило мою жизнь, а т...Tech Talks @NSU
 
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...Tech Talks @NSU
 
Tech Talks @NSU: Мир open source — мир возможностей
Tech Talks @NSU: Мир open source — мир возможностейTech Talks @NSU: Мир open source — мир возможностей
Tech Talks @NSU: Мир open source — мир возможностейTech Talks @NSU
 
Tech Talks @NSU: Методологии разработки ПО. Что на самом деле скрывается за с...
Tech Talks @NSU: Методологии разработки ПО. Что на самом деле скрывается за с...Tech Talks @NSU: Методологии разработки ПО. Что на самом деле скрывается за с...
Tech Talks @NSU: Методологии разработки ПО. Что на самом деле скрывается за с...Tech Talks @NSU
 
Тестировщик: ожидание vs. реальность
Тестировщик: ожидание vs. реальность Тестировщик: ожидание vs. реальность
Тестировщик: ожидание vs. реальность Tech Talks @NSU
 

Plus de Tech Talks @NSU (20)

Tech Talks @NSU: Путь студента в IT-бизнес
Tech Talks @NSU: Путь студента в IT-бизнесTech Talks @NSU: Путь студента в IT-бизнес
Tech Talks @NSU: Путь студента в IT-бизнес
 
Tech Talks @NSU: Стажировки в американских IT-компаниях. Как стать стажером, ...
Tech Talks @NSU: Стажировки в американских IT-компаниях. Как стать стажером, ...Tech Talks @NSU: Стажировки в американских IT-компаниях. Как стать стажером, ...
Tech Talks @NSU: Стажировки в американских IT-компаниях. Как стать стажером, ...
 
Tech Talks @NSU: Как живется преподавателю Computer Science у «нас» и у «них»
Tech Talks @NSU: Как живется преподавателю Computer Science у «нас» и у «них»Tech Talks @NSU: Как живется преподавателю Computer Science у «нас» и у «них»
Tech Talks @NSU: Как живется преподавателю Computer Science у «нас» и у «них»
 
Back to the Future: Функциональное программирование вчера и сегодня
Back to the Future: Функциональное программирование вчера и сегодняBack to the Future: Функциональное программирование вчера и сегодня
Back to the Future: Функциональное программирование вчера и сегодня
 
Что такое Highload? Секреты высокой нагрузки
Что такое Highload? Секреты высокой нагрузкиЧто такое Highload? Секреты высокой нагрузки
Что такое Highload? Секреты высокой нагрузки
 
Автоматическое доказательство теорем
Автоматическое доказательство теоремАвтоматическое доказательство теорем
Автоматическое доказательство теорем
 
AOT-компиляция Java
AOT-компиляция JavaAOT-компиляция Java
AOT-компиляция Java
 
Защита от атак по сторонним каналам
Защита от атак по сторонним каналамЗащита от атак по сторонним каналам
Защита от атак по сторонним каналам
 
Как приручить дракона: введение в LLVM
Как приручить дракона: введение в LLVMКак приручить дракона: введение в LLVM
Как приручить дракона: введение в LLVM
 
Тестировщик: ожидание vs. реальность
Тестировщик: ожидание vs. реальностьТестировщик: ожидание vs. реальность
Тестировщик: ожидание vs. реальность
 
Гибкие методологии разработки ПО в реальном мире
 Гибкие методологии разработки ПО в реальном мире Гибкие методологии разработки ПО в реальном мире
Гибкие методологии разработки ПО в реальном мире
 
Tech Talks @NSU: Что есть QA и как в него попасть
Tech Talks @NSU: Что есть QA и как в него попастьTech Talks @NSU: Что есть QA и как в него попасть
Tech Talks @NSU: Что есть QA и как в него попасть
 
Tech Talks @NSU: Технологии кросс-платформенной разработки мобильных бизнес-п...
Tech Talks @NSU: Технологии кросс-платформенной разработки мобильных бизнес-п...Tech Talks @NSU: Технологии кросс-платформенной разработки мобильных бизнес-п...
Tech Talks @NSU: Технологии кросс-платформенной разработки мобильных бизнес-п...
 
Tech Talks @NSU: DLang: возможности языка и его применение
Tech Talks @NSU: DLang: возможности языка и его применениеTech Talks @NSU: DLang: возможности языка и его применение
Tech Talks @NSU: DLang: возможности языка и его применение
 
Tech Talks @NSU: Что такое работа в техподдержке: тяжело ли живётся саппортеру
Tech Talks @NSU: Что такое работа в техподдержке: тяжело ли живётся саппортеруTech Talks @NSU: Что такое работа в техподдержке: тяжело ли живётся саппортеру
Tech Talks @NSU: Что такое работа в техподдержке: тяжело ли живётся саппортеру
 
Tech Talks @NSU: Как олимпиадное программирование не испортило мою жизнь, а т...
Tech Talks @NSU: Как олимпиадное программирование не испортило мою жизнь, а т...Tech Talks @NSU: Как олимпиадное программирование не испортило мою жизнь, а т...
Tech Talks @NSU: Как олимпиадное программирование не испортило мою жизнь, а т...
 
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...
 
Tech Talks @NSU: Мир open source — мир возможностей
Tech Talks @NSU: Мир open source — мир возможностейTech Talks @NSU: Мир open source — мир возможностей
Tech Talks @NSU: Мир open source — мир возможностей
 
Tech Talks @NSU: Методологии разработки ПО. Что на самом деле скрывается за с...
Tech Talks @NSU: Методологии разработки ПО. Что на самом деле скрывается за с...Tech Talks @NSU: Методологии разработки ПО. Что на самом деле скрывается за с...
Tech Talks @NSU: Методологии разработки ПО. Что на самом деле скрывается за с...
 
Тестировщик: ожидание vs. реальность
Тестировщик: ожидание vs. реальность Тестировщик: ожидание vs. реальность
Тестировщик: ожидание vs. реальность
 

Tech Talks @NSU: Проходим тест Джоэла

  • 1. Проходим тест Джоэла Семён Факторович, @lazeez Олег Годовых, @0leGG
  • 3. Joel Spolsky • Блог joelonsoftware.com (2000-2010) • Книги: • “Joel on Software”,“More Joel on Software” • “The Best Software Writing” • “Smart and Gets Things Done”
  • 4. The Joel Test 12 вопросов, которые должна задать себе каждая IT-компания
  • 5. The Joel Test 12 вопросов, которыми должен задаться каждый уважающий себя разрабочик
  • 6. 1. Do you use source control? 2. Can you make a build in one step? 3. Do you make daily builds? 4. Do you have a bug database? 5. Do you fix bugs before writing new code? 6. Do you have an up-to-date schedule? 7. Do you have a spec? 8. Do programmers have quiet working conditions? 9. Do you use the best tools money can buy? 10.Do you have testers? 11.Do new candidates write code during their interview? 12.Do you do hallway usability testing?
  • 7. 1. Do you use source control?
  • 8. FTP rule the world! • Можно управлять совместным доступом. • Даже прямо на production. • Гибко и удобно!
  • 9. 1984 год позади • Дисковое место стоит очень недорого. • Куча сервисов рады предоставить свои возможности. • Есть очень много открытых решений.
  • 10. Git
  • 11. Git • Наиболее широко используется в индустрии. • Есть github — стандарт де-факто в индустрии. • Можно использовать и исключительно локально.
  • 12. Но я же один?! • Ой, сломалось! • Ой, выключилось! • Ой, Ctrl+Z не работает!
  • 13. Портфолио • Даже учебные проекты (в том числе курсовики и дипломы) — уже задел на будущее. • Даже текст лучше отслеживать. • «Для бедных» — Dropbox и Google Drive
  • 14. 2. Can you make a build in one step?
  • 15. <@insomnia> it only takes three commands to install Gentoo <@insomnia> cfdisk /dev/hda && mkfs.xfs /dev/hda1 && mount /dev/hda1 /mnt/gentoo/ && chroot /mnt/gentoo/ && env- update && . /etc/profile && emerge sync && cd /usr/portage && scripts/bootsrap.sh && emerge system && emerge vim && vi /etc/fstab && emerge gentoo-dev-sources && cd /usr/src/ linux && make menuconfig && make install modules_install && emerge gnome mozilla-firefox openoffice && emerge grub && cp /boot/grub/grub.conf.sample /boot/grub/grub.conf && vi / boot/grub/grub.conf && grub && init 6 <@insomnia> that's the first one
  • 16. Continuous Integration • Тесты. • Pre-commit проверка. • Post-commit сборка.
  • 18. Типичная процедура • По коммиту в определённую ветку вызывается hook. • На специальном компьютере (агенте) запускается процедура сборки. • По итогам артефакты копируются в нужные места.
  • 19. Не только компиляция • Тестирование • Выгрузка на dev/staging окружение. • Рутинные процедуры (бэкапы, развёртка). • Сборка документации. • Anything you want
  • 20. 3. Do you make daily builds? • Опять же — buildserver. • Проходит больший набор тестов. • Происходит в основном ночью — когда люди спят.
  • 21. 4. Do you have a bug database? Все баги должны быть задокументированы (по крайней мере, сведены в один список)
  • 22. 4. Do you have a bug database? Все баги должны быть задокументированы (по крайней мере, сведены в один список)
  • 23. Что полезно знать о баге • Критерии воспроизведения Нажать на кнопку «Оплатить» два раза подряд • Версия продукта Версия 2.0, ревизия a35fdd0c • Окружение IE 6, запущенный подWine 1.2 в Ubuntu 8.08
  • 24. У бага могут быть разные статусы • Баг обнаружен, но им пока никто не занялся • Баг подтвержден: проблема действительно есть • Багом начали заниматься • Баг пофиксан, но это нужно независимо проверить • Баг пофиксан и проверен
  • 25. Багтрекеры • Поддержка жизненного цикла бага • Передача бага от одного члена команды к другому • Подробное описание бага • Обсуждение происходящего
  • 26. Багтрекеры • Trac, Bugzilla, Redmine... • Jira, Lighthouse... • Бесплатно и удобно: Github issues
  • 27. 5. Do you fix bugs before writing new code? Чем позже вы почините проблему в коде, тем дороже вам обойдется починка. Серьезные проблемы лучше решить в первую очередь, новые фичи подождут.
  • 28. 6. Do you have an up-to-date schedule? Если вы сами не знаете, когда вы выпустите первый релиз продукта... ...то скорее всего вы его и не выпустите
  • 29. 6. Do you have an up-to-date schedule?
  • 30. Наличие дедлайна мотивирует и держит в тонусе (вспомните курсовики и дипломные проекты)
  • 31. Дедлайн — лучшее средство от feature creep «А давайте добавим в первый релиз вот это, а еще это и это...»
  • 32. 7. Do you have a spec? У вас должен быть какой-то документ, описывающий создаваемую программную систему. Требования, функциональность, UI, архитектура...
  • 33. Спецификация? Зачем? • Чтобы не забыть, что делать • Спецификация = критерии проверки • Список требуемых фич легко группировать и приоретизировать
  • 34. Спецификация? Зачем? Очень важно закрепить требования к системе на бумаге
  • 35. Спецификация? Зачем? Очень важно закрепить требования к системе на бумаге
  • 36. Спецификация? Зачем? Апеллирование к письменным договоренностям
  • 37. Спецификация для курсовых проектов? Да! • Приоретизация фич • Feature creep • Тестирование
  • 38. 8. Do programmers have quiet working conditions? The good
  • 39. 8. Do programmers have quiet working conditions? The bad
  • 40. 8. Do programmers have quiet working conditions? The ugly
  • 41. Фокусировка и поток «Поток» — это пиковое состояние человека, когда он сфокусирован на одном деле и полностью в него погружен
  • 42. Фокусировка и поток • Вы становитесь очень продуктивны и делаете больше за меньшее время. • Вы сконцентрированны на выполнении одной задачи • Вы чувствуете себя великолепно — счастливо, спокойно и уверенно.
  • 43. 9. Do you use the best tools money can buy?
  • 44. 9. Do you use the best tools money can buy? • Удобное рабочее место повышает продуктивность. • Чем продуктивнее программист, тем большую пользу он наносит фирме. • Цена второго монитора меньше зарплаты junior-а.
  • 45. И не только софт и железо • Не жмитесь на плюшки и печеньки! • Нужно, чтобы разработчика беспокоили лишь проблемы, связанные с разработкой.
  • 46. 10. Do new candidates write code during their interview?
  • 47. 10. Do new candidates write code during their interview?
  • 48. Программист должен писать код • Если ваш код не важен работодателю — повод задуматься. • Если люди, с которыми вы будете работать, не заинтересованы в качестве вашего кода — стоит крепко задуматься.
  • 49. На код нужно смотреть всегда • github == портфолио. • Пишете курсач с другом? Предварительно оцените его умения!
  • 50. 11. Do you have testers? Тестированием кода должны заниматься    не те же самые люди, которые его писали.
  • 51. Выделенные тестировщики Тестированием кода должны заниматься не те же самые люди, которые его писали. • Эффект замыленного глаза • Неумышленное использование корректных входных данных • Нежелание находить себе дополнительную работу
  • 52. Вы разработчик, а вас заставляют еще и тестировать продукт? Что-то тут нечисто.
  • 53. Привлекайте к тестированию ваших курсовых проектов сторонних людей
  • 54. 12. Hallway usability tests Эффект «замыленного глаза» Для тестирования юзабилити и интерфейсов в целом привлекайте людей   «с улицы»
  • 55. 12. Hallway usability tests • Выйдите в коридор и позовите сотрудника другого отдела, чтобы показать ему интерфейс вашего продукта • Покажите свою игрушку бабушке, пусть она в ней разберется самостоятельно
  • 56. The Joel Test 12 вопросов, которыми должен задаться каждый уважающий себя разрабочик
  • 57. Joel Spolsky • Блог joelonsoftware.com (2000-2010) • Книги: • “Joel on Software”,“More Joel on Software” • “The Best Software Writing” • “Smart and Gets Things Done”