SlideShare une entreprise Scribd logo
1  sur  24
Igor Bondarenko
Process organization of the Magento
modules development.
About Myself
• 10 years in IT
• 2 years in Magento
Development
• Head of Business
Development in Neklo
What would I talking
about?
• How to choose an idea
• Selecting a tools
• How to prepare a team
• Development processes
• Advises to developers
• QA and Testing
• How to release an extension
Assign choosing of
ideas to the business
development team
After choosing the idea,
calculate the economic
feasibility of extension
development
Do NOT delegate
choosing of the idea to
developer
The idea is chosen, it's time to start developing. But
before you start designing, you must define the tools
Self-developed tools
• Mageinstall
• Cloud VM Server
• “Custom Store”
• QA Test Scripts
Available for all tools
• VCS
• Developer Toolbar
• Log Popup
• Turn Developer Mode On
• Setup Issue Tracker
Formation of the team.
Use narrowly skilled
professionals.
Working with a team of 2
or more people
• Select Team lead
• Split Magento Versions
• Tasks decomposition
• Assign tasks to skilled person
Team of one developer
• Start working with minor Magento versions
• Develop extension sequentially:
• Backend
• Admin part
• Frontend
How to provide compatibility
with third-party extensions?
What should developers
team do?
• Use integration through events
• Do not use Rewrite
• Use frontend integration life
hacks:
• Layout substitution
• JS Injection
What should QA team do?
• Test on “working” Magento
• Test compatibility with top
rated extensions
• Do NOT test compatibility with
all of extensions
• Code Review
• Use Code Style
• Pair Programming
Testing of extensions
Key points of
testing process
• Stop development until the end of
first QA iteration
• Switch project during first
iteration of testing
• Starting from the second iteration
of testing start to work in parallel
with the QA team
Test Automation
• Tests should be written by QA
Team
• Don’t use complex
frameworks:
• Short-term activity
• Skilled QA
• Negative ROI
What to use for test automation?
Use Selenium IDE or SpiderTest:
•Powerful test recorder
•Testers should not have
programming skills
•Developers could use any
programming language
•Lightweight scripts
•Easy to attach scripts to defects
•Free tools
Ready for release?
But don’t you forgot nothing?
Forgot to test readiness
for loading in Magento
Connect
• Build a package
• First load and wait for
approve, then promote
• Test installation file per
file
Key success factors
• Perform business analysis
• Using high-quality and thoughtful
tools
• Using narrowly skilled
professionals
• Don’t forgot testing
Thank you for attention!
Skype: igor.bondarenko1
E-mail: igor.bondarenko@neklo.com

Contenu connexe

Tendances

Using Continuous Integration To Ensure Project Health New
Using Continuous Integration To Ensure Project Health NewUsing Continuous Integration To Ensure Project Health New
Using Continuous Integration To Ensure Project Health New
bartlowe
 
Introduction To Continuous Integration
Introduction To Continuous IntegrationIntroduction To Continuous Integration
Introduction To Continuous Integration
Christopher Read
 
Software engineering
Software engineeringSoftware engineering
Software engineering
bartlowe
 

Tendances (20)

Cloud load testing with Visual Studio Team Services
Cloud load testing with Visual Studio Team ServicesCloud load testing with Visual Studio Team Services
Cloud load testing with Visual Studio Team Services
 
DevQAOps - Surviving in a DevOps World
DevQAOps - Surviving in a DevOps WorldDevQAOps - Surviving in a DevOps World
DevQAOps - Surviving in a DevOps World
 
Usg Web Tech Day 2016 - Continuous Integration, Deployment, and Delivery
Usg Web Tech Day 2016 - Continuous Integration, Deployment, and DeliveryUsg Web Tech Day 2016 - Continuous Integration, Deployment, and Delivery
Usg Web Tech Day 2016 - Continuous Integration, Deployment, and Delivery
 
Break Up the Monolith- Testing Microservices by Marcus Merrell
Break Up the Monolith- Testing Microservices by Marcus MerrellBreak Up the Monolith- Testing Microservices by Marcus Merrell
Break Up the Monolith- Testing Microservices by Marcus Merrell
 
