Title The transformational impact of devops on software delivery.
Student Name
Student ID
Student University
Abstract
This report includes the understanding and the system thinking concepts on the transformational impact of the devops team on the software delivery. In this report, the detailed description of the devops impacts on the agile delivery teams is described. Based on the nature of the project the appropriate SDLC model needs to be selected and tailored. In this document it is mentioned to get at the secret sauce of enabling business competitiveness of clients while leveraging Digital, Agile and DevOps in this report.
Contents
TOC o 1-3 h z u Introduction PAGEREF _Toc3422314 h 4System Dynamics Thinking approach on the transformational impact of devops on software delivery PAGEREF _Toc3422315 h 6Planning for effective use of Agile and DevOps PAGEREF _Toc3422316 h 7Development PAGEREF _Toc3422317 h 8Environment PAGEREF _Toc3422318 h 9Testing PAGEREF _Toc3422319 h 10Representative example of automation tools adoption for DevOps PAGEREF _Toc3422320 h 10DevOps impact to Software Delivery PAGEREF _Toc3422321 h 10Conclusion PAGEREF _Toc3422322 h 17References PAGEREF _Toc3422323 h 18
The transformational impact of DevOps on software delivery
IntroductionAgile, DevOps, delineation of systems of record vs. systems of engagement etc. stem from ITs aspiration of accelerating time-to-market of usable code in production, in places where it matters the most. These are potent constructs when applied well, since they take an end-to-end view of IT development and deployment (rather a software development only view), and focus on IT output.
Principles of the transformational impact of DevOps on software delivery Dynamics and Complexities
The desire of business is anyway unique everything should constrain from a business and client sway stance and is required yesterday (quicker arrival of a bigger amount of code into creation does not fundamentally energize the business). Henceforth the handy thought of Business intensity is convincing business-innovation capacities that are discharged quickly to the market joined by the imperative dimensions of meticulousness (traversing business procedures and IT) combined with achievement client experience. The customary IT approach of guaranteeing that the new business-innovation capacities are convincing depends on the quality of the Requirements Management process, the business case, client information sources, contribution and criticism, ROI estimations, and so on. While helpful, these develops have missed the mark in verifying the accomplishment of numerous IT anticipates. The narrative of an expansive association that pursues spotlights why Digital and IT Agility without anyone else isnt adequate to guarantee business aggressiveness The association had numerous achievements surprisingly, including a class table-fixing endeavor grade App Store with a few income creating applications joining incredible industry experiences and front line IT capacities, and supporting exchanges more than many billions of every year. Attributable to advertise elements, the association entered an extreme period and at a basic crossroads the CEO issued an open message to all representatives with numerous comments Our cost base is swollen by poor and ineffectual procedures, out of date and lacking innovation, an excessive number of assignments being finished utilizing difficult work, and, too often, fruitless interests in our foundation. A lot of our well deserved incomes are spent along these lines. We should re-engineer our inner procedures (Bass, 2018). We should institutionalize our frameworks and systems, decommission inheritance programming, institutionalize and upgrade our information, and improve our announcing.
The diagram below provides a representative view of the considerations that influence selection of SDLC model, and this to be refined on a case-by-case basis
Source (Bass, 2018)
System Dynamics Thinking approach on the transformational impact of devops on software deliveryThe systems thinking approach appears differently in relation to conventional investigation, which ponders systems by separating them into their different components. System thinking conversely, centers in how the thing being considered collaborates with alternate constituents of the system. This implies as opposed to secluding littler and littler pieces of system being considered, system thinking works by growing its view to consider bigger number of associations. This bigger association now and again results in strikingly unexpected ends in comparison to those produced by conventional types of investigation explicitly when the thing being considered. System thinking has its establishment in the field of system elements, established in 1956 by MIT Professor Jay Forrester. systems believing are an all-encompassing way to deal with investigation that centers around the manner in which that a systems constituent parts interrelate and how systems work after some time and inside the setting of bigger systems. It very well may be utilized in any territory of research and has been connected to the investigation of medicinal, ecological, political, and financial, HR, and instructive systems, among numerous others. System thinking can concoct arrangements notwithstanding for those issues for which arrangements dont appear in clear terms. This is because of various methodologies that the issue gets handled and has not been done previously. At the point when the issue is broken into little pieces the arrangements likewise winds up less demanding to spot and confined into an extreme arrangement.
There are numerous contrasts between on-premises computing and cloud computing. The absolute clearest attributes incorporate the most greatest distinction how they are gotten to. On-premises computing are only that, on-premises, introduced on a clients or clients PCs. Cloud computing, then again, are gotten to through the web, and commonly facilitated by a third-gathering merchant. The second enormous contrast is the pay as you go or on-request utilization administration demonstrate (cloud) versus the conventional forthright capital consumption (on-premises). For bookkeeping purposes, checking this on-request use as an utility versus an expansive capital use can be exceptionally useful. Once in a while this is one of the additionally alluring parts of utilizing cloud benefitsthe minimal effort/low section point. Sherpa Softwares President, Kevin Ogrodnik, investigated the complete expense of responsibility for administrations versus on-premises computing and touched base at unexpected outcomes in comparison to routinely foreseen.
Planning for effective use of Agile and DevOpsDevelop each release in a way such that it is modular and focused on one or a few business deliverables, e.g. for a Consumer Goods organization it could be shelf information, directions for a better merchandising very much like apps in an Apps store, to improve adoption levels by the business and reduce the time to breakeven. Focus on releasing a Minimal Viable Product (MVP) since time-to-market is critical. Also helps to gain continuous involvement of the business, to help business outline their needs in detail and receive feedback from end consumers. Build incrementally, in iterations. Decide up front on the number of iterations within each release and incorporate agile practices across the organization (the number of releases is based on back-office or front-office capability, scale). Limit changes within a Sprint. Adopt relevant Agile principles Sprint planning, prioritization, product backlogs, daily scrum meetings, collaboration, feature burn-down charts, build and test daily, etc. Work with simpler, minimal documentation and processes in line with the team dynamics and emphasize end deliverables rather than the activities that make it. Adopt a Quality Engineering approach that looks at the run-time engineering quality of the code and not just testing. Ensure adequate engineering attention is to be paid to cycles of integration testing in the overall application landscape data migration non-functional requirements such as performance and best practices from a Cybersecurity perspective, to ensure flawless releases (Dornenburg, 2018)
Adopt specialized roles such as Scrum Master, Product Manager, etc. Ensure Business Analysts are part of the offshore team to ensure quicker progress on requirements. A representative distribution of roles in Agile projects is shown below
Source (Dornenburg, 2018)
DevelopmentDetermine feasibility and freeze core Architecture in Sprint 0 at start of project
Wireframes / framework should be frozen before development. However, plan for evolution of Frameworks
Dependencies and inter-relationship of configuration items needs to adequately factored in to eliminate issues associated with parallel releases. This is akin to air space management by air traffic controllers at airports (Ebert, Gallardo, Hernantes amp Serrano, 2016)
Gain from Service Virtualization aided by tools such as CA Lisa and Stubby to reduce dependencies between parallel work streams this enables development and testing teams to accelerate release times
Automate development wherever possible using code generators and 3rd party libraries
Use of Reference architecture across Apps and Infra, to aid building and deployment of business-IT modular components adherent to design standards. These would enable development of new products and services based on plug-and-play than coding all the time
Rigorous adoption of SCM process clear branching and merging strategy in a continuous Build environment
Use of Agile tracking tool with features for daily stand ups and sharing the whiteboard with story and task cards updates
EnvironmentDevelopment, Testing, Pre-Production boxes should mirror Production to the extent feasible (critical for large / complex projects)
Adopt a central integrated platform for Backlog item management and code base
Standardize and automate Build and Integration environment (GUTTA, PRASAD amp ANGARA, 2016)
TestingAdopt sanity checks using a Testing Harness prior to code check-in
Adopt Test Driven Development (TDD) approach
Use extensive automation in Testing
Use automated comparison to ensure data accuracy in data migrations
Representative example of automation tools adoption for DevOps
Source - (GUTTA, PRASAD amp ANGARA, 2016)
DevOps impact to Software DeliveryAgile and DevOps are both iterative methodologies that focus on moving quickly. With Agile, youre trying to test your assumptions as soon as possible so that you can fail early and fail fast. With DevOps, youre creating a culture of continuous improvement, automating everything, and trying to bring value to the customer as soon as possible (Jabbari, bin Ali, Petersen amp Tanveer, 2018).
Source - (Jabbari, bin Ali, Petersen amp Tanveer, 2018)
There are many factors that contribute to a successful Agile DevOps implementation, but today we will focus on 6 key concepts Lean thinking, product-oriented teams, micro services architecture, automated governance, measurement.
Lean provides a solid and well-tested foundation for Agile DevOps, while microservices and automated governance empower product-oriented teams to go fast and deliver value to the customer. However, executing on the vision is only half the battle. Its crucial to set KPIs and capture metrics to determine if the new methods are truly benefitting the business.
For some context on what can be achieved with Agile DevOps, a survey of 1,770 senior business and IT executives showed that organizations that add DevOps practices to an Agile environmentimprove new business growth by 38 more than using Agile alone. Agile DevOps also increases operational efficiency by 23, compared to using Agile alone.
Sounds great, right Well, as usual, the devils in the detail. (Kersten, 2018)
1. Lean
At its core, Agile DevOps is the logical progression of the Lean principles set forth by the Toyota Motor Corporation in the 1970s. These principles include
Creating value for the business
Eliminating waste (muda)
Continuous improvement (kaizen)
Respect for people
Excellence
Its critical to practice minimum viable products, build, measure and learn, minimize work in progress, and maximize flow. These principles provide a proven framework that will help guide you towards a better methodology for developing software and using Agile and DevOps together.
2. Organization Project vs. Product
Project-oriented teams are temporary teams that work on a given project for anywhere from a few months to a year. Project team members belong to different groups or functions and are assigned to certain activities within the project. Once the project is complete, the team is disbanded and the members move on to new projects. The end result is that the application is created and cared for up until delivery, at which point it is handed to a Product Manager. For this reason, project thinking tends to be more effective for small companies with few distinct products.
Product-oriented teams have a broader perspective, where they focus on the customer and the continued success of the product. They run product development and support on a long-term basis for the duration of the products life. They own implementing, executing, and maintaining the product.Having a long duration of ownership where theres persistence is absolutely critical to success (Laukkarinen, Kuusinen amp Mikkonen, 2018).
Increased ownership and responsibility
Code and design consistency across the product
Easier to maintain smaller products as opposed to a monolithic codebase
Long-term product vision teams started thinking about modularity, reusability, scalability, etc.
The structure of an organization with product-oriented teams looks like this, with product teams surrounded by shared services and shared capabilities.
Source - (Laukkarinen, Kuusinen amp Mikkonen, 2018)
This diagram brings up a common question regarding the need for specialists. For an example, does every product team have to have a security expert Well, yes and no. Theres a security function in the organization that has security experts. But everybody on the product team needs to understand the best practices to develop secure software from the beginning to the end.
Every time you start a new project or kick off a new product development, the shared services team should be part of the kickoff. The shared services team helps shepherd the product along the way.Everybody shares in the success of the product team.
The Puppettalks about product-oriented teams being critical to success. This is a very important aspect to moving forward, breaking down silos, and making your team more effective in an Agile DevOps context.
3. Architecture
Microservices architecture empowers product-oriented teams, enables Agile release strategies, and simplifies test and maintenance (because componentized architecture is smaller and more contained, it tends to be easier to manage).
However, dont do microservices for the sake of microservices.Perform an intelligent analysis of your application and break up various pieces of it as necessary. In the case of a relatively stable Legacy application, its possible that it doesnt need to be changed. If youre starting from a green field, it might make sense to start off with a monolith, do a MVP (Minimum Viable Product) that way, then break the monolith up into microservices.
The bottom line is thisonly do microservices if theyll deliver value to your customer.
4. Automated Governance
Automated governance at key control points is another component of Agile DevOps. Try to automate all the scanning of code. Build artifacts in an artifact repository, or automate the release out the door. Try to automate these things as much as possible so that your end-to-end goal posts are the only places where someone has to manually check and catch issues.
5. Measurement
Every step in the CI/CD pipeline is rife with opportunities for a KPI to be captured. Its important to capture as many of these KPIs as possible so that you can apply them to your process. KPIs to track might include lead time to production, defect resolution time, number of code branches, production downtime, mean time between failures, rework rate, unplanned work rate, etc (Payton, 2013).
This step is essential for optimizing the software development lifecycle, delivering value to customers, and measuring the success of Agile DevOps initiatives.
6. Value Stream Management
It enables you to capture every step of your development process and its accompanying metrics, so that you can then apply a KPI to it. Eventually, this process allows you to see all of the progress being made, from the amount of lead time to the amount of process time. You can pinpoint the problem areas that need to be sped up or optimized acrossmultipleproduct lines, not just a single stream of work. It provides a top-level view of whats happening in the organization.
With a value stream management product, you can see the entire pattern of work flowing through your tool chain. The right value stream management tool should provide you with analytics, optics, and various viewpoints whether youre a release manager, developer, or product manager.
Think about implementing change, delivering results, and measuring impact. Once you measure that impact with KPIs and see how your customers are responding, then its time to think about the next step to improve.
All Roads Lead to the Customer
ConclusionUltimately, Agile DevOps is a way of thinking that requires a cultural shift in the organizations it serves. People within the organization need to understand what their roles are for delivering value to the customer. A software engineers job is to create a product thats going to be used by customers. By the same token, operational folks that are hosting, managing, and enabling the production of software need to realize that they are also serving the customer. In order to keep pace with market demands and pull ahead of competitors, the whole organization must get on the same page about delivering value to the customer (Spinellis, 2016).
ReferencesBalalaie, A., Heydarnoori, A., amp Jamshidi, P. (2016). Microservices Architecture Enables DevOps Migration to a Cloud-Native Architecture.IEEE Software,33(3), 42-52. doi 10.1109/ms.2016.64
Bass, L. (2018). The Software Architect and DevOps.IEEE Software,35(1), 8-10. doi 10.1109/ms.2017.4541051
Callanan, M., amp Spillane, A. (2016). DevOps Making It Easy to Do the Right Thing.IEEE Software,33(3), 53-59. doi 10.1109/ms.2016.66
Dornenburg, E. (2018). The Path to DevOps.IEEE Software,35(5), 71-75. doi 10.1109/ms.2018.290110337
Ebert, C., Gallardo, G., Hernantes, J., amp Serrano, N. (2016). DevOps.IEEE Software,33(3), 94-100. doi 10.1109/ms.2016.68
GUTTA, S., PRASAD, S., amp ANGARA, J. (2016). DEVOPS PRODUCT LINE ENGINEERING (DPLE) WHERE DEVOPS MEETS SOFTWARE PRODUCT LINES.PONTE International Scientific Researchs Journal,72(11). doi 10.21506/j.ponte.2016.11.35
Jabbari, R., bin Ali, N., Petersen, K., amp Tanveer, B. (2018). Towards a benefits dependency network for DevOps based on a systematic literature review.Journal Of Software Evolution And Process,30(11), e1957. doi 10.1002/smr.1957
Kersten, M. (2018). A Cambrian Explosion of DevOps Tools.IEEE Software,35(2), 14-17. doi 10.1109/ms.2018.1661330
Laukkarinen, T., Kuusinen, K., amp Mikkonen, T. (2018). Regulated software meets DevOps.Information And Software Technology,97, 176-178. doi 10.1016/j.infsof.2018.01.011
Payton, R. (2013). DevOps Troubleshooting by Kyle Rankin.ACM SIGSOFT Software Engineering Notes,38(6), 42-42. doi 10.1145/2532780.2532793
Spinellis, D. (2016). Being a DevOps Developer.IEEE Software,33(3), 4-5. doi 10.1109/ms.2016.76
What is DevOps - Amazon Web Services (AWS). (2019). Retrieved from https//aws.amazon.com/devops/what-is-devops/Want disciplined DevOps software delivery It takes six steps. (2019). Retrieved from https//searchsoftwarequality.techtarget.com/tip/Want-disciplined-DevOps-software-delivery-It-takes-six-stepsHow to Improve Software Delivery Performance - DZone DevOps. (2019). Retrieved from https//dzone.com/articles/how-to-improve-software-delivery-performanceKulesza, J. (2019). DevOps Software Delivery Done Correctly. Retrieved from https//spin.atomicobject.com/2015/05/08/devops-software-delilvery-done-correctly/
1,212,718Orders
4.9/5Rating
5,063Experts
Turnitin Report
$10.00Proofreading and Editing
$9.00Per PageConsultation with Expert
$35.00Per HourLive Session 1-on-1
$40.00Per 30 min.Quality Check
$25.00Total
FreeGet
500 Words Free
on your assignment today
Get
500 Words Free
on your assignment today
Request Callback
Doing your Assignment with our resources is simple, take Expert assistance to ensure HD Grades. Here you Go....