+ All Categories
Home > Technology > Enterprise Development on a Shoestring Budget

Enterprise Development on a Shoestring Budget

Date post: 28-Nov-2014
Category:
Upload: chris-tankersley
View: 1,837 times
Download: 0 times
Share this document with a friend
Description:
No matter what language you use, developing code is the same ñ spec, code, deploy, maintain. The “Big Boys” have teams to manage each task, but what happens when you don’t? I’ll go over some different methods for maintaining internal and external programs that are cheap, open source, and make your life easier. PHP has a plethora of tools for us to use to effectively code and maintain our projects; and the best part is that they are generally inexpensive or even free. The trick is finding and using these tools effectively in a workflow that the developer can use.
Popular Tags:
29
Enterprise Development on a Shoestring Budget EMAIL: [email protected] TWITTER: @DRAGONMANTANK Z e n d c o n 2 0 1 3 O c t 9 2 0 1 3 1
Transcript
Page 1: Enterprise Development on a Shoestring Budget

Zen

dco

n 2

01

3

1

Enterprise Development on a Shoestring Budget

EMAIL: [email protected]

TWITTER: @DRAGONMANTANK

Oct 9

20

13

Page 2: Enterprise Development on a Shoestring Budget

Zen

dco

n 2

01

3

2Who 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

Oct 9

20

13

Page 3: Enterprise Development on a Shoestring Budget

Zen

dco

n 2

01

3

3So 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

$$$$$$$$$$$$$$$$$$$$$$$$$$$

Oct 9

20

13

Page 4: Enterprise Development on a Shoestring Budget

Zen

dco

n 2

01

3

4So 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

$$$$$$$$$$$$$$$$$$$$$$$$$$$

Oct 9

20

13

Page 5: Enterprise Development on a Shoestring Budget

Zen

dco

n 2

01

3

5How do you become Enterprise?

Pass (parts) of the Joel Test

Project Management

Managed Environments

Automated Processes

Standards!

Oct 9

20

13

Page 6: Enterprise Development on a Shoestring Budget

Zen

dco

n 2

01

3

6The 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?

Or at least the relevant partsO

ct 9 2

01

3

Page 7: Enterprise Development on a Shoestring Budget

Zen

dco

n 2

01

3

7Project Management

Pick a project management style SCRUM

Kanban

Generate a functional and technical spec Formal documents

User stories

Stick with it

You can’t do work unless you know what needs to be doneO

ct 9 2

01

3

Page 8: Enterprise Development on a Shoestring Budget

Zen

dco

n 2

01

3

8Project Management Tools

Basecamp HQ

Planbox

Spreadsheet

Whiteboard/Corkboard

Oct 9

20

13

Page 9: Enterprise Development on a Shoestring Budget

Zen

dco

n 2

01

3

9Scheduling and Budgets

Take your specs, build a schedule

Take your specs, and put a price on your time

Oct 9

20

13

Page 10: Enterprise Development on a Shoestring Budget

Zen

dco

n 2

01

3

10

Fast

Cheap

Right

You can only pick two, and these affect your schedule

and budget.

Oct 9

20

13

Page 11: Enterprise Development on a Shoestring Budget

Zen

dco

n 2

01

3

11

Managed Environments

Oct 9

20

13

Page 12: Enterprise Development on a Shoestring Budget

Zen

dco

n 2

01

3

12Managed 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

Oct 9

20

13

Page 13: Enterprise Development on a Shoestring Budget

Zen

dco

n 2

01

3

13Development

Here Be Dragons

Code here is never considered stable

Can be any machine (local, a VM, space on a server, wherever)

Oct 9

20

13

Page 14: Enterprise Development on a Shoestring Budget

Zen

dco

n 2

01

3

14Quality

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

Oct 9

20

13

Page 15: Enterprise Development on a Shoestring Budget

Zen

dco

n 2

01

3

15Integration

Production-lite

Used to catch deployment bugs

Uses production data

Should be EXACTLY the same as Production Same OS, configuration, and version levels

Oct 9

20

13

Page 16: Enterprise Development on a Shoestring Budget

Zen

dco

n 2

01

3

16ProductionO

ct 9 2

01

3

Page 17: Enterprise Development on a Shoestring Budget

Zen

dco

n 2

01

3

17Managing Environments

Virtualization

Configuration Management

Oct 9

20

13

Page 18: Enterprise Development on a Shoestring Budget

Zen

dco

n 2

01

3

18

Software

Oct 9

20

13

Page 19: Enterprise Development on a Shoestring Budget

Zen

dco

n 2

01

3

19Love 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

Oct 9

20

13

Page 20: Enterprise Development on a Shoestring Budget

Zen

dco

n 2

01

3

20Source 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

Oct 9

20

13

Page 21: Enterprise Development on a Shoestring Budget

Zen

dco

n 2

01

3

21Quality 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

Oct 9

20

13

Page 22: Enterprise Development on a Shoestring Budget

Zen

dco

n 2

01

3

22Continuous 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

Oct 9

20

13

Page 23: Enterprise Development on a Shoestring Budget

Zen

dco

n 2

01

3

23Continuous Integration Software

Jenkins http://jenkins-php.org/

phing and xinc

Oct 9

20

13

Page 24: Enterprise Development on a Shoestring Budget

Zen

dco

n 2

01

3

24

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

Oct 9

20

13

Page 25: Enterprise Development on a Shoestring Budget

Zen

dco

n 2

01

3

25Get the pieces into place

Get Proper Specs

Get Source Control

Get Task/Bug Tracking

Get Environments

Get the tools

Oct 9

20

13

Page 26: Enterprise Development on a Shoestring Budget

Zen

dco

n 2

01

3

26Automate 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

Oct 9

20

13

Page 27: Enterprise Development on a Shoestring Budget

Zen

dco

n 2

01

3

27Development

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

Oct 9

20

13

Page 28: Enterprise Development on a Shoestring Budget

Zen

dco

n 2

01

3

28Questions?O

ct 9 2

01

3

Page 29: Enterprise Development on a Shoestring Budget

Zen

dco

n 2

01

3

29Thank You!

[email protected]

@dragonmantank

https://joind.in/9091

Oct 9

20

13


Recommended