Using Continuous Integration To Ensure Project Health New
Using Continuous Integration To Ensure Project Health NewUsing Continuous Integration To Ensure Project Health New
Using Continuous Integration To Ensure Project Health New
 
Continuous Integration as a Way of Life
Continuous Integration as a Way of LifeContinuous Integration as a Way of Life
Continuous Integration as a Way of Life
 
Continuous integration (eng)
Continuous integration (eng)Continuous integration (eng)
Continuous integration (eng)
 
Introduction To Continuous Integration
Introduction To Continuous IntegrationIntroduction To Continuous Integration
Introduction To Continuous Integration
 
Alm with tfs 2013
Alm with tfs 2013Alm with tfs 2013
Alm with tfs 2013
 
Azure Integration DTAP Series, How to go from Development to Production – Par...
Azure Integration DTAP Series, How to go from Development to Production – Par...Azure Integration DTAP Series, How to go from Development to Production – Par...
Azure Integration DTAP Series, How to go from Development to Production – Par...
 
How to Measure Success in Continuous Testing by Fernando Vidal and Amir Rozen...
How to Measure Success in Continuous Testing by Fernando Vidal and Amir Rozen...How to Measure Success in Continuous Testing by Fernando Vidal and Amir Rozen...
How to Measure Success in Continuous Testing by Fernando Vidal and Amir Rozen...
 
GTAC 2015
GTAC 2015GTAC 2015
GTAC 2015
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Dev ops
Dev opsDev ops
Dev ops
 
Simple Continous Integration
Simple Continous IntegrationSimple Continous Integration
Simple Continous Integration
 
Continous Integration: A Case Study
Continous Integration: A Case StudyContinous Integration: A Case Study
Continous Integration: A Case Study
 
Overview the Challenges and Limitations of Android App Automation with Espres...
Overview the Challenges and Limitations of Android App Automation with Espres...Overview the Challenges and Limitations of Android App Automation with Espres...
Overview the Challenges and Limitations of Android App Automation with Espres...
 
Training Webinars - Secret hacks for OutSystems 10
Training Webinars - Secret hacks for OutSystems 10Training Webinars - Secret hacks for OutSystems 10
Training Webinars - Secret hacks for OutSystems 10
 
How Vanguard Got to a CD-CD World by Craig Schwarzwald
How Vanguard Got to a CD-CD World by Craig SchwarzwaldHow Vanguard Got to a CD-CD World by Craig Schwarzwald
How Vanguard Got to a CD-CD World by Craig Schwarzwald
 
Continuous integration
Continuous integration Continuous integration
Continuous integration
 

En vedette

Дмитрий Голубовский (TagesJump) - Как заказчику и разработчику не потерять св...
Дмитрий Голубовский (TagesJump) - Как заказчику и разработчику не потерять св...Дмитрий Голубовский (TagesJump) - Как заказчику и разработчику не потерять св...
Дмитрий Голубовский (TagesJump) - Как заказчику и разработчику не потерять св...
meet_magento
 
Александр Гальцов (aheadWorks) - Повышение эффективности сотрудничества в рам...
Александр Гальцов (aheadWorks) - Повышение эффективности сотрудничества в рам...Александр Гальцов (aheadWorks) - Повышение эффективности сотрудничества в рам...
Александр Гальцов (aheadWorks) - Повышение эффективности сотрудничества в рам...
meet_magento
 
Илья Коган (Яндекс.Маркет) - Новые возможности сервиса
Илья Коган (Яндекс.Маркет) - Новые возможности сервисаИлья Коган (Яндекс.Маркет) - Новые возможности сервиса
Илья Коган (Яндекс.Маркет) - Новые возможности сервиса
meet_magento
 
Сергей Двоскин (ASTRIO) - Стратегия создания и развития успешного проекта на ...
Сергей Двоскин (ASTRIO) - Стратегия создания и развития успешного проекта на ...Сергей Двоскин (ASTRIO) - Стратегия создания и развития успешного проекта на ...
Сергей Двоскин (ASTRIO) - Стратегия создания и развития успешного проекта на ...
meet_magento
 
