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 Shane Hastie on Jan 24, 2011
As is normal at the beginning of a new year predictions about where industry and practice are heading abound. Two commentators who have gazed into their own crystal balls are Mario Moreira and Scott Ambler. Both predict the continued adoption of agile practices across more and more organisations, and the adaptation of agile techniques to larger and more distributed teams, with an emphasis on more structured implementations.
In his Agile Journal article “Sunny with a Chance of Agility – Agile Predictions for 2011” Mario Moreira predicts:
On Job Security:
I predict that we will see a significant growth in software engineering jobs that include an Agile element to them. In general, we are seeing a growth in the use of Agile methodologies and practices in the software industry. Many of the new positions are now mentioning Agile as one of the job requirements. The implication is that they are looking for people who have worked within an Agile context so that when they join the new company, they bring Agile experience
On Structure:
As product teams become more mature so do their Agile practices. While Agile has been utilized in large projects for several years now, it is still new to many. With that in mind, I expect to see more formality in deploying Agile. This is especially true since Agile is no longer a budding trend but maturing where patterns are emerging that lead to more successful Agile deployments.
As teams approach Agile, it will be important to consider the starting conditions before getting started. While some would like to say, “Let’s just get started doing Agile”, it may be better to consider a methodical or strategic approach to the deployment of Agile.
On Tools:
As we look into 2011 and the future, we will see more focus on providing comprehensive Agile tooling capabilities within an Application Lifecycle Management (ALM) framework. The value of having an ALM framework is that it allows a product team to manage customer needs from business case development to delivery. When tools support this framework, it can help streamline and reduce the effort in supporting the process.
Scott Ambler’s predictions in his article "2011 Prediction: Organizations will Continue Applying Agile Strategies at Scale" focus on the need to scale agile practices to large teams, distributed teams and regulated environments. He says “as organizations experiment with applying agile at scale they will observe that they’re succeeding and choose to continue with tailoring agile to meet their needs”.
He goes on to talk about the importance of adopting what he calls an “Agile Scaling Model”:
This begs the question how do you go about scaling agile in practice, and this is where the Agile Scaling Model (ASM) comes in to play. The ASM is a contextual framework which defines a roadmap to effectively adopt and tailor agile strategies to meet the unique challenges faced by a system delivery team. Mainstream agile development processes and practices, of which there are many, have certainly garnered a lot of attention in recent years. They’ve motivated the IT community to pause and consider new ways of working, and many organizations have adopted and been successful with them. However, these mainstream strategies, such as Scrum or Agile Modeling (AM), are never sufficient on their own – as a result organizations must combine and tailor them to address the full delivery lifecycle. When doing so the smarter organizations bring a bit more discipline to the table, even more so than what is required by core agile processes themselves, to address governance and risk.
He lists eight categories that need to be considered in the scaling of agile practices to larger and more complex environments:
1. Team size
2. Geographical distribution
3. Regulatory compliance
4. Domain complexity
5. Organizational distribution
6. Technical complexity
7. Organizational complexity
8. Enterprise discipline
In the article he discusses the implication of each of these factors on the application of agile techniques in organisations.
On the theme of agile adoption James Shore blogged in 2010 with some practical advice on how to bring about Large Scale Agile adoption:
1. Create High-Performance Work Cells
2. Use Kanban to Manage Cross-Team Workflow
3. Manage the Portfolio With a Dedicated Team
4. Use Bounded Contexts to Minimize Dependencies
5. Monitor the System Using Lean Techniques
6. Sacrifice Reuse in Favor of Throughput
7. Keep Communication Flowing With Scrums of Scrums
What are your predictions for 2011 – where is Agile heading now?
Shane Hastie is an agile coach, trainer and consultant working for Software Education in Australia & New Zealand
How ALM Drives Business/IT Alignment, Competitive Advantage
Agile Maturity Model Applied to Building and Releasing Software
Five Key Practices to Agile ALM
Improving Software Delivery Cycles: Pre-requisites and Inhibitors
Visual Studio vNext: ALM features for Agile Planning, Team Collaboration
Learn how Application Lifecycle Management can support your business processes in this exclusive presentation by David Chappell.
I see 2 distinct trend in agile adoption - which may dilute the movement.
1. Checklist based adoption
2. Any iterative development being classified as agile.
setandbma.wordpress.com/2011/01/05/agile-trends...
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.
1 comment
Watch Thread Reply