Presentation is loading. Please wait.

Presentation is loading. Please wait.

Enterprise Development on a Shoestring Budget Zendcon 2013 Oct 9 2013 1.

Similar presentations


Presentation on theme: "Enterprise Development on a Shoestring Budget Zendcon 2013 Oct 9 2013 1."— Presentation transcript:

1 Enterprise Development on a Shoestring Budget EMAIL: CHRIS@CTANKERSLEY.COMCHRIS@CTANKERSLEY.COM TWITTER: @DRAGONMANTANK Zendcon 2013 Oct 9 2013 1

2 Who Am I?  Chris Tankersley  Been Doing PHP for 9+ Years  Lots of projects no one uses, and a few that some do:  https://github.com/dragonmantank https://github.com/dragonmantank  Worked in and with “enterprise” developers Zendcon 2013 Oct 9 2013 2

3 So what is “Enterprise”? What you think you are getting:  Robust, Powerful software  Structured to meet your needs  Standardized development and best practices What most of them really are:  Overly complicated  Unrealistic  $$$$$$$$$$$$$$$$$$$$$$$$$$$ Zendcon 2013 Oct 9 2013 3

4 So what is “Enterprise”? What you think you are getting:  Robust, Powerful software  Structured to meet your needs  Standardized development and best practices What most of them really are:  Overly complicated  Unrealistic  $$$$$$$$$$$$$$$$$$$$$$$$$$$ Zendcon 2013 Oct 9 2013 4

5 How do you become Enterprise?  Pass (parts) of the Joel Test  Project Management  Managed Environments  Automated Processes  Standards! Zendcon 2013 Oct 9 2013 5

6 The Joel Test 1. Do you have a spec? 2. Do you use source control? 3. Can you make a build in one step? 4. Do you make daily builds? 5. Do you have an up-to-date schedule? 6. Do you have a bug database? Zendcon 2013 Or at least the relevant parts Oct 9 2013 6

7 Project Management  Pick a project management style  SCRUM  Kanban  Generate a functional and technical spec  Formal documents  User stories  Stick with it Zendcon 2013 You can’t do work unless you know what needs to be done Oct 9 2013 7

8 Project Management Tools  Basecamp HQ  Planbox  Spreadsheet  Whiteboard/Corkboard Zendcon 2013 Oct 9 2013 8

9 Scheduling and Budgets  Take your specs, build a schedule  Take your specs, and put a price on your time Zendcon 2013 Oct 9 2013 9

10 Zendcon 2013 Fast Cheap Right You can only pick two, and these affect your schedule and budget. Oct 9 2013 10

11 Managed Environments Zendcon 2013 Oct 9 2013 11

12 Managed Environments  A work area with a specific purpose  Should have at least these three areas:  Development  Quality  Production  If you can, add ‘Integration’ before Production  Code always moves up, not down, the chain Zendcon 2013 Oct 9 2013 12

13 Development  Here Be Dragons  Code here is never considered stable  Can be any machine (local, a VM, space on a server, wherever) Zendcon 2013 Oct 9 2013 13

14 Quality  Code should always work here (ignoring bugs)  This is where your QA testers live  Should be as close to Production’s setup as possible  Should have logging and debugging on Zendcon 2013 Oct 9 2013 14

15 Integration  Production-lite  Used to catch deployment bugs  Uses production data  Should be EXACTLY the same as Production  Same OS, configuration, and version levels Zendcon 2013 Oct 9 2013 15

16 Production Zendcon 2013 Oct 9 2013 16

17 Managing Environments  Virtualization  Configuration Management Zendcon 2013 Oct 9 2013 17

18 Software Zendcon 2013 Oct 9 2013 18

19 Love your IDE  Pick an IDE (or a good text editor) and learn it  For text editing I prefer vim or SublimeText  For IDEs I prefer Zend Studio or PHPStorm  Pick what you use based on the power it gives you Zendcon 2013 Oct 9 2013 19

20 Source Control  Pick One, it doesn’t matter  But don’t pick Visual Source Safe  Make sure that it works with your other tools  When in doubt, use git Zendcon 2013 Oct 9 2013 20

21 Quality Assurance Setting up QA automation will help you find things that break  PHPUnit/Behat  Selenium/phantomjs + casperjs  PHPLOC  PHP Mess Detector  PHP_CodeSniffer  PHP Copy/Paste Dectector Zendcon 2013 Oct 9 2013 21

22 Continuous Integration  Act of automating build tasks  How is a PHP project built?  Check out the source code from the SCM  Run the unit tests  Run any code helpers  Build documentation  Packaging Zendcon 2013 Oct 9 2013 22

23 Continuous Integration Software  Jenkins  http://jenkins-php.org/ http://jenkins-php.org/  phing and xinc Zendcon 2013 Oct 9 2013 23

24 What about the real world? I’VE PAINTED A WONDERFUL PICTURE, BUT PUTTING IT INTO PRACTICE IS SOMETHING ELSE Zendcon 2013 Oct 9 2013 24

25 Get the pieces into place  Get Proper Specs  Get Source Control  Get Task/Bug Tracking  Get Environments  Get the tools Zendcon 2013 Oct 9 2013 25

26 Automate as much as possible  Every step (but the specs, scheduling, and budget) can be automated  You don’t have to automate all of the steps  Some automation is better than nothing  Start small Zendcon 2013 Oct 9 2013 26

27 Development  Get a good IDE/Text Editor that you are familiar with  Use the QA tools to make sure your code isn’t breaking  There’s a reason TDD/BDD keeps coming up at conferences  Keep track of bugs, and be strict about people following the process Zendcon 2013 Oct 9 2013 27

28 Questions? Oct 9 2013 Zendcon 2013 28

29 Thank You!  chris@ctankersley.com chris@ctankersley.com  @dragonmantank  https://joind.in/9091 Oct 9 2013 Zendcon 2013 29


Download ppt "Enterprise Development on a Shoestring Budget Zendcon 2013 Oct 9 2013 1."

Similar presentations


Ads by Google