Do we have these skills already? If not, what skills do we need? Also, please note that ebizQ will be exploring this question in depth at Cloud QCamp on June 3rd, which you can register for right here.
Add a Reply
Recently Commented On
-
Will case management eclipse BPM in importance this year? (12)
Dave Duggal wrote: Good question to start the New Year... [more]
-
What are your BPM predictions for 2012? (15)
Christopher Taylor wrote: With a new Gartner Quadrant out for... [more]
-
What modeling techniques should be used for capturing case management processes? (5)
Dave Duggal wrote: Hi Peter - Thanks for raising the p... [more]
-
What was the biggest development for the cloud for 2011? (2)
John Michelsen wrote: The biggest development for the clo... [more]
-
How big of a role does BPMN play in today's projects? (18)
Theo Priestley wrote: Depends where you're starting from ... [more]
Tag Cloud
Blogs
- Agilization
- All Things Social
- Anatomy of Agile Enterprise
- Andre Yee's Security Insider
- Anne Stuart’s BPM in Action
- BI in Action
- BPM and the Social Enterprise
- BPM from a Business Point of View
- BPM in the Cloud(s)
- BPM Insights
- BPM: Theory to Practice
- Business Ecology Initiative & Service-Oriented Solution
- Business IT Buzz Blog
- Business Transformation in Action
- Business-Driven Architect
- Cloud Talk
- Column 2
- Data at Your Service
- Dion Hinchcliffe's Next-Generation Enterprises
- ebizQ Mobile CRM Enterprise Integration
- ebizQ's Business Agility Watch
- Enterprise Architecture Matters
- Enterprise Mashups in Action
- First Look
- Governing the Infrastructure.
- Ground-Floor BPM
- Information Architected for Business
- Integration Innovation
- Integration on the Edge: Data Explosion & Next-Gen Integration
- IT as a Catalyst for Optimal Business Outcomes
- IT Directions
- James Taylor's Decision Management
- Kiran Garimella's BPM Blog
- Leadership BPM
- Leveraging Information and Intelligence
- Making Sense of Business Information.
- Manage Tomorrow's Surprises Today
- New Frontiers in Business Intelligence
- Open Source Software Up the Stack
- Pragmatic Software Design
- Process Makes Perfect
- Process POV (Process point of View)
- Putting the ‘M’ back in BPM
- Ronan Bradley's FinanceTech Directions
- SaaS Week
- Security Matters
- SMA's Insurance Transformation, Where Strategy Meets Action
- Smart Systems in Business
- SOA - Integration Industry Pulse
- SOA Visionaries
- Software Infrastructure for Business Value
- Software Test Management and Metrics
- Tech Blog
- Tech for Tomorrow
- Technology Management Insights
- Ted Cuzzillo's BI
- The Architect Insider
- The Connected Web
- The Healthcare Blog
- The Mike Rothman Security Report
- The Performance Principle
- Twenty-Four Seven Security
- Where SOA Meets Cloud
| ADVERTISEMENT |



I don't think Developers and IT Managers have skills ready to develop applications in the cloud right now, majority of them are in their early stages. Some early adopters of cloud who had a strong partnership with Sales Force have developed some applications in Force(Cloud offering from Salesforce) platform using Apex/Force proprietary plaftorm. If I ask my team to use SF cloud platform I have to make sure they are trained in Apex/Force. Microsoft and Oracle have their own cloud offering . Windows Azure from Microsoft has a big advantage for developers they can use Visual Studio Tools and .Net Programming skills. My answer is if a IT Team is SOA ready then they are ready for Cloud Development.
Some developers and IT managers may need to get up to speed on the latest web-oriented programming languages. More importantly, the developers will need to become more focused on the usability of their applications rather than the functionality alone. They will also have to adopt agile development techniques aimed at continuously enhancing their cloud-based applications rather than accummulating customer requests over an extended period of time. IT managers must become adept at evaluating the reliability, security and performance of cloud computing services, and contracting for these services in the same way they have become accustomed to contracting for telecom or internet access services.
In one sense developing cloud based tools and apps isn't that different from typical software development. Yet, there are differences -
Developing for cloud based apps is a combination of building rich websites and enterprise scale software applications. The user experience (UX) is uniquely different since it marries the web based interface with the complex interactions of an enterprise application. Look at my blog post on RIAs and SaaS applications to see how the UX will change dramtically.
Managing the testing, deployment of a cloud based solution is also different because when it gets released, all your users get the new code at the same time - staging a release, while possible, is not easily done.
There are other differences
The most important for the developer is to be aware to the integration and connectivity. Once you put something on the cloud, it becomes remote. Not in your LAN. So existing integration may not work or will require new set of security, monitoring and reliability assurance.
The IT manager need to look into the feasibility of moving to the cloud. I refered to that in my BLOG.
Other important issue is the ability to move from one cloud provider to another or back to the home office.
Noam
Of course there are new tools and technology considerations to learn, but the main differences lie in process and lifecycle management.
Cloud development is inherently more collaborative, not only within the development team but also allowing much closer interaction with business managers and users. That in turn leads to a much more iterative development style, with the ability to run up prototypes very quickly and get frequent feedback from users, ensuring the final result is much closer to delivering what the business needs.
Developers need to become proficient in agile development and they also have to interact well with users and be attuned to business results and best practice.
The application lifecycle changes too, with shorter, more incremental update cycles and ongoing functional maintenance rather than infrequent 'waterfall' upgrades. IT's role in turn becomes more strategic, responsible for ensuring that application performance, functionality and cost continues to meet the needs of the business.
I agree with Andre's basic premise of development techniques being consistent. The skills required will be different relative to the reason for going to the Cloud. If the Cloud development is for elasticity and on-demand Cloudbursting, then developers need to really understand the impact to their application and the impact of high-volume transactions. Many developers believe that the environment will handle all this for them, when it typically falls down under severe stress. If the Cloud represents outsourced data center or disaster recovery, then the skills should be the same regardless of where the application gets hosted.
Looking at JP Morgenthal's second comment, it strikes me that there are two completely separate kinds of cloud development being discussed here:
1) Cloud infrastructure development, ie what skills do you need to build a cloud or to implement an application stack to the cloud as an extension of your IT infrastructure
2) Cloud application development, ie what skills do you need when using the cloud or platform-as-a-service to build and maintain applications for your business
So maybe another skill IT people need to learn is to let someone else take care of the infrastructure!
I would like to take JP Morgenthal's point further. I think that we should distinguish between the kinds of applications being developed. Traditional Web applications, which are usually stateless, require similar development skills regardless of the manner in which they are operated (Cloud or On-Premise). When it comes to rich interactive applications, which are statefull, the story is entirely different. Deploying such applications in the Cloud calls for taking a tightly coupled synchronous design and implementing it in a loosely coupled asynchronous architecture. Few PaaS and Cloud platforms (such as Force or uniPaaS) take care of this, so the development skills required are a small increment to the current ones (a matter of a few days of training). But trying to develop such an application without a Cloud enabled platform, for example with JEE at the backend and JavaFX at the front, reminds me of the Titanic story and the hidden iceberg. It required many more skills to deal with session, context and state management as well as the communication and security between the Front and Backend tiers – calling for the addition of system programmers to the application development team. My recommendation joins Jeff Kaplan's - IT managers should examine carefully the desired solution functionality and design constraints, and in case of a statefull application evaluate one of the Cloud enabled application platforms before venturing into “traditional� development (and a high probability of hitting an iceberg).