Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>It is an involved question, but generally there are three major improvements you need to make to improve your processes.</p> <p><strong>Use version control</strong></p> <p>If projects are on a shared disk, I assume there's just a folder with the current state of each project. It is easy for developers to overwrite each other's changes, there's no history, and you can't be sure if a project is in a consistent state or something is currently broken.</p> <p>Choose a version system and start using it. It's less important which one (of free ones - SVN is OK and more "centralized", git or mercurial are great and allow greater flexibility), but it's more important that any change, no matter how small, always goes through the version control.</p> <p><strong>Simplify promotion, deployment and rollback</strong></p> <p>There is probably a sequence of steps needed now to move from localhost to dev, and from dev to production - synchronize files, restore the database to a known state, configure server-specific settings... There may be a document describing what needs to be done, or it could be tribal knowledge. Your goal should be to begin simplifying and automating that, achieving a single command or script to do all the work needed to synchronize a server (local, dev or production) to a revision of a project in your source control.</p> <p>By automating deployment, you can be sure all necessary actions are done in proper order, and you will not have mistakes in deployment that can happen even when all files are correct but some configuration or command was not run, breaking the site.</p> <p><strong>Introduce testing</strong></p> <p>How do you know that the revision you've just deployed not only compiles properly, but works as expected? For each non-trivial project, you should have tests to verify the most important functionality (login, adding stuff, producing reports, etc.) to make sure that the changes made by developers left the site operating properly.</p> <p>There are testing frameworks specifically for testing web apps (<a href="http://seleniumhq.org/" rel="nofollow noreferrer">Selenium</a> comes to mind). Study them and apply them. Ideally this testing suite would be run as part of the one-liner deployment script.</p> <hr> <p>Once you have done those, you've come a long way to having an orderly, predictable, and resilient development process. Your clients and your developers will thank you for that :)</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload