- Adopted the agile software delivery process throughout IT replacing the traditional waterfall method
- Slided and diced 'development / delivery' resources in different ways to provide accountability to the segment of the business they are working on
- Adopted a more collaborative approach between IT Operations and IT development/delivery
The traditional
That being said, there are many companies that arrange teams like- Development - the people making the code
- QA - the people writing and executing automated testing
- Operations - the people that take the code and run it at scale
- Network / security - the people that own infrastructure networking
- DBA - the people that performance tune and own databases
The start up
In contrast a new start-up website may have a very small team of- Development doing QA and 'deployment'
Now lets assume that start-up is successful and needs to scale fast to complete in the market, would they scale by subdividing teams in the 'traditional model' or use an alternate model that fosters being 'lean' and 'agile'? I actually think the team structure would be
- Small infrastructure team - providing infrastructure services like
- spinning up new (disposable) instances
- a monitoring / alerting service / framework
- a standard deployment tooling service / framework
- Large delivery team based around a service. The team would consist of
- Amazing coders on the technology
- A QA consultant to assist those amazing coders with the ability to write test coverage and automated testing
- A operations consultant that can either take the infrastructure tooling and extend it to the project/service - or work the the 'amazing coders' to enable them to build and deploy systems at scale