how do we do it

17
How do we do it? Peter Samoilov, aheadWorks Co.

Upload: peter-samoilov

Post on 24-Jun-2015

372 views

Category:

Technology


2 download

DESCRIPTION

Presentation at Austin by Peter Samoilov(aheadWorks), June 2013

TRANSCRIPT

Page 1: How do we do it

How do we do it?Peter Samoilov, aheadWorks Co.

Page 2: How do we do it

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

Page 3: How do we do it

Must-have dev tools

Version control. Mercurial or Git.

Debug tools. XDebug, Firebug, etc.

Good IDE. Netbeans, Phpstorm, Eclipse

Page 4: How do we do it

Docs

protects you from general anarchy

makes new product robust and clear

shares knowledge within your team

Page 5: How do we do it

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

Page 6: How do we do it

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

Page 7: How do we do it

Start from initial request

It must be as short as possible

It must describe key functionality

And no tech here!

Page 8: How do we do it

Add some tech docs

FOA describe business logic

Depict data structures

Add interfaces if needed

Create test plan

And you ready to go!

Page 9: How do we do it

Type less. Prefer drawings and schemes

Compact as possible.

Share it to your team before the first line of code

General things about docs

Page 10: How do we do it

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

Page 11: How do we do it

netz98-magerun

PHP-driven

can install magento in one command

provide tons of service operations

Page 12: How do we do it

mg by aW (alpha)

Python-driven

has experimental web interface

can install/backup magento

can install side extensions

in active development

Page 13: How do we do it

Automate it!

Use tools to create extension skeleton

Page 14: How do we do it

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

Page 15: How do we do it

0

2,5

5

7,5

10

Magento installation Skeleton Package Large sample data

Manual Automated

Page 16: How do we do it

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

Page 17: How do we do it

mailto: [email protected] Samoilov

skypeto: p.samoilov