Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Software Process Framework
Search
Boris Kuznetsov
March 25, 2017
Programming
65
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Software Process Framework
https://github.com/achempion/software_process_framework
Boris Kuznetsov
March 25, 2017
Other Decks in Programming
See All in Programming
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
1k
個人開発者よ、Honoを使え(おじさんver)
tanahiro2010
2
260
dotNET_vulnclicker_intro.pdf
deka_morita
0
140
パスワード再設定メールのURLについて知っておこう
uyuki234
0
160
R8 の設定見直しでアプリサイズ削減
andpad
0
220
Atomic Design, Enforced: Scaling Mobile Design Systems (next.app devCon / droidCon Berlin 2026)
steliosf
PRO
0
170
すこし踏み込む CancellationToken
htkym
2
1.7k
Simple Storage Service(S3) is not simple
iwatsukayura
0
290
Workers Cache を知る
syumai
0
360
Next.js: The final boss of Web Performance
guaca
0
250
HTML-in-Canvasで作る未来のWeb UI表現
clockmaker
5
5.1k
SREの越境 / SRE Collaboration
y0hgi
2
310
Featured
See All Featured
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
260
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3.2k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
630
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
220
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Utilizing Notion as your number one productivity tool
mfonobong
4
620
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
780
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
570
Transcript
Автоматизация процесса разработки
None
None
None
• Как мы почти полностью автоматизировали процесс разработки ФРИИ •
Как облегчить взаимодействие с QA
• Как облегчить появление нового члена команды • Расскажу какая
боль лежала в основе "Software process framework"
Немного примеров
Слайд с кодом со сложной бизнес логикой
Слайд с историей коммитов изменяющих сложную бизнес логику
None
и отдал на тестирование
• Проект со сложной бизнес логикой которая постоянно меняется •
Постоянно тестируется несколько задач • Разработка организована через недельные спринты Например
Pull Requests
None
Pull Requests
Pull Requests
Pull Requests
Pull Requests
Pull Requests
Pull Requests
Сложности
Pull Requests
• Нужно дергать разработчика чтобы задеплоил • Нужно постоянно мержить
и деплоить • Нужно за всем этим следить
• Нет возможности “Раздеплоить” и много еще чего •
Протестированные задачи лучше оставлять на этом же сервере
Последствия
• Большая несогласованность • Вместо написания кода мы постоянно
мержим, правим конфликты и деплоим • Нас дергает тестировщик и другие члены команды
Попытки решения
Автоматизация ручных действий
None
1. Форкает текущую ветку 2. Мержит в нее все PR
с меткой 3. Форс пуш на гитхаб 4. Деплой на тестирование
Результат
• Меньше конфликтов • Просто "раздеплоить PR" • Меньше ручной
работы
Что осталось • Несогласованность • Новым разработчикам рассказывать по новой
• Все равно нужно что-то запускать
Формализация процесса
Software process framework achempion / software_process_framework
Зачем нужен • Общий подход • Уже решенные проблемы •
Рекомендации по организации процесса
None
None
None
None
None
None
None
Git-flow
None
Git-flow
None
None
None
None
None
None
История
None
└── releases/ ├── current/ │ ├── .keep │ ├── task-11
│ ├── task-13 │ └── task-15 └── history/ ├── .keep └── 2017-02-02
None
└── releases/ ├── current/ │ ├── .keep │ ├── task-11
│ ├── task-13 │ └── task-15 └── history/ ├── .keep └── 2017-02-02
releases / current / task-11 rake db:seed:anketa:load VERSION=base_v9 rake single2:rewrite_text_adequate
└── releases/ ├── current/ │ ├── .keep │ ├── task-11
│ ├── task-13 │ └── task-15 └── history/ ├── .keep └── 2017-02-02
None
└── releases/ ├── current/ │ ├── .keep │ ├── task-11
│ ├── task-13 │ └── task-15 └── history/ ├── .keep ├── 2017-02-02 └── 2017-03-19
releases/history/2017-02-02 preac-1523 rake single2:preac_1523_fill_refreshed_at preac-1539 preac-1542 preac-1222 preac-1254 preac-1285 rake
db:seed:cofoundit:load VERSION=selection_v3 preac-1326 rake single:preac_1326 preac-1327 rake db:seed:anketa:load VERSION=base_v9 rake db:seed:cofoundit:load VERSION=selection_v3 preac-1329 preac-1330 preac-1339 preac-1498 rake db:seed:anketa:load VERSION=base_v9 rake single2:rewrite_text_adequate preac-1499 rake single2:peac_1498_set_default_cofoundit_selection_rating preac-1522 preac-1524
achempion / srelease
Соглашения
Формат коммитов
[refs #task-13] commit message для одной задачи [refs #task-11, #task-15]
commit message для нескольких Отсылка к номеру задачи
Управление задачами
Каждая задача должна содержать ссылку на Pull Request
Поставка задач QA
None
None
None
None
None
None
Скоро в open-source
Спасибо / achempion / achempion