Download presentation
Presentation is loading. Please wait.
Published byAnabel Tate Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.