SlideShare a Scribd company logo
1 of 17
Download to read offline
How do we do it?
Peter Samoilov, aheadWorks Co.
What’s difference?
Extension is a small codepiece...
...but you have A LOT. Or will have.
(at least we have ~70+)
...and each needs to be updated permanently
You have to do something about that
Must-have dev tools
Version control. Mercurial or Git.
Debug tools. XDebug, Firebug, etc.
Good IDE. Netbeans, Phpstorm, Eclipse
Docs
protects you from general anarchy
makes new product robust and clear
shares knowledge within your team
You spend about 25% of time on docs...
But it saves dozens of hours later!
It gives you speed
w/o docs
with docs
0 10 20 30 40
Exts per year
F@#$, we REALLY forgot this!
Damn, seems it’s really has design problems...
Rename this labels, change order here. Add column
«order ID» here
etc, etc, etc
It gives you speed
80% of time project is 80% ready
Start from initial request
It must be as short as possible
It must describe key functionality
And no tech here!
Add some tech docs
FOA describe business logic
Depict data structures
Add interfaces if needed
Create test plan
And you ready to go!
Type less. Prefer drawings and schemes
Compact as possible.
Share it to your team before the first line of code
General things about docs
Automate it!
Automate Magento installation
Developer: 1.4, 1.7, 1.12, 1.13
QA: 1.4, 1.5, 1.6, 1.7, 1.11, 1.12, 1.13
Use a set of your own sample datas
netz98-magerun
PHP-driven
can install magento in one command
provide tons of service operations
mg by aW (alpha)
Python-driven
has experimental web interface
can install/backup magento
can install side extensions
in active development
Automate it!
Use tools to create extension skeleton
CI
Check silly things: version in xml, formatting, etc.
Merge documentation in package
Create missing templates for Magento EE
Add license to files
Deploy ready packages to your production
Run Unit/Functional automatic tests
0
2,5
5
7,5
10
Magento installation Skeleton Package Large sample data
Manual Automated
Slowdown everything
Move quality assurance into separate process
Start developing before specification is complete
Keep your code in a secret. It’s perfect!
PHP is all what you need
mailto: samoilov@aheadworks.com
Peter Samoilov
skypeto: p.samoilov

More Related Content

What's hot

Improve Development Process with Open Source Software
Improve Development Process with Open Source SoftwareImprove Development Process with Open Source Software
Improve Development Process with Open Source Software
elliando dias
 

What's hot (20)

TDD
TDDTDD
TDD
 
Enterprise Development on a Shoestring Budget
Enterprise Development on a Shoestring BudgetEnterprise Development on a Shoestring Budget
Enterprise Development on a Shoestring Budget
 
Agile Testing - A quality culture in the company's core business
Agile Testing - A quality culture in the company's core businessAgile Testing - A quality culture in the company's core business
Agile Testing - A quality culture in the company's core business
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Continuous Integration and Continuous Deployment in Enterprise scenario
Continuous Integration and Continuous Deployment in Enterprise scenarioContinuous Integration and Continuous Deployment in Enterprise scenario
Continuous Integration and Continuous Deployment in Enterprise scenario
 
The Perfect Neos Project Setup
The Perfect Neos Project SetupThe Perfect Neos Project Setup
The Perfect Neos Project Setup
 
Introduction to test_driven_development
Introduction to test_driven_developmentIntroduction to test_driven_development
Introduction to test_driven_development
 
Introduction to Test Driven Development
Introduction to Test Driven DevelopmentIntroduction to Test Driven Development
Introduction to Test Driven Development
 
Topic production code
Topic production codeTopic production code
Topic production code
 
Improving code quality using CI
Improving code quality using CIImproving code quality using CI
Improving code quality using CI
 
Building an open source python application the right way
Building an open source python application the right wayBuilding an open source python application the right way
Building an open source python application the right way
 
Cypress testing
Cypress testingCypress testing
Cypress testing
 
Beer & Beta by Flockler - Feb 4th 2016
Beer & Beta by Flockler - Feb 4th 2016Beer & Beta by Flockler - Feb 4th 2016
Beer & Beta by Flockler - Feb 4th 2016
 
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
 
Dot all 2019 | Testing with Craft | Giel Tettelar
Dot all 2019 | Testing with Craft | Giel TettelarDot all 2019 | Testing with Craft | Giel Tettelar
Dot all 2019 | Testing with Craft | Giel Tettelar
 
Sap inside track Munich 2017
Sap inside track Munich 2017Sap inside track Munich 2017
Sap inside track Munich 2017
 
Improve Development Process with Open Source Software
Improve Development Process with Open Source SoftwareImprove Development Process with Open Source Software
Improve Development Process with Open Source Software
 
Df16 getting started with apex as an admin
Df16  getting started with apex as an adminDf16  getting started with apex as an admin
Df16 getting started with apex as an admin
 
Getting Started With Apex as an Admin by Christopher Lewis
Getting Started With Apex as an Admin by Christopher LewisGetting Started With Apex as an Admin by Christopher Lewis
Getting Started With Apex as an Admin by Christopher Lewis
 