Андрей Татаранович (Amasty) - Секретные материалы техподдержки
Андрей Татаранович (Amasty) - Секретные материалы техподдержкиАндрей Татаранович (Amasty) - Секретные материалы техподдержки
Андрей Татаранович (Amasty) - Секретные материалы техподдержки
meet_magento
 

En vedette (8)

Дмитрий Голубовский (TagesJump) - Как заказчику и разработчику не потерять св...
Дмитрий Голубовский (TagesJump) - Как заказчику и разработчику не потерять св...Дмитрий Голубовский (TagesJump) - Как заказчику и разработчику не потерять св...
Дмитрий Голубовский (TagesJump) - Как заказчику и разработчику не потерять св...
 
Александр Гальцов (aheadWorks) - Повышение эффективности сотрудничества в рам...
Александр Гальцов (aheadWorks) - Повышение эффективности сотрудничества в рам...Александр Гальцов (aheadWorks) - Повышение эффективности сотрудничества в рам...
Александр Гальцов (aheadWorks) - Повышение эффективности сотрудничества в рам...
 
Александр Усунов (TagesJump) - Magento в AWS
Александр Усунов (TagesJump) - Magento в AWSАлександр Усунов (TagesJump) - Magento в AWS
Александр Усунов (TagesJump) - Magento в AWS
 
Илья Коган (Яндекс.Маркет) - Новые возможности сервиса
Илья Коган (Яндекс.Маркет) - Новые возможности сервисаИлья Коган (Яндекс.Маркет) - Новые возможности сервиса
Илья Коган (Яндекс.Маркет) - Новые возможности сервиса
 
Ben Marks - Magento Inc.
Ben Marks - Magento Inc.Ben Marks - Magento Inc.
Ben Marks - Magento Inc.
 
Сергей Двоскин (ASTRIO) - Стратегия создания и развития успешного проекта на ...
Сергей Двоскин (ASTRIO) - Стратегия создания и развития успешного проекта на ...Сергей Двоскин (ASTRIO) - Стратегия создания и развития успешного проекта на ...
Сергей Двоскин (ASTRIO) - Стратегия создания и развития успешного проекта на ...
 
Федор Вирин (Data Insight) - Ecommerce 2015
Федор Вирин (Data Insight) - Ecommerce 2015Федор Вирин (Data Insight) - Ecommerce 2015
Федор Вирин (Data Insight) - Ecommerce 2015
 
Андрей Татаранович (Amasty) - Секретные материалы техподдержки
Андрей Татаранович (Amasty) - Секретные материалы техподдержкиАндрей Татаранович (Amasty) - Секретные материалы техподдержки
Андрей Татаранович (Amasty) - Секретные материалы техподдержки
 

Similaire à Игорь Бондаренко (Neklo) - Организация процесса разработки модулей для Magento

Working Agile with Scrum and TFS 2013
Working Agile with Scrum and TFS 2013Working Agile with Scrum and TFS 2013
Working Agile with Scrum and TFS 2013
Moataz Nabil
 
Introduction to-automated-testing
Introduction to-automated-testingIntroduction to-automated-testing
Introduction to-automated-testing
BestBrains
 
Becoming a better programmer - unit testing
Becoming a better programmer - unit testingBecoming a better programmer - unit testing
Becoming a better programmer - unit testing
Duy Tan Geek
 

Similaire à Игорь Бондаренко (Neklo) - Организация процесса разработки модулей для Magento (20)

Igor Bondarenko - Process organization of the development modules specific to...
Igor Bondarenko - Process organization of the development modules specific to...Igor Bondarenko - Process organization of the development modules specific to...
Igor Bondarenko - Process organization of the development modules specific to...
 
High Performance Software Engineering Teams
High Performance Software Engineering TeamsHigh Performance Software Engineering Teams
High Performance Software Engineering Teams
 
Software Testing Basic Concepts
Software Testing Basic ConceptsSoftware Testing Basic Concepts
Software Testing Basic Concepts
 
How We Build Confidence with Continuous Integration and Automated Testing
How We Build Confidence with Continuous Integration and Automated TestingHow We Build Confidence with Continuous Integration and Automated Testing
How We Build Confidence with Continuous Integration and Automated Testing
 
