Here are five smells seen in organizations that are not fully cross functional and are trying to simulate cross functionality with some variation of “DevOps“.
- The development team doesn’t have a fully local development stack on their machines/pairing stations.
- Someone other than the development team deploys the software. (The exception being an automated continuous deployment created/owned by the development team)
- Someone other than the development team owns the build/continuous integration process (or you don’t have one at all)
- The development team can’t create/deploy a simulated production environment for any version of the software with data in under 60 minutes.
- The deployment process is not fully automated with the ability to automatically rollback.
The above definition of “development team” is the team writing the application.