There are many ways to start a new Neos-based project and there is a multitude of tools involved. These slides introduce a "perfect" way to set up a Neos project. A recording of the presentation is available at https://youtu.be/hWJSK0pE1H0
Disclaimer The term "best practice" along with "perfect" is very misleading. There is never the best solution, only a solution that is the best fit in a given situation. Keep your brain moving, question what you have and try something new every now and then. Take everything you are going to hear as something to think about, never as a rule. There is no silver bullet.
Some truths Doing development in sprints is not SCRUM. Kanban does not magically finish your project. Not giving a fixed price (or even an estimate) to your client might be hard. But spending days or even weeks to come up with a plan that will inevitably change anyway would be waste.
Think about Fusion. It seems intimidating at first, then you start to get the hang of it. And think "Ah, that's how it works!” Except it doesn’t. And then things start to feel awkward.
Neos plugin by Christian Vette https://github.com/cvette/intellij-neos Fluid plugin by Stefan Galinski https://www.sgalinski.de/typo3-produkte-webentwicklung/typo3-fluid-phpstorm-intellij/
Check security Consider using a service like Symfony Security Monitoring or implement something using the SensioLabs Security Checker or roave/security- advisories.
Must switch globally between PHP versions if needed, every project has the same environment (PHP modules, settings, …), specific tools a project needs would need to be installed on my machine, …
Repository of test/a Repository of test/b Repository of test/distribution Need to commit in three repositories Must update composer.lock after every change to test/a and test/b
Repository of test/b Repository of test/distribution and test/a Need to commit in two repositories; must update composer.lock after every change to test/b
Repository of test/distribution and test/a and test/b Need to commit in one repositories Must update composer.lock only after changes to dependencies in test/a or test/b
• Use path repository for composer • Exclude source folder from IDE • Ignore Packages in VCS • Composer will “install” via symbolic links • Dependencies are resolved as expected • One repository to rule them all
You have a managed server, but the hoster is inflexible. You must not change server settings yourself, but the admin is in a meeting. No access to log files, but the support sends the logs except the interesting line at the end. SSH is possible, but permissions don’t match. You need PHP 7, but are stuck at version 5.3, because of other customers on the same server. Every developer at some point in history