This is a seminar I gave throughout China the week of Oct 29th 2012. It covers the topics of Agile Software Development (Scrum, Lean, XP) and the new framework of Enterprise Cloud Development that CollabNet has been socializing. Please contact me for similar private talks at your company.
Competitive time to market pressures and innovation requirements, along with a host of new development and deployment options are resulting in an explosion of applications across a wide range of platforms (e.g., mobile, web, client-server, and embedded). To address the need to manage the development and deployment of this rash of new applications and platforms, industry is integrating 3 megatrends trends into its IT processes– agile, Devops, and the leveraging of hybrid cloud resources.The first trend is the adoption of agile processes. Agile adoption is growing fast and customers are realizing the value. The primary value realized is time to market and productivity improvements resulting from the rapid response to change that agile brings. A recent presentation from Forrester indicates that 40% of all development teams are implementing agile today. But most enterprises still use a hybrid mix of processes, and these companies need methods to manage this wide mix of hybrid approaches.The second megatrend is the convergence of development and operations into what today is being called DevOps. Much of this is actually being driven from the adoption of agile across the organization, and its extension from development into continuous IT service delivery. It’s also being seen in the increased collaboration that’s occurring between development, test, and IT operations staff in many organizations. We’re seeing developers taking more and more responsibility for deployment (as market analyst firm Ovum suggests in the quote included), with operations folks taking on more of an overseeing role. Agility and mixed processes are driving a rash of increasingly frequent application iterations into operations with less inconsistent application delivery processes which is affecting application quality, user satisfaction, and leading to spiraling costs. Companies need an integrated, collaborative, and automated process for managing this increasingly more complex set of application delivery techniques. Automating DevOps is still in its infancy in most enterprises today, but Gartner expects that by 2015, 20% of all large organizations will have merged development and operations processes, up from fewer than 5% today.The third megatrend is the use of the cloud for development and deployment, but more specifically the hybrid cloud. Hybrid cloud development and deployment is the distribution of development, test, deployment, and runtime tasks between on-premise, private and public clouds to optimize cost, performance and productivity. Workgroups from companies of all sizes are seeing the advantages of adopting cloud development and deployment more rapidly across the board than enterprises today as rapid provisioning of services with flexible pricing is offsetting the total cost of ownership of managing their development and runtime infrastructure themselves. The need for the use of hybrid cloud for development and deployment is primarily being driven by larger organizations that are looking to embrace the cloud incrementally in a hybrid way at their own pace, given their existing investments in on-premise tools, applications, and infrastructure. Larger enterprises are seeing a lot of value today, for example, in elastic access to build and test resources in the cloud, and deploying to public cloud PaaS and IaaS platforms, but over time they will look to the cloud for more. While workgroups are experiencing great benefits, this “shadow IT’ is leading to issues in enterprise architecture integration difficulty, lifecycle support costs, IP governance, and enterprise visibility.Saugatuck Research predicts that 75% of new software development projects will be in the cloud by the end of 2012, and 50% of software deployments will be in the cloud by the end of 2014. A flexible enterprise platform to manage agility and DevOps across a wide range of internal and external clouds is a requirement for companies to manage their increasingly diverse application development and platforms.
Gmail was invented during 20% time
To address the enterprise issues on the previous slide, new development approaches, technologies and resiliencies must be re-evaluated for the enterprise • to understand and implement realistic spans of control to manage hybrid cloud development and deployment • while still empowering the individual workgroups to work with the “right reusable set” of agile and mixed processes to meet their project objectives Led by CollabNet and its business partners and clients, we have developed this “balanced approach” do to just this – it’s called Enterprise Cloud Development (ECD). Enterprise Cloud Development (ECD) is an emerging IT category that represents the ongoing maturity of cloud development practices. It provides organizations a secure and compliant path to manage development and deployment in a hybrid cloud environment, and enables them to embrace the benefits of the cloud at their own pace. Achieving the large gains of Enterprise Cloud Development has its challenges, and requires a deliberate, well-conceived and well-executed blueprint. The CollabNet ECD Implementation Blueprint outlined on this page provides the approach.We’ve developed this ECD blueprint through a decade of innovative yet practical engagements working with companies of all sizes doing agile development in the cloud. CollabNet has supported customers from a few developers to tens of thousands of developers inside of the same company (i.e. 60K users at Cap Gemini). No other company in our space can speak to that kind of scale in the enterprise. Some development environments of our customers are in our cloud, some are on premise and in customer clouds, and some are actually in a combination of on premise private and public clouds. Depending upon the level of adoption, we’ve seen customers achieve anywhere from 10 to 80% improvements in cost savings, productivity, and time-to-market acceleration (based on the level of adoption of agility, collaboration, and enterprise rollout scale) through the adoption of Enterprise Cloud Development, all while meeting their corporate compliance requirements. Note that both value and enterprise wide collaboration and leverage will increase as organizations adopt the principles outlined in the Blueprint.
Provide central access for development and deploymentGain control of software assetsConsolidate fractured and disparate teams and assetsCreate a centralized cloud Plug-in and collaborate Securely manage codeProtect IP assetsCentrally manage and securely access code and back-upsGovernance policiesManage all software assetsFormal (code, issues, builds) and informal (discussions, reference material) assetsVersion control, searching, indexing and associationsTraceabilityLeverage point and legacy toolsCommon platform servicesOrchestration and traceability across applicationsEnforce access control, enterprise-wideSecure access across the enterpriseEnforce access compliance
Drive collaborative developmentOrganize software projectsOrganizational alignment, collaboration and reuseStandard community structures across organizationFast-track project launchesFast initiation of new projects with standard project templatesCodify enterprise development processes with project templatesShorten learning curve with common project templatesSecurely on/off-board project membersManage security across the enterprise – users and projectsEfficiently and quickly on and off-board project membersProvide transparency and traceabilityQuick access to assets and artifactsApplication of corporate security and permissions for searchesTraceability and association with any point in the application development and deployment lifecycle
Optimization of software development processesCustomer satisfaction by rapid delivery of useful softwareBusiness responsive software development teams Highly motivated self organizing teams Improved productivity and release velocityOptimize pathway from product concept to deliveryImplement integration, automation and practicesSDLC Tools standardizationOptimization of common SDLC tools workflowVisibility and traceability through SDLC toolsProcess streamline through automationImproved visibility of development processProvide software development metricsOptimize communication to business and product stakeholdersImplementation of a visible development and release pipeline