Agile software development practices have been transforming AD organizations for more than a decade. With more rapid development cycles has come a bottleneck at the deployment boundary - at the frontier between Development and Operations. The DevOps movement is working to remove this bottleneck, and in the process is transforming both Dev and Ops for the better. In many respects it is a logical evolution of the agile movement, but practices like continuous deployment are deeply transformative of the way that organizations think about customer engagement, business engagement, testing, development and requirements - in fact, nearly every aspect of agile development is subtly but powerfully affected. The implication of a check-in resulting in code being deployed to production gives a whole new emphasis to the word "commit"!
At the OpenStack Summit in Portland last week, the open-source cloud platform got real, to echo Forrester’s cloud team predictions for 2013. At the busy gathering attended by over 2,400, suits mingled effortlessly with hoodies and deep-tech design committee meetings were sandwiched between marquee-name customers sharing success stories. Three core themes drove the show, as outlined by Jonathan Bryce in the opening keynote: the OpenStack technology platform has matured, the ecosystem is vibrant, and the global user footprint now includes enterprise customers doing real business.
The show followed on the heels of the Grizzly release, the 7th release of the OpenStack platform. Along with stronger support for VMware and Microsoft hypervisors, Grizzly widens block storage options and includes 10+ new enterprise storage platform drivers and workload-based scheduling. A wide range of new network plugins expand the platform’s software-defined networking options and a sexier Dashboard to access, provision and automate resources.
In theory, the agile Product Owner is a simple yet compelling solution to a tough problem: the development team needs, and often does not get, clear direction from the business. The ability to eliminate the confusion caused by the cacophony of voices of multiple stakeholders, and the ability to have continuous engagement with the business, certainly make the Product Owner attractive to the development team. And the business benefits, too: they, in theory, get continuous visibility into project health and status. Buried in that last sentence is the phrase that often sinks good ideas: "in theory", and therein lies a problem.
When we are developing software and find components that have responsibilities too broad for one component to encompass, we "refactor" it, breaking it down into a set of components with more manageable and cohesive sets of responsibilities. We have an analogous problem with the Product Owner, whose responsibilities are so broad as to be nearly impossible for one person to fulfill. In brief, the Product Owner is expected to:
Understand the needs and desired outcomes of the business
Negotiate consensus among stakeholders
Represent the interests of all stakeholders to the development team
Define the characteristics of solutions that meet the desired outcomes
Be a change agent in the organization to support the solution
Communicate and promote the vision to all interested parties
Define and prioritize items on the Product Backlog