how do we do it
DESCRIPTION
Presentation at Austin by Peter Samoilov(aheadWorks), June 2013TRANSCRIPT
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: [email protected] Samoilov
skypeto: p.samoilov