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 Feb 08, 2011
In his famous book “The world is flat”, Thomas L. Friedman talks about the convergence of events which led to many countries becoming a part of the global supply chain. This resulted in definition of new rules of economics. Israel Gat takes the concept further to suggest that software development has ceased to be location dependent, thanks to Social networking and collaborative techniques.
Historically, using Agile with Offshore software development has worked well albeit with some challenges. Martin Fowler described his experiences with Agile and offshore and mentioned the pros and cons of the combination. Jeff Sutherland described the way SirsiDynix used Scrum to integrate with the offshore development team. On similar lines, Thushara Wijewardena, suggested the benefits that Kanban could bring to offshore projects. According to her,
I see that Kanban together with some scrum disciplines will also be a good combination. Its all about trying out these methods in offshore environment and seen the benefits, drawbacks and improving your offshore - agile practices.
Kuadriga mentioned a lot of benefits that they observed when they started using Scrum for offshore development. According to them,
What we find is that SCRUM is extremely helpful in breaking down barriers of distance and increasing mutual trust in the team. "Team building" activities are necessary for successfully launching new teams and it is useful to let all team members meet a few times a year.
However, is the advent of social networks, cloud and Kanban changing the dynamics of outsourcing?
Israel suggested,
Software is no more a world of places – Silicon Valley, Seattle, Bangalore, Krakow or Tel Aviv. Rather, software is fast becoming a world of work streams. These streams are tied together through social networking and collaborative techniques in which virtual team spaces replace the site, the conference room, the metaphorical shelf on which the software artifacts are stored… and the water cooler.
According to Israel, the three main drivers for software being developed as a world of streams are
Israel suggested that development managers can utilize these trends very effectively.
Forward-looking development managers already utilize the three trends to achieve impressive results in productivity, time-to-market and cost of software. They “acquire” talent on a per-task basis wherever it resides through marketplaces such as those mentioned above. They procure computing resources inexpensively, when they need them, through the good services of Amazon Web Services or similar providers. And, they effectively oversee the work stream(s) of dispersed programmers and testers through Kanban tools. These three ingredients of the ‘secret sauce’ are immediately available to anyone who is willing to take the initiative to use them.
According to Israel , the combination of above factors would significantly diminish the value add perceived by pure play offshore outsourcing. According to him the development managers themselves can harness the power of social network and get software development done using tools like LeanKit Kanban, oDesk, Sococo and/or uTest instead of relying on an outsourcer to bring talent to the table. This would significantly change the dynamics of outsourcing.
Thus, though Agile methods have historically worked well for offshore development however, with the world getting flat, the emergence of cloud and the focus on techniques such as Kanban the outsourcing model is likely to change. As Israel described,
I would be a little nervous these days if I were in the outsourcing business. My ability to recapture value through labor arbitrage is being eroded by the twin ‘brothers’ – Social Networking and Kanban. A third ‘brother’ – Cloud Computing – enhances and accelerates the erosion.
Agile Maturity Model Applied to Building and Releasing Software
Agile Practices to Improve Project Management Organization (PMO) Effectiveness
Improving Software Delivery Cycles: Pre-requisites and Inhibitors
Branching & Merging Efficiently: A Guide to Using Process-Based Promotional Patterns
In today’s hyper-competitive world, later may be too late to adopt Agile development and this Roadmap for Success will help you get started. Download "Agile Development: A Manager's Roadmap for Success" now!
I am not very sure what impact social networking & cloud is having on Offshore Software Development, but there are several hurdles for an offshore company to adopt agile.
For example, most of the Indian IT companies have heavily invested in CMMi process - they need to figure out how CMMi & Agile can co-exist.
setandbma.wordpress.com/2008/12/01/off-shoring-...
Udayan, though that is true do you believe that development managers have an easier access to skills given the social networks and also that theoretically, given the cloud, small organizations are not at an infrastructure disadvantage as they were earlier? It sounds like quite a catalyst ...
Using Social Network tools to bring closer the distributed teams, is certainly a good idea. It would work well along the mechanisms like sharing gossip and chit-chat before work talk, as Martin Fowler mentions in his article.
We have found its useful to place an offshore team member some some period with the client, in order to bridge the cultural divide resulting the reduction of communication gaps and misunderstandings.
I do not believe outsourcing is used for labor arbitrage any more. Its about the value-add derived for the business. The value-add includes both lesser cost along with same or superior technical skill set.
Kanban will definitely help in working as a team using the right-sourcing. social n/w can bridge the culture-gap and improve team motivation, nothing more.
As far as Indian companies are concerned, they have a long way to go in adopting to agile methodologies. Till last decade, they had been pushed by the clients to showcase their waterfall model skills, with emphasis on documentation.
I didn't know you had written an article up about SirsiDynix
You point to it being a success story but it was far from that. The project they were doing offshore scrum on (Horizon 8) was canceled - in part due to many overruns in the project. The US developers I talked to point blame the russian developers for substandard code and constantly breaking things in the build.
You should look deeper into the SirsiDynix experience and not just take that story at face value. I would hardly consider a very expensive failed project a shining example of good offshore development.
I am the PM of an offshore team in China, we are also utilizing Scrum here, Kanban, Basecamp, Wiki, Internal S/N tools, from the feedback from my team members, Video Conf is the best, to compare with the tools, our dev/qa love the VC much better, which make our virtual more effecient. Regarding to the cloud service, we don't get a chance to work with that, as our boss from US say no on this. Anyway, at least in my team, people are very happy to make the daily call w/ our US peers.
"though Agile methods have historically worked well for offshore development": what?
It's probably better to say that they have helped in limiting the damage!
I think we need to totally redefine the model.
Can social net + agility + cloud helps? Anything that goes into the direction of closing gaps and give flexibility helps.
My 2€ cents,
PierG
pierg.wordpress.com
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.
7 comments
Watch Thread Reply