Cloud Foundry: Design and Architecture
Derek Collison discusses the goals, the design premises and patterns employed in creating the architecture of Cloud Foundry, VMware’s open source PaaS, unveiling internal architectural details.
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Vikas Hazrati on Aug 25, 2009
Traditional software development teams are supposed to work within the confines of the software 'Iron triangle'. The three sides of the triangle are Scope, Schedule and Cost. Since Agile places a lot of emphasis on quality, it is often considered a dimension which sits at the middle of the triangle. For any project to succeed there is a need to manoeuvre one of the dimensions keeping the others relatively constant. Most Agile teams vary the scope and keep a tab on Cost, Schedule and Quality.
Jim Highsmith suggested that the Iron triangle, imposes a lot of constraints on the flexibility of the Agile teams and suggested an alternate Agile Triangle.
According to Jim,
Many agile teams are now caught in a dilemma. On one hand they are told to be agile, flexible, and adaptable, but on the other they are told to conform to pre-planned traditional Iron Triangle framework of scope, schedule, and cost. In essence they are being told “be flexible in a very small box.” Agile teams are striving to meet one set of goals and managers and executives are measuring against another set.
Jim suggested that the Agile triangle consists of the following vertices
He suggested that though the constraints are important project parameters but they are not the goal of the project. He added that,
Value and Quality are the goals and constraints may need to be adjusted as the project moves forward to increase customer value. Schedule might still be a fixed constraint, but then scope could be adjusted to deliver the highest value within the schedule constraint.
Jim also suggested that the focus of development should be on the releasable product rather than the implemented scope. Agile teams should ask the question “Does the product have enough capability to release today?” This would help maintain a strategic focus for the product rather than keeping a focus on the detailed requirements.
He admitted that though Value and Quality are difficult to measure as compared to Cost and Schedule, however, focus should be more on measuring value delivered via a releasable product rather than trying to precisely calculate less important things like the constraints of the Agile triangle.
It’s much better to have fuzzy measures of really important things that precise measures of less important things.
Thus, according to Jim, Agile teams should focus on the releasable product rather than getting constrained by the iron triangle. The three vertices of the iron triangle collapse into one vertex of the Agile triangle called constraints. The other vertices i.e. value and quality define the goals, they are of utmost importance to the stakeholders and need more attention.
Five Key Practices to Agile ALM
Agile Practices to Improve Project Management Organization (PMO) Effectiveness
Agile Maturity Model Applied to Building and Releasing Software
Maximize your business-responsiveness with Mingle. Provide your global development team a shared space that adapts to the way they work.
A rethink is required in 4 dimensions:
- Project Funding
- Method of Interaction
- Definition of Defect
- Measure of Success
setandbma.wordpress.com/2008/06/14/agile-adoption/
Now welcome to the real world. I love Agile and it works but as a consulting company how do I write up a contract for this?
Well agile contracts do exists. There is even a workshop for this:
www.poppendieck.com/agilecontracts.htm
Derek Collison discusses the goals, the design premises and patterns employed in creating the architecture of Cloud Foundry, VMware’s open source PaaS, unveiling internal architectural details.
Andrew Watson talks about the work of the OMG, where CORBA is alive and well (hint: in your car), UML and UML Profiles vs. custom Modeling languages, DDS and other middleware, and much more.
Sohil Shah discusses creating iPhone and Android enterprise mobile applications based on cloud services using the open source platform OpenMobster.
Paul Sanford presents the transformations supported by data throughout its life cycle, and how that can be better done with Splunk, an engine for monitoring and analyzing machine-generated data.
A common “best practice” for unit tests is to only write a one assertion in each test. I intend to question this advice by showing that multiple assertions per test are both necessary and beneficial.
John Rauser presents the architectural and technological evolution of Amazon retail websites starting with 1994 and ending with adopting Amazon Web Services.
Michael Stal discusses system architecture quality, how to avoid architectural erosion, how to deal with refactoring, and design principles for architecture evolution.
Every developer has had to integrate with another system, API or component. Tis article provides strategies to handle the change and for he separating system boundaries.
3 comments
Watch Thread Reply