Download
enterprise development on a shoestring budget n.
Skip this Video
Loading SlideShow in 5 Seconds..
Enterprise Development on a Shoestring Budget PowerPoint Presentation
Download Presentation
Enterprise Development on a Shoestring Budget

Enterprise Development on a Shoestring Budget

105 Views Download Presentation
Download Presentation

Enterprise Development on a Shoestring Budget

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Enterprise Development on a Shoestring Budget Zendcon 2013 Email: Chris@ctankersley.com Twitter: @dragonmantank

  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 • Worked in and with “enterprise” developers Zendcon 2013

  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

  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

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

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

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

  8. Project Management Tools • Basecamp HQ • Planbox • Spreadsheet • Whiteboard/Corkboard Zendcon 2013

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

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

  11. Managed Environments Zendcon 2013

  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

  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

  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

  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

  16. Production Zendcon 2013

  17. Managing Environments • Virtualization • Configuration Management Zendcon 2013

  18. Software Zendcon 2013

  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

  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

  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

  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

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

  24. What about the real world? Zendcon 2013 I’ve painted a wonderful picture, but putting it into practice is something else

  25. Get the pieces into place • Get Proper Specs • Get Source Control • Get Task/Bug Tracking • Get Environments • Get the tools Zendcon 2013

  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

  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

  28. Questions? Zendcon 2013

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