Getting Started with Puppet Bolt
Getting Started with Puppet BoltGetting Started with Puppet Bolt
Getting Started with Puppet Bolt
 

Viewers also liked

Rosa valdez 3 fi ma
Rosa valdez 3 fi maRosa valdez 3 fi ma
Rosa valdez 3 fi ma
rosemati
 
Daniel defoe biography
Daniel defoe biographyDaniel defoe biography
Daniel defoe biography
Frenzien
 
Daniel defoe biography
Daniel defoe biographyDaniel defoe biography
Daniel defoe biography
Frenzien
 
Siemer & associates e commerce report spring 2013
Siemer & associates e commerce report spring 2013Siemer & associates e commerce report spring 2013
Siemer & associates e commerce report spring 2013
Vince Bitong
 
Peripheral nerve injuries
Peripheral nerve injuriesPeripheral nerve injuries
Peripheral nerve injuries
Hawre Hassan
 

Viewers also liked (18)

Rosa valdez 3 fi ma
Rosa valdez 3 fi maRosa valdez 3 fi ma
Rosa valdez 3 fi ma
 
Daniel defoe biography
Daniel defoe biographyDaniel defoe biography
Daniel defoe biography
 
Meet magento russia 2013 by Peter Samoilov and Andrei Ivanov
Meet magento russia 2013 by Peter Samoilov and Andrei IvanovMeet magento russia 2013 by Peter Samoilov and Andrei Ivanov
Meet magento russia 2013 by Peter Samoilov and Andrei Ivanov
 
Kryptanium overview 012114
Kryptanium overview   012114Kryptanium overview   012114
Kryptanium overview 012114
 
Ergonomics of Input Devices/bioenggineering
Ergonomics of Input Devices/bioenggineeringErgonomics of Input Devices/bioenggineering
Ergonomics of Input Devices/bioenggineering
 
Black card presskit
Black card presskitBlack card presskit
Black card presskit
 
Daniel defoe biography
Daniel defoe biographyDaniel defoe biography
Daniel defoe biography
 
Siemer & associates e commerce report spring 2013
Siemer & associates e commerce report spring 2013Siemer & associates e commerce report spring 2013
Siemer & associates e commerce report spring 2013
 
Cycle of motivation
Cycle of motivationCycle of motivation
Cycle of motivation
 
Tutorial in Insert Menu
Tutorial in Insert MenuTutorial in Insert Menu
Tutorial in Insert Menu
 
Skeletal System of Frog
Skeletal System of FrogSkeletal System of Frog
Skeletal System of Frog
 
Pronounciation problems(final) copy
Pronounciation problems(final)   copyPronounciation problems(final)   copy
Pronounciation problems(final) copy
 
Peripheral nerve injuries
Peripheral nerve injuriesPeripheral nerve injuries
Peripheral nerve injuries
 
Yodo1 overview feb 2014 j version
Yodo1 overview feb 2014 j versionYodo1 overview feb 2014 j version
Yodo1 overview feb 2014 j version
 
GDC 2014 Yodo1 Keynote how ski safari become a chinese hit v2
GDC 2014 Yodo1 Keynote how ski safari become a chinese hit v2GDC 2014 Yodo1 Keynote how ski safari become a chinese hit v2
GDC 2014 Yodo1 Keynote how ski safari become a chinese hit v2
 
Why choose ESS?
Why choose ESS?Why choose ESS?
Why choose ESS?
 
ESS Overview
ESS OverviewESS Overview
ESS Overview
 
ESS Drug Testing
ESS Drug TestingESS Drug Testing
ESS Drug Testing
 

Similar to How do we do it

Magento performancenbs
Magento performancenbsMagento performancenbs
Magento performancenbs
varien
 
Building Scalable Development Environments
Building Scalable Development EnvironmentsBuilding Scalable Development Environments
Building Scalable Development Environments
Shahar Evron
 
Kelly potvin nosurprises_odtug_oow12
Kelly potvin nosurprises_odtug_oow12Kelly potvin nosurprises_odtug_oow12
Kelly potvin nosurprises_odtug_oow12
Enkitec
 
Passing The Joel Test In The PHP World
Passing The Joel Test In The PHP WorldPassing The Joel Test In The PHP World
Passing The Joel Test In The PHP World
Lorna Mitchell
 
Slides from LAX & DEN usergroup meetings
Slides from LAX & DEN usergroup meetingsSlides from LAX & DEN usergroup meetings
Slides from LAX & DEN usergroup meetings
10n Software, LLC
 
Sai devops - the art of being specializing generalist
Sai   devops - the art of being specializing generalistSai   devops - the art of being specializing generalist
Sai devops - the art of being specializing generalist
Odd-e
 
Chen's second test slides again
Chen's second test slides againChen's second test slides again
Chen's second test slides again
Hima Challa
 

Similar to How do we do it (20)

