Professional Documents
Culture Documents
Kazman Metropolis Model
Kazman Metropolis Model
Trends
the rise of the socio-technical ecosystem the business trend towards service orientation
we are in the midst of a radical transformation of how we create our information environment this transformation is restructuring society; models of production and consumption Benkler calls this commons-based peer production
Service-Dominant Logic
Service industries account for 55% of economic activity in the United States Businesses have moved from a goodsdominant view, to a service-dominant view In this new view customers are seen as cocreators of value
A Sea Change
These changes are much more than just a shift from goods to services. They are a reframing of the purpose of the enterprise and its role in value creation. They are creating new phenomena, e.g. super-linear growth in projects, emergent behaviors in systems,
Existing system development models are all broken in a crowdsourced world. These models assume:
projects have dedicated finite resources management can manage these resources requirements can be known software is developed, tested, and released in planned increments system growth is sub-linear
A New Model
We suggest that a new model of the software lifecycle is needed: the Metropolis Model. This model helps us think about system creation that is commons-based and peer produced:
Mashability Conflicting, Unknowable Requirements Continuous Evolution Focus on Operations Open Teams Sufficient Correctness Unstable Resources Emergent Behaviors
1. Mashability
Old: we make systems difficult to tear apart, for historical, intellectual property and security reasons. New: mashability is a core capability of commons-based peer produced systems
mashups are accepted practice web-services are proliferating (e.g., Google Maps APIs). open source projects make it easy to interoperate; they are nonrival
Old: iterative lifecycles accept requirements change, but in any given iteration they try to collect and analyze those requirements. New: requirements in a peer-produced system emerge from its individuals, operating independently
requirements are never knowable in any global sense they will inevitably conflict, just as the requirements of a citys inhabitants often conflict
3. Continuous Evolution
Old: systems evolved in planned releases New: systems are constantly changing
resources are non-centralized and so a peerproduced system is never stable one can not conceive of its functionality in terms of releases any more than a city has a release parts are being created, modified, and torn down at all times
4. Focus on Operations
Google, eBay, Amazon .... as reliable as a public utility implies high availability, scalability, and seamless evolution
5. Open Teams
Old: closed team of developers who work from a consistent set of requirements New: volunteer projects and decentralized production processes with no managers
teams are diverse with differing, sometimes irreconcilable, views even for-profit companies need to lead and motivate knowledge workers
6. Sufficient Correctness
collaborative tagging does not depend on widespread agreement among the taggers Wikipedia never claims to be complete or even fully correct
7. Unstable Resources
Old: Resources and their deployments are planned New: Applications that are peer-produced are subject to the whims of the peers
large numbers tend to ameliorate the actions of any individual despite the lack of guarantees, unstable resource pools have resulted in significant computational achievements
8. Emergent Behaviors
Old: Goal was deterministic behavior New: Emergent behavior is normal and desirable
SecondLife, eBay, and MySpace have seen complex human and system behaviors emerge that were beyond the vision and intent of their creators
Logic: the formal principles of a branch of knowledge; a particular mode of reasoning viewed as valid or faulty -- Merriam-Webster Old models (and their principles) are inadequate What are the principles upon which we can build a new model?
Kernel
Egalitarian Management Bifurcated Requirements Bifurcated Architecture Fragmented Implementation Distributed Testing/V&V Distributed Delivery/Maintenance Ubiquitous Operations
1. Egalitarian Management
Management of projects is not top-down Work is not assigned; people undertake the work they choose Status and rights are earned
2. Bifurcated Requirements
deliver little or no end-user value focus on quality attributes and tradeoffs slow to change contributed by the peer network deliver the majority of the function and end-user value rapidly changing
2) periphery requirements
3. Bifurcated Architecture
designed by a small, coherent team highly modular provides the foundation for the achievement of quality attributes enabled by and constrained by the kernel otherwise unspecified
2) peripheral services
4. Fragmented Implementation
using their own tools, to their own standards, at their own pace
5. Distributed Testing/V&V
6. Distributed Delivery/Maintenance
seldom changing, and when it does change it must be backwards compatible constant stream of independent, uncoordinated releases no notion of a stable system state
7. Ubiquitous Operations
Traditional systemseven highly reliable onescould be taken down occasionally for maintenance and upgrades. Metropolis systems are always on, even when upgrading
For some projects there are no implications There will always be projects that are:
Implications - 2
However, there is an increasingly important class of projects to which the Metropolis model applies. So, the question is:
what should crowdsourced projects do differently from the way projects are built and managed today?
Implications 3.
A Metropolis project implies a virtual organization. To manage such a project the periphery must share in its success. The project must:
be (largely) self-governing and self-adaptive have a clear task breakdown structure, but a minimum of hierarchy and bureaucracy have technology for communication and coordination
Implications: Requirements
Requirements are primarily asserted by the participants, not elicited from their users. Requirements emerge through their emails, Wikis, and discussion forums.
So such forums must be made available, and the participants should be encourage to participate
Implications: Architecture
The kernel architecture must be built with a small, experienced, motivated team who focus on modularity
manage project coordination have the final say in matters affecting the kernel
Implications: Implementation
The project can guide, but not command, implementation. This implies the need for
a focus on communication, negotiation, and leadership. good tutorials and examples an attention to usability (simplicity, learnability) of the kernel
Implications: Testing/V&V
it is the fabric that holds together the system keep the kernel small have frequent builds
Implications: Delivery/Maintenance
Implications: Operations
Final Thoughts
Lifecycle models arise in reactions to ambient market conditions. The Metropolis Model is formally capturing a phenomenon that is already occurring: the dramatic rise of commons-based peer production. If an organization wants to take advantage of this it needs to understand it, and needs to understand how to foster it.
We are now working on creating a lifecycle model that realizes the principles of the Metropolis Model.
Thank You
Backup Slides
E*Trade: http://www.businessweek.com/technology/content/nov2006/tc200 61113_151490.htm Bank of Tokyo-Mitsubishi: http://soa.sys-con.com/node/312331 Bank-Anywhere.com: http://www.bank-anywhere.com/96825/ Forbes Magazine: http://www.forbes.com/technology/2008/07/27/it-shadow-gamestech-cio-cx_dw_0728shadow.html Blogspot: http://businessmashup.blogspot.com/2008/04/mashups-infinancial-arent-just-for.html