Причины неудач внедрений.
Место статического анализа в DevOps-процессе.
Статический анализ – друг или враг.
Рассылка результатов анализа.
Что делать с 10 000 сообщений от анализатора при первом запуске?
Сколько времени нужно для правки всех ошибок?
Q&A, или что дальше?
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQAFest
В своем докладе я расскажу, как мы внедряли devops в банке, а конкретнее какую роль в этом процессе сыграло тестирование. Также расскажу с какими проблемами столкнулись, и как мы их устраняли. И да, каких результатов смогли добиться уже через полгода. А самое интересное, покажу как мы смогли добиться того, чтоб у нас pull request долетал до боя за 3 часа со всеми этапами тестирования.
Доклад будет содержать большое количество лайфхаков и обзоров инструментария, который мы использовали.
Автоматизация тестирования как сервис, Павел Сташевский
Все мы хотим получать качественные сервисы. Мы хотим, чтобы обслуживание было быстрым, качественным и недорогим. Нам важно получить удовольствие от сервиса, будь то парикмахерская или бронирование авиабилетов. Автоматизация тестирования в этом плане практически не отличается от других сервисов, особенно, если она развивается в крупной компании. При этом нужно учесть стек технологий и уровень развития проекта и при этом не наступить на те грабли, что мы собрали при автоматизации тестирования других продуктов. Как строить такой сервис, как его адаптировать под различные команды и получать предсказуемый результат, именно про эти вопросы Павел расскажет в своем докладе. И все это на примерах из 2ГИС.
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQAFest
В своем докладе я расскажу, как мы внедряли devops в банке, а конкретнее какую роль в этом процессе сыграло тестирование. Также расскажу с какими проблемами столкнулись, и как мы их устраняли. И да, каких результатов смогли добиться уже через полгода. А самое интересное, покажу как мы смогли добиться того, чтоб у нас pull request долетал до боя за 3 часа со всеми этапами тестирования.
Доклад будет содержать большое количество лайфхаков и обзоров инструментария, который мы использовали.
Автоматизация тестирования как сервис, Павел Сташевский
Все мы хотим получать качественные сервисы. Мы хотим, чтобы обслуживание было быстрым, качественным и недорогим. Нам важно получить удовольствие от сервиса, будь то парикмахерская или бронирование авиабилетов. Автоматизация тестирования в этом плане практически не отличается от других сервисов, особенно, если она развивается в крупной компании. При этом нужно учесть стек технологий и уровень развития проекта и при этом не наступить на те грабли, что мы собрали при автоматизации тестирования других продуктов. Как строить такой сервис, как его адаптировать под различные команды и получать предсказуемый результат, именно про эти вопросы Павел расскажет в своем докладе. И все это на примерах из 2ГИС.
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...Tech Talks @NSU
http://techtalks.nsu.ru
20 февраля 2013. Рассказ о разных профессиях в IT-индустрии, или почему не все выпускники IT-специальностей пишут код (Семён Факторович, Noveo)
«Семен Факторович (Noveo, Новосибирск) рассказывает о разных профессиях в IT-индустрии и о вариантах карьерного роста IT-специалиста»
Лекция прочитана в рамках проекта Tech Talks @NSU – серии открытых лекций о разработке ПО и карьере в IT, проводимых в Новосибирском государственном университете.
Подробности: http://techtalks.nsu.ru
Семён Факторович (Noveo) рассказывает о карьерных лестницах и различных профессиях в IT-индустрии, 20.02.2013
Software Industry 101 — это серия обзорных лекций для студентов Новосибирского государственного университета о профессиях в IT и о реалиях коммерческой разработки софта.
Более подробную информацию, материалы лекций и раписание занятий можно посмотреть на http://bit.ly/industry101
Какие вопросы встают перед руководителем разработки? Что нужно анализировать для успешного решения задач и запуска проектов? Как меняются вопросы, когда тим-лид дорастает до руководства департаментом?
A presentation I've made for Computer Science students of St. Petersburg State University to talk about the professions within IT sphere. Contains several screenshots from Futurama
Реальный DevOps в энтерпрайзе / Александр Тараторин (Райффайзенбанк)Ontico
РИТ++ 2017, Web-scale IT Сonference
Зал Владивосток, 5 июня, 18:00
Тезисы:
http://webscaleconf.ru/2017/abstracts/2828.html
Что такое DevOps? Очередной модный термин? Методология? Набор инструментов? Культурные практики?
Для Райффайзенбанка DevOps - микс из всего перечисленного (смешать, но не взбалтывать!), применяемый чтобы:
- ускорить разработку и внедрение новых решений не в ущерб качеству;
- вовлечь админов в работу девелопмента;
- заинтересовать разработчиков жизнеспособностью их творений в реальной жизни.
...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...HappyDev
Матерый enterprise проект с "зоопарком" из разнообразных технологий. Часто меняющаяся команда и требовательный заказчик. Менеджер, активно пытающийся вытянуть проект... Все составляющие для сюжета, достойного Титаника.
Было перепробовано множество практик для улучшения процесса разработки, и больше всего это влияло на нас, разработчиков. В одночасье рушились привычные устои, а новые, не успев прижиться, менялись снова. Разве возможна нормальная работа в такой нервной обстановке?
Автор критически оценит парное программирование, тестирование, code review и прочие практики из мира улучшения разработки, а также расшарит набитые шишки и обнаруженные грабли.
Видео: http://www.youtube.com/watch?v=vz0U3jQpHSM
Это обзор опыта применения лучших практик разработки программного обеспечения на разных проектах от госзаказов до видеоконференций в командах от 5 до 50 человек. В докладе будут описаны не только практики, но и то, как они применяются на реальных проектах и какие выгоды они действительно приносят.
технологии внедрения корпоративного портала с практическими примерами внедренийTatjana Ostretsova
В данной презентации мы собрали практический материал о том как правильно запустить коропоративный портал Битрикс24 в организации, стоит ли и когда привлекать подрядчика, рассмотрены некоторые технологии внедрения Битрикс24 Корпоративный портал, а также инструменты используемые на внедрении.
Здесь вы найдёте 60 вредных советов для программистов и пояснение, почему они вредные. Всё будет одновременно в шутку и серьёзно. Как бы глупо ни смотрелся вредный совет, он не выдуман, а подсмотрен в реальном мире программирования.
In this article, you're going to find 60 terrible coding tips — and explanations of why they are terrible. It's a fun and serious piece at the same time. No matter how terrible these tips look, they aren't fiction, they are real: we saw them all in the real programming world.
Ошибки, которые сложно заметить на code review, но которые находятся статичес...Andrey Karpov
Есть ошибки, которые легко прячутся от программистов на обзорах кода. Чаще всего они связаны с опечатками или недостаточным знанием тонких нюансах языка/библиотеки. Давайте посмотрим интересные примеры таких ошибок и как их можно выявить с помощью статического анализа. При этом анализаторы не конкурируют с обзорами кода или, например, юнит-тестами. Они отлично дополняют другие методологии борьбы с ошибками.
When should you start using PVS-Studio? What can PVS-Studio detect? Supported standards: MISRA, CWE, CERT, OWASP, AUTOSAR. What about analysis options? What about legacy code?
Двойное освобождение ресурсов. Недостижимый код. Некорректные операции сдвига. Неправильная работа с типами. Опечатки и copy-paste. Проблемы безопасности. Путаница с приоритетом операций.
Make Your and Other Programmer’s Life Easier with Static Analysis (Unreal Eng...Andrey Karpov
What is static analysis and what is it for? How does static analysis work? (Unreal Engine 4). How to introduce static analysis in your project: best practices.
Does static analysis need machine learning?Andrey Karpov
Introduction to static analysis. Existing solutions and approaches they implement. Problems and pitfalls when creating an analyzer. When learning «manually». When learning on a real large code base. Most promising approaches.
Typical errors in code on the example of C++, C#, and JavaAndrey Karpov
Objectives of this webinar
How we detected error patterns
Patterns themselves and how to avoid them:
3.1 Copy-paste and last line effect
3.2 if (A) {...} else if (A)
3.3 Errors in checks
3.4 Array index out of bounds
3.5 Operator precedence
3.6 Typos that are hard to spot
How to use static analysis properly
Conclusion
Q&A
How to Fix Hundreds of Bugs in Legacy Code and Not Die (Unreal Engine 4)Andrey Karpov
How to fight bugs in legacy code?
Should you do it at all?
What to do if there are hundreds or even thousands of errors?(that’s usually the case)
How to avoid spending a plethora of man-hours on this?
And still, how did you work with Unreal Engine?
C++ Code as Seen by a Hypercritical ReviewerAndrey Karpov
We all do code reviews. Who doesn't admit this – does it twice as often. C++ code reviewers look like a sapper. .. except that they can make a mistake more than once. But sometimes the consequences are painful . Brave code review world.
Static Code Analysis for Projects, Built on Unreal EngineAndrey Karpov
Why Do You Need Static Analysis? Detect errors early in the program development process. Get recommendations on code formatting. Check your spelling. Calculate various software metrics.
Are С and C++ Alive? Even More, IBM RPG Is! C and C++ Are Not Just for Old Systems. Are С and C++ Alive? Summary for C, C++. Embedded: C and С++ Are on the Rise.
Zero, one, two, Freddy's coming for youAndrey Karpov
This post continues the series of articles, which can well be called "horrors for developers". This time it will also touch upon a typical pattern of typos related to the usage of numbers 0, 1, 2. The language you're writing in doesn't really matter: it can be C, C++, C#, or Java. If you're using constants 0, 1, 2 or variables' names contain these numbers, most likely, Freddy will come to visit you at night. Go on, read and don't say we didn't warn you.
2. Кто я?
• Евгений Рыжков – руководитель и
сооснователь PVS-Studio;
• Год основания компании: 2008;
• Офис - г. Тула (200 км от Москвы),
штат 30 человек;
• PVS-Studio – статический
анализатор кода для C, C++, C# и
Java на Windows, Linux и macOS
• «CEO? А давно ли CEO
программировал?»
4. Содержание
• Причины неудач внедрений.
• Место статического анализа в DevOps-процессе.
• Статический анализ – друг или враг.
• Рассылка результатов анализа.
• Что делать с 10 000 сообщений от анализатора при первом запуске?
• Сколько времени нужно для правки всех ошибок?
• Q&A, или что дальше?
7. Место статического анализа в
DevOps-процессе
• Егор Бугаенко. Главное не качество, а количество!
• Automated Build
• Unit Tests
• Test Coverage
• Mutation Coverage
• Static Analysis
• Code Reviews
• Read-Only Master
Видео доклада на DevOpsConf Moscow 2018:
https://devopsconf.io/moscow/2018/abstracts/3723
8. Статический анализ – друг или
враг (когда, как и почему)
• Как избежать позора?
• В зависимости от того, где и как внедрен инструмент люди к нему
относятся по-разному. И это не зависит от языка разработки.
• Ошибка найдена по месту и тут же исправлена? Отлично, я молодец!
• Ошибка найдена на билд-сервере? Все видят мой фейл, давайте
вырубим этот анализатор!
9. Рассылка результатов статического
анализа (всем или не всем)
• Очевидные плюсы и неочевидные минусы.
• У программиста завтра есть более важные дела, чем правка
сегодняшней ошибки. И они действительно более важные в какой-то
момент, а потом забывается.
10. Кого еще добавлять в рассылку
• Бывает нужно ставить в копию письма начальника (так себе конечно);
• Неплохая идея добавлять в копию коллег для обучения;
• Тим-лида в копию, чтобы был в курсе о правке багов – нормально.
11. Что делать с 10 000 сообщений от
анализатора при первом запуске?
•НИ-ЧЕ-ГО!
12. Сколько времени нужно
для правки всех ошибок?
• Ожидания • Реальность
0
5
10
15
20
25
1 2 3 4 5
Warnings
0
5
10
15
20
25
1 2 3 4 5
Warnings
13. Так сколько нужно времени?
• Проект 10 млн строк кода
• 5 тысяч срабатываний анализатора
• Команда: 3-4 человека
• Время правки 3-4 месяца
• Общие трудозатраты: 10-15 человеко-месяцев
• Почему нельзя использовать эти данные для оценки :-)
14. Заключение
• Статический анализ – это процесс не только технический, но и прежде
всего организационный.
• Эффективность внедрения и использования статического анализа
зависит от правильного выстраивания процессов.
• Ответственным за правильный процесс должен быть менеджер (тим-
лид, PM, CTO), но DevOps должен понимать суть процесса и
подсказывать менеджеру, если тот не понимает что-то.
• Хорошо себя зарекомендовала практика найти в компании энтузиаста
этой технологии, который будет ее продвигать.
15. Q&A, или что дальше
• Скачайте анализатор, поиграйтесь с ним.
• Обучите коллег, внедрите в своей проект.
• Получите повышение и бонус за внедрение современных практик. :-)
Главная мысль, которую вы должны вынести из доклада:
• Статический анализ в ближайшие несколько лет будет как юнит-тесты
или системы контроля версий. Раньше жили и без них, но «так жить
нельзя».