Joomla! Day Chicago 2011 Presentation - Steven Pignataro
Joomla! Day Chicago 2011 Presentation - Steven PignataroJoomla! Day Chicago 2011 Presentation - Steven Pignataro
Joomla! Day Chicago 2011 Presentation - Steven Pignataro
 
Continuous Delivery for Python Developers – PyCon Otto
Continuous Delivery for Python Developers – PyCon OttoContinuous Delivery for Python Developers – PyCon Otto
Continuous Delivery for Python Developers – PyCon Otto
 
Magento performancenbs
Magento performancenbsMagento performancenbs
Magento performancenbs
 
Software Development Standard Operating Procedure
Software Development Standard Operating Procedure Software Development Standard Operating Procedure
Software Development Standard Operating Procedure
 
Building Scalable Development Environments
Building Scalable Development EnvironmentsBuilding Scalable Development Environments
Building Scalable Development Environments
 
X page developer
X page developerX page developer
X page developer
 
Django
Django Django
Django
 
Care and feeding notes
Care and feeding notesCare and feeding notes
Care and feeding notes
 
Best practice adoption (and lack there of)
Best practice adoption (and lack there of)Best practice adoption (and lack there of)
Best practice adoption (and lack there of)
 
System design for Web Application
System design for Web ApplicationSystem design for Web Application
System design for Web Application
 
XPDays Ukraine: Legacy
XPDays Ukraine: LegacyXPDays Ukraine: Legacy
XPDays Ukraine: Legacy
 
Django
DjangoDjango
Django
 
Kelly potvin nosurprises_odtug_oow12
Kelly potvin nosurprises_odtug_oow12Kelly potvin nosurprises_odtug_oow12
Kelly potvin nosurprises_odtug_oow12
 
Passing The Joel Test In The PHP World
Passing The Joel Test In The PHP WorldPassing The Joel Test In The PHP World
Passing The Joel Test In The PHP World
 
Slides from LAX & DEN usergroup meetings
Slides from LAX & DEN usergroup meetingsSlides from LAX & DEN usergroup meetings
Slides from LAX & DEN usergroup meetings
 
Sai devops - the art of being specializing generalist
Sai   devops - the art of being specializing generalistSai   devops - the art of being specializing generalist
Sai devops - the art of being specializing generalist
 
Ci tips and_tricks_linards_liepins
Ci tips and_tricks_linards_liepinsCi tips and_tricks_linards_liepins
Ci tips and_tricks_linards_liepins
 
Product! - The road to production deployment
Product! - The road to production deploymentProduct! - The road to production deployment
Product! - The road to production deployment
 
An Introduction to Microservices
An Introduction to MicroservicesAn Introduction to Microservices
An Introduction to Microservices
 
Chen's second test slides again
Chen's second test slides againChen's second test slides again
Chen's second test slides again
 

Recently uploaded

Recently uploaded (20)

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 

How do we do it

  • 1. How do we do it? Peter Samoilov, aheadWorks Co.
  • 2. What’s difference? Extension is a small codepiece... ...but you have A LOT. Or will have. (at least we have ~70+) ...and each needs to be updated permanently You have to do something about that
  • 3. Must-have dev tools Version control. Mercurial or Git. Debug tools. XDebug, Firebug, etc. Good IDE. Netbeans, Phpstorm, Eclipse
  • 4. Docs protects you from general anarchy makes new product robust and clear shares knowledge within your team
  • 5. You spend about 25% of time on docs... But it saves dozens of hours later! It gives you speed w/o docs with docs 0 10 20 30 40 Exts per year
  • 6. F@#$, we REALLY forgot this! Damn, seems it’s really has design problems... Rename this labels, change order here. Add column «order ID» here etc, etc, etc It gives you speed 80% of time project is 80% ready
  • 7. Start from initial request It must be as short as possible It must describe key functionality And no tech here!
  • 8. Add some tech docs FOA describe business logic Depict data structures Add interfaces if needed Create test plan And you ready to go!
  • 9. Type less. Prefer drawings and schemes Compact as possible. Share it to your team before the first line of code General things about docs
  • 10. Automate it! Automate Magento installation Developer: 1.4, 1.7, 1.12, 1.13 QA: 1.4, 1.5, 1.6, 1.7, 1.11, 1.12, 1.13 Use a set of your own sample datas
  • 11. netz98-magerun PHP-driven can install magento in one command provide tons of service operations
  • 12. mg by aW (alpha) Python-driven has experimental web interface can install/backup magento can install side extensions in active development
  • 13. Automate it! Use tools to create extension skeleton
  • 14. CI Check silly things: version in xml, formatting, etc. Merge documentation in package Create missing templates for Magento EE Add license to files Deploy ready packages to your production Run Unit/Functional automatic tests
  • 15. 0 2,5 5 7,5 10 Magento installation Skeleton Package Large sample data Manual Automated
  • 16. Slowdown everything Move quality assurance into separate process Start developing before specification is complete Keep your code in a secret. It’s perfect! PHP is all what you need