A lot of the OpenStack engineering processes, and tools supporting them, were actually really strong for an open source project from the ground up. The problem was that a lot of it was engineering for engineering's sake without a care in the world for usability or what someone would actually use the end result for.
Devstack is a great example of this, because it became a critical building block for continuous integration but also meant testing was more focused on whether you could run it on a developer laptop than ever get an actual cluster working.
Devstack is a great example of this, because it became a critical building block for continuous integration but also meant testing was more focused on whether you could run it on a developer laptop than ever get an actual cluster working.