One company, one work’s infrastructure
Jul/094
Well, I was working in many develop’s companies since now. And the first thing I learned is:
“Whitout a unique, static, strict and complete work’s infrastructure is imposible that your company grow up.”
The employee came in and come out, but the code stay here, at company.
Think a new employee that arrive at company. Whitout a work’s infrastructure, this person will develop in her computer, use google source to save you source or directly, will writte source in production. Then, some time before, the developer go out; And you, as CEO, will have a problem.
What this person has done so far? How many things has he changed? And where?
Then, the only solution is spend the time of your new developer only to check all the source’s status.
Note: How said in Spain: “Cada maestrillo tiene su librillo” This isn’t the panacea. Only some tips to unify infrastructure, or simples ideas for everyone.
First: Spare and Control
Spare your jobs in three or four states.
- [own developer zone] This isn’t necesary, but soo recomended. All developer have here her own zone to develop and check her own source. Usually, this zones stay in developer’s PC.
- Develop zone. How it said, it’s the only zone where is “allowed” write code. If any change have to do, this must be do in this zone.
- Preproduction zone. When one step has been done and check, then it “go up” to preproduction zone. This zone can be see for the client. To check, change or approve the project’s steps. The only think that you have to do here is change the config parameters acording to preproduction system.
- At last, Production zone. Here, only source’s updates and config changes are “allowed”. This are been seeing to all internet, and errors here “can’t existis”1.
Note: It’s recomended that all states stay in diferent machines. What will be happen if a bug into developer zone kill the apache’s server?
Ok, but how control this new job’s flow?
Well, this is too simply with a version control system. Like Subversion (SVN) or Concurrent Versions System (CVS)2. This server will be in other or in dev3 machine.
This services take the control for you of the updates, commits, merges,… Only job in “dev” (or user’s dev) zone, where you can commit, and update the “pre” or “pro” zones with this sources. It’s so simply and have so much power.
This is only the first step. I will writte two or three more post to splain this and powered it.