Lean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill AyersLean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill Ayers
 
Getting Started With Coded UI testing: Building Your First Automated Test
Getting Started With Coded UI testing: Building Your First Automated TestGetting Started With Coded UI testing: Building Your First Automated Test
Getting Started With Coded UI testing: Building Your First Automated Test
 
Jenkins_1679702972.pdf
Jenkins_1679702972.pdfJenkins_1679702972.pdf
Jenkins_1679702972.pdf
 
jenkins.pdf
jenkins.pdfjenkins.pdf
jenkins.pdf
 
Kku2011
Kku2011Kku2011
Kku2011
 
Test automation proposal
Test automation proposalTest automation proposal
Test automation proposal
 
End-end tests as first class citizens - SeleniumConf 2020
End-end tests as first class citizens - SeleniumConf 2020End-end tests as first class citizens - SeleniumConf 2020
End-end tests as first class citizens - SeleniumConf 2020
 
Working Agile with Scrum and TFS 2013
Working Agile with Scrum and TFS 2013Working Agile with Scrum and TFS 2013
Working Agile with Scrum and TFS 2013
 
Making software development processes to work for you
Making software development processes to work for youMaking software development processes to work for you
Making software development processes to work for you
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Building environment of #UserDevOps and not only DevOps
Building environment of #UserDevOps and not only DevOpsBuilding environment of #UserDevOps and not only DevOps
Building environment of #UserDevOps and not only DevOps
 
Introduction to Automated Testing
Introduction to Automated TestingIntroduction to Automated Testing
Introduction to Automated Testing
 
Introduction to-automated-testing
Introduction to-automated-testingIntroduction to-automated-testing
Introduction to-automated-testing
 
Enter the mind of an Agile Developer
Enter the mind of an Agile DeveloperEnter the mind of an Agile Developer
Enter the mind of an Agile Developer
 
Becoming a better programmer - unit testing
Becoming a better programmer - unit testingBecoming a better programmer - unit testing
Becoming a better programmer - unit testing
 
Agile engineering practices
Agile engineering practicesAgile engineering practices
Agile engineering practices
 

Plus de meet_magento

Дмитрий Голубовский (TagesJump) - Финансовые и технологические преимущества M...
Дмитрий Голубовский (TagesJump) - Финансовые и технологические преимущества M...Дмитрий Голубовский (TagesJump) - Финансовые и технологические преимущества M...
Дмитрий Голубовский (TagesJump) - Финансовые и технологические преимущества M...
meet_magento
 
Олег Чеховский (Turnkey Ecommerce) - Magento в России
Олег Чеховский (Turnkey Ecommerce) - Magento в РоссииОлег Чеховский (Turnkey Ecommerce) - Magento в России
Олег Чеховский (Turnkey Ecommerce) - Magento в России
meet_magento
 
Мария Шульга (Яндекс) - Покупка на Маркете
Мария Шульга (Яндекс) - Покупка на МаркетеМария Шульга (Яндекс) - Покупка на Маркете
Мария Шульга (Яндекс) - Покупка на Маркете
meet_magento
 
Федор Вирин (Data Insight) - Исследование изменений потребительского поведения
Федор Вирин (Data Insight) - Исследование изменений потребительского поведенияФедор Вирин (Data Insight) - Исследование изменений потребительского поведения
Федор Вирин (Data Insight) - Исследование изменений потребительского поведения
meet_magento
 
Данила Тарасов (MyGento) - Интеграция розницы в Magento
Данила Тарасов (MyGento) - Интеграция розницы в MagentoДанила Тарасов (MyGento) - Интеграция розницы в Magento
Данила Тарасов (MyGento) - Интеграция розницы в Magento
meet_magento
 
Артем Игнатьев (Atalan) - Проектируем каталог интернет-магазина
Артем Игнатьев (Atalan) - Проектируем каталог интернет-магазинаАртем Игнатьев (Atalan) - Проектируем каталог интернет-магазина
Артем Игнатьев (Atalan) - Проектируем каталог интернет-магазина
meet_magento
 
Кирилл Голуб (aheadWorks) - Бизнес на Magento в 2015
Кирилл Голуб (aheadWorks) - Бизнес на Magento в 2015Кирилл Голуб (aheadWorks) - Бизнес на Magento в 2015
Кирилл Голуб (aheadWorks) - Бизнес на Magento в 2015
meet_magento
 
Елена Ткачева (Magento) - Особенности Magento2
Елена Ткачева (Magento) - Особенности Magento2Елена Ткачева (Magento) - Особенности Magento2
Елена Ткачева (Magento) - Особенности Magento2
meet_magento
 
Thomas Fleck (Netresearch) - Meet magento ru 2014 - standardisation
Thomas Fleck (Netresearch) - Meet magento ru 2014 - standardisation Thomas Fleck (Netresearch) - Meet magento ru 2014 - standardisation
Thomas Fleck (Netresearch) - Meet magento ru 2014 - standardisation
meet_magento
 
Turnkey Ecommerce - Сергей Двоскин
Turnkey Ecommerce - Сергей ДвоскинTurnkey Ecommerce - Сергей Двоскин
Turnkey Ecommerce - Сергей Двоскин
meet_magento
 

Plus de meet_magento (20)

Дмитрий Голубовский (TagesJump) - Финансовые и технологические преимущества M...
Дмитрий Голубовский (TagesJump) - Финансовые и технологические преимущества M...Дмитрий Голубовский (TagesJump) - Финансовые и технологические преимущества M...
Дмитрий Голубовский (TagesJump) - Финансовые и технологические преимущества M...
 
Олег Чеховский (Turnkey Ecommerce) - Magento в России
Олег Чеховский (Turnkey Ecommerce) - Magento в РоссииОлег Чеховский (Turnkey Ecommerce) - Magento в России
Олег Чеховский (Turnkey Ecommerce) - Magento в России
 
Мария Шульга (Яндекс) - Покупка на Маркете
Мария Шульга (Яндекс) - Покупка на МаркетеМария Шульга (Яндекс) - Покупка на Маркете
Мария Шульга (Яндекс) - Покупка на Маркете
 
Федор Вирин (Data Insight) - Исследование изменений потребительского поведения
Федор Вирин (Data Insight) - Исследование изменений потребительского поведенияФедор Вирин (Data Insight) - Исследование изменений потребительского поведения
Федор Вирин (Data Insight) - Исследование изменений потребительского поведения
 
Данила Тарасов (MyGento) - Интеграция розницы в Magento
Данила Тарасов (MyGento) - Интеграция розницы в MagentoДанила Тарасов (MyGento) - Интеграция розницы в Magento
Данила Тарасов (MyGento) - Интеграция розницы в Magento
 
Артем Игнатьев (Atalan) - Проектируем каталог интернет-магазина
Артем Игнатьев (Atalan) - Проектируем каталог интернет-магазинаАртем Игнатьев (Atalan) - Проектируем каталог интернет-магазина
Артем Игнатьев (Atalan) - Проектируем каталог интернет-магазина
 
Кирилл Голуб (aheadWorks) - Бизнес на Magento в 2015
Кирилл Голуб (aheadWorks) - Бизнес на Magento в 2015Кирилл Голуб (aheadWorks) - Бизнес на Magento в 2015
Кирилл Голуб (aheadWorks) - Бизнес на Magento в 2015
 
Елена Ткачева (Magento) - Особенности Magento2
Елена Ткачева (Magento) - Особенности Magento2Елена Ткачева (Magento) - Особенности Magento2
Елена Ткачева (Magento) - Особенности Magento2
 
Thomas Fleck (Netresearch) - Meet magento ru 2014 - standardisation
Thomas Fleck (Netresearch) - Meet magento ru 2014 - standardisation Thomas Fleck (Netresearch) - Meet magento ru 2014 - standardisation
Thomas Fleck (Netresearch) - Meet magento ru 2014 - standardisation
 
Magento Live Germany
Magento Live GermanyMagento Live Germany
Magento Live Germany
 
Turnkey Ecommerce - Сергей Двоскин
Turnkey Ecommerce - Сергей ДвоскинTurnkey Ecommerce - Сергей Двоскин
Turnkey Ecommerce - Сергей Двоскин
 
Turnkey Ecommerce - Олег Чеховский
Turnkey Ecommerce - Олег ЧеховскийTurnkey Ecommerce - Олег Чеховский
Turnkey Ecommerce - Олег Чеховский
 
Magento - Каранда Александр, Кирилл Морозов
Magento - Каранда Александр, Кирилл МорозовMagento - Каранда Александр, Кирилл Морозов
Magento - Каранда Александр, Кирилл Морозов
 
Atalan - Илья Зинченко
Atalan - Илья ЗинченкоAtalan - Илья Зинченко
Atalan - Илья Зинченко
 
TagesJump - Дмитрий Голубовский
TagesJump - Дмитрий ГолубовскийTagesJump - Дмитрий Голубовский
TagesJump - Дмитрий Голубовский
 
Atwix - Ярослав Рогоза
Atwix - Ярослав РогозаAtwix - Ярослав Рогоза
Atwix - Ярослав Рогоза
 
aheadWorks - Петр Самойлов
aheadWorks - Петр СамойловaheadWorks - Петр Самойлов
aheadWorks - Петр Самойлов
 
CyberHULL - Вадим Сытников
CyberHULL - Вадим СытниковCyberHULL - Вадим Сытников
CyberHULL - Вадим Сытников
 
aheadWorks - Кирилл Голуб
aheadWorks - Кирилл ГолубaheadWorks - Кирилл Голуб
aheadWorks - Кирилл Голуб
 
Magento - Антон Капля
Magento - Антон КапляMagento - Антон Капля
Magento - Антон Капля
 

Dernier

Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
Call Girls In Delhi Whatsup 9873940964 Enjoy Unlimited Pleasure
 
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRLLucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
imonikaupta
 
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 
( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...
( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...
( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...
nilamkumrai
 

Dernier (20)

Real Escorts in Al Nahda +971524965298 Dubai Escorts Service
Real Escorts in Al Nahda +971524965298 Dubai Escorts ServiceReal Escorts in Al Nahda +971524965298 Dubai Escorts Service
Real Escorts in Al Nahda +971524965298 Dubai Escorts Service
 
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
 
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
 
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
 
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
 
Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...
Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...
Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...
 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53
 
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
 
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
 
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency""Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
 
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRLLucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
 
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
 
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
 
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableCall Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
 
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune  (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...Russian Call Girls Pune  (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
 
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
 
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
 
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
 
( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...
( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...
( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...
 

Игорь Бондаренко (Neklo) - Организация процесса разработки модулей для Magento

  • 1. Igor Bondarenko Process organization of the Magento modules development.
  • 2. About Myself • 10 years in IT • 2 years in Magento Development • Head of Business Development in Neklo
  • 3. What would I talking about? • How to choose an idea • Selecting a tools • How to prepare a team • Development processes • Advises to developers • QA and Testing • How to release an extension
  • 4. Assign choosing of ideas to the business development team
  • 5. After choosing the idea, calculate the economic feasibility of extension development
  • 6. Do NOT delegate choosing of the idea to developer
  • 7. The idea is chosen, it's time to start developing. But before you start designing, you must define the tools
  • 8. Self-developed tools • Mageinstall • Cloud VM Server • “Custom Store” • QA Test Scripts
  • 9. Available for all tools • VCS • Developer Toolbar • Log Popup • Turn Developer Mode On • Setup Issue Tracker
  • 10. Formation of the team. Use narrowly skilled professionals.
  • 11. Working with a team of 2 or more people • Select Team lead • Split Magento Versions • Tasks decomposition • Assign tasks to skilled person
  • 12. Team of one developer • Start working with minor Magento versions • Develop extension sequentially: • Backend • Admin part • Frontend
  • 13. How to provide compatibility with third-party extensions?
  • 14. What should developers team do? • Use integration through events • Do not use Rewrite • Use frontend integration life hacks: • Layout substitution • JS Injection
  • 15. What should QA team do? • Test on “working” Magento • Test compatibility with top rated extensions • Do NOT test compatibility with all of extensions
  • 16. • Code Review • Use Code Style • Pair Programming
  • 18. Key points of testing process • Stop development until the end of first QA iteration • Switch project during first iteration of testing • Starting from the second iteration of testing start to work in parallel with the QA team
  • 19. Test Automation • Tests should be written by QA Team • Don’t use complex frameworks: • Short-term activity • Skilled QA • Negative ROI
  • 20. What to use for test automation? Use Selenium IDE or SpiderTest: •Powerful test recorder •Testers should not have programming skills •Developers could use any programming language •Lightweight scripts •Easy to attach scripts to defects •Free tools
  • 21. Ready for release? But don’t you forgot nothing?
  • 22. Forgot to test readiness for loading in Magento Connect • Build a package • First load and wait for approve, then promote • Test installation file per file
  • 23. Key success factors • Perform business analysis • Using high-quality and thoughtful tools • Using narrowly skilled professionals • Don’t forgot testing
  • 24. Thank you for attention! Skype: igor.bondarenko1 E-mail: igor.bondarenko@neklo.com

Notes de l'éditeur

  1. Greeting Hello everyone, my name is Igor Bondarenko. Stating the problem In my report I will speak upon how to organize the process of Magento extensions development.
  2. About Me A few words about me: 10 years in IT, for the last few years have been involved in Magento development, Head of Business development at Neklo
  3. Introduction to the topic Over the years of my working experience, I have faced the fact that the way development process is organized differs greatly from company to company. At the same time, if we take the development of extensions as a separate subject it may seem to be a short-term activity, which has no particular nuances. In practice, it turns out that the development of an extension is not at all that simple. Today I'll tell you how we have organized the process of extensions development at our company, and will give some recommendations on how to optimize the development process so that to reduce costs and improve your product quality.   Here I would like to note that we do not make any difference between processes that take place while we develop extensions for sale and those for custom development, so, everything I’ll be talking about works perfectly for both cases.   Listing the key points My report will cover the following aspects of the development process: getting prepared for development: what idea to choose and what to do next role separation within a team tools development of an extension testing All practices are divided into groups, so you can choose those of them that will harmoniously fit into your workflow.
  4. I am often asked what extension to develop. Well, the point is that it is impossible to predict whether an extension will be successful on the market or not. And even if somebody knew he wouldn’t tell you.   And that’s why: give this task to a business analyst, not a developer! business analyst studies current marker situation, analyzes it, defines crucial user problems that need to be solved and prepares technical requirements analyst handles the technical requirements to the development department for an assessment decide whether it pays to develop an extension (выгодно ли) gather a team
  5. If the development of the module turns out to be economically unjustified, then you should refuse the idea of such commercial extension. If it’s custom development, then find an analogue to use instead.
  6. So, what shall you do if there’s no business analyst in your team and you don’t have a possibility to hire one. Apologists of Agile Development: Lisa Crispin and Alistair Cockburn in their works recommend delegating the tasks of a business analyst to the QA department.   If you are using agile development methodologies, such as a whole team approach and self-organized team, then your QA specialists play the role of a mediate between business and the development team, as they are engaged in the negotiation with the customer on the requirements. If that is the approach you use, it makes sense for you to teach your QA the basics of business analysis and entrust him the task.
  7. I recommend you to split your developers between hostings + separate hostings for a support team and QAs. That is very handy as each developers uses his own Magento entities and they don’t impede anyone.
  8. one developer develops for the initial version and the second for the latest one automating process with the help of MageInstall: we easily deploy any Magento version needed there are other useful features MageInstall has: direct links to frontend and admin panel sessions cleanup cache cleunup cron starting direct link to database possibility to view already installed extensions extensions disabling with one click store deletion mass actions for all the above listed sometimes specific store is neeed, with specific data, in this case we use generator. This is an internal extension that is gradually improving and getting filled with new functionality. It allows you to generate orders, customers, products, etc. If you do not have enough time or resources to create such n extension, it makes sense to entrust your QA department with writing automated tests which will fill the store with necessary amount of data. This approach takes more time, but it is cheaper, and these tests can be run at night.
  9. I highly recommend you to use Version Control System (git or hg) Having all the extensions in your repository, you can easily install the extension you need along with the Magento version needed right from MageInstal: you won’t have to do it manually Use a development toolbar, which allows you to quickly view huge amount od useful data: additional information on a request layout handlers events triggered for the current request database requests and the time of their completion etc. use the Log Popup extension that shows new logs from the log file and will immediately signal in case there’s an error that should be fixed. Otherwise, log errors can stay unnoticed which will result in problems further on. enable developer mode! – this will also notify the developer on the code issues issue tracker and properly set up workflow. the detailing should be moderate – micromanagement doesn’t lead to good results
  10. During the development process, we came to a conclusion that the most advantageous is the approach when there are highly specialized experts engaged in development. Thus, Magento developers do the backend and admin panel, frontend developers write frontend, and system administrators deal with servers and configurations. Here i would like to mention the importance of the extensions testing, we do not put it to the shoulders of our end-users, so there’s always a QA specialist in our development team. At first glance it may seem that staff increase is a one-way ticket to the increase in the cost of development, but I’d like to note here that a significant reduction in development time allows, on the contrary, to reduce costs.   So, let’s summarize how the development process is organized in our particular case: For every extension to be developed there is a Lead assigned, who manages the development process, sets tasks and monitors their completion. there are separate developers to deal with the admin panel, frontend and backend if there are more than 3 developers in a team, we split them into smaller groups if there’s such a necessity we involve additional developers and QA specialists in the development At that, I understand that it is not always possible to each time allocate a separate team for the development of an extension, so I will touch upon it a little bit later and, when speaking on the technical details, I will dwell upon practices that are applicable for both teams and a single developer.
  11.   When developing within a team of 2 or more people: the first developer is developing on the initial version of Magento - we usually take 1.4.1.1 the second developer takes the latest version (1.9.2.0) if there are other developers involved, then we give them intermediate versions split tasks into a backend (instal scripts, models, collections), underlying implementation, admin panel and frontend.
  12. If there’s one developer: start from the initial version – in our case it’s 1.4.1.1 - and time to time check on the latest version - 1.9.2.0 start with the backend and then proceed to the admin panel and fontend
  13. An important issue is the compatibility of your extensions with the third-party extensions. Analyze how to integrate your extension to Magento with minimal problems in the future on the side of the developers, and, most importantly, of the support team.
  14. integrate through events avoid rewrite Frontend integration: layout substitution js injection at the end of the page, or any other place suitable, draw our block but do it hidden, and after its upload we move it to another place with a js, as the majority of Magento themes contain the same class and id name. Still, if they are different, I recommend you to write your own frontend part so that they will initiate(?»инититься») through the configuration, and then, after you changed the value of a selector or the option in the configuration, everything starts to work without code research and long debugging
  15. Also, we solve issues of a compatibility with popular third-party extensions at the design stage already, so that they work together seamlessly out of the box. To do this, we take the most popular extensions of the leading developers and the QA team checks our extensions compatibility with theirs.
  16. What should you remember: commits review – Leads and Seniors check the code of Junior specialists. Juniors check the code of their Leads and study the advanced methodologies of writing a code. codestyle – the use of a codestyle allows to reduce time on formatting other developer’s code give the extensions to the QA team for testing
  17. we do not put it to the shoulders of our end-users, so there’s always a QA specialist in our development team.
  18. During the first testing: do not lead the development switch to other tasks   After your extension returned from testing: fix the bugs found and pass them for testing work alongside with the developers to make the process faster
  19. + automated tests: help with the long-playing products a QA specialist can write tests during the development process and in it will reduce your future testing costs selenium ide + bugs
  20. In case with distributing paid extensions Magento Connect usually shows the link to the developer’s website. At that, the free extension needs to be packaged and uploaded on the Magento Connect website.   Do not forget to create product in the system and to install the published version of the extension before you start to promote it.   Note that not all the developers install extensions Magento Connect, so you should unpack it and try to install it file-by-file.
  21. Conclusion To sum up, I would like to list the key points of the development process that will help you to create high-quality extensions. These are the following: Business analysis prior to developing Using high-quality and thoughtful tools The principle of splitting duties between highly specialized professionals Profound testing All of the above named practices may seem expensive to implement, but I’d like to say that all of them can reduce the development time and overall labor costs.