Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Right Path to Enterprise Agility and IT Modernization

32 views

Published on

Orchestrate the right path to Enterprise Agility and IT Modernization using Cognizant’s OneAgility Unified Reference Platform

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Right Path to Enterprise Agility and IT Modernization

  1. 1. © 2017 Cognizant, Agile Practice © 2017, Cognizant Technology Solutions. All RightsReserved. The information containedhereinissubject to change without notice. Immersive Workshop Plan ● Pace ● Scale Agility OneAgility Platform
  2. 2. © 2017 Cognizant, Agile Practice2
  3. 3. © 2017 Cognizant, Agile Practice3 Sprint 0 Early Sprints Mid Sprints Release Agile planning Portfolio, Product Planning Release, Sprint planning SCRUM sprints SCRUM sprints Hardening & Release Agile team Management, Product Owner Product Owner, Scrum master Agile Pod Agile Pod Agile Pod, Ops team Modern IT arch Concept Architecture Base Architecture Skeleton & Plumbing Wireframes and basic flows User experience and core flows Live App DevOps Platform IT Platforms Continuous integration Continuous testing Continuous delivery Continuous monitoring Planning Story Map Product Backlog MVP Protos MMP Rollout Live App
  4. 4. © 2017 Cognizant, Agile Practice Daily process for each Sprint MODERN ENGINEERING (Sprint Part 2 – 30 min) Build Modern Team (7-9) Discuss ALP SCM Strategy Log & Application Monitoring PRODUCT PLANNING & MODERN ARCHITECTURE (Sprint 0 – 15 min) Load & Security Test Monitoring (Post – 15 min) Improved Agility Code and Unit Test (TDD) SPRINT PLANNING & MODERN DEVELOPMENT (Sprint Part 1 – 30 min) Update Sprint Backlog & Burndown Release 2.0 Backlog Sprint Planning (Given ALP Feature) Checkin and Build Code Review & Code Quality Build and Execute ATDD & BDD Tests 85%60%40%25%Discuss Modern Team Rolesand Responsibilities Discuss ALP Microservices Architecture Sprint Backlog (User Stories& Tasks) Daily Standup Discuss ALP Deployment Pipeline Test Automation Deploy Automation Test Coverage Configuration Automation Release Automation Metrics& Dashboards Sprint Review & Retro Review Strategic Themes, Prioritized Epicsand Features 4
  5. 5. © 2017 Cognizant, Agile Practice PRODUCT PLANNING AGILE PLANNING & MODERN DEVELOPMENT PRODUCT PLANNING & MODERN ARCHITECTURE MODERN ENGINEERING MONITORING & METRICS REPORTING
  6. 6. © 2017 Cognizant, Agile Practice The Auto loan processingapplicationisdesignedfor financingthe existingPlatinumCustomersof EZ Bank withvery minimal informationgatheredfromthe user and withoutneedto collect any additiondocuments.It helpsthe customers withan easy vehicle loanapplication,approval and tracking process. © 2017 Cognizant OneAgility Lab: Interaction 6
  7. 7. © 2017 Cognizant, Agile Practice Digital SolutiontoApply for AutoLoan 7 Current Situation Auto Loans are paper based Approval Process takes a long time Desktops/Tabs Full featured display on Desktops and Tablets Branchvisit in Person Online Complete Online process automated Time to Market Auto Loan processed with in a day WHO – Specificuser or class of users WHAT – Specificuser enablement WOW – Specific and Differentiating value for the user Jane, a platinum customer of EZ Bank, can seamlessly manage her auto loan application process with all-in- one web portal, spending less than 5 minutes and gettingdecision in 60 seconds
  8. 8. © 2017 Cognizant, Agile Practice OneAgility Lab: Interaction StrategicThemes provide the enterprise withthedifferentiators tomove from the current state to a more desirable, future state.They helpdrive innovationandcompetitive differentiationachievable onlythrougheffective portfolio solutions. 8
  9. 9. © 2017 Cognizant, Agile Practice Release 1.0, EZ bank was successfullyable todeploythe New Auto Loan Applicationfeature andsubsequenttrackingof its status through the approval process,publishthe loan paymentschedule and manage paymentoptions.It has beena big success story for EZ Bank. OneAgility Lab: Interaction 9
  10. 10. © 2017 Cognizant, Agile Practice EZ Bank has approachedthe “Immersion”team to implementthe “Used Car Assessment”feature as part of Release 2.0 roadmap 10
  11. 11. © 2017 Cognizant, Agile Practice BUILD MODERN TEAM AGILE PLANNING & MODERN DEVELOPMENT PRODUCT PLANNING & MODERN ARCHITECTURE MODERN ENGINEERING MONITORING & METRICS REPORTING
  12. 12. © 2017 Cognizant, Agile Practice “Ron as servantleader, removes barriers, upholdsscrumvalues and practicesfor the team” Scrum Master “Alan verifiesthefunctionality to ensurequality,buildandexecutes testcases,log defects,ensuresthe regression testsuiteisautomated, buildsautomated BDD andATDD testscriptsandreporting” Quality Engineer “Rita developsand unittestthe requirements,fixesdefects, triggers builds,alignswith architectural runway.Helps in establishingthedelivery pipeline,buildsand maintains tools fordeployment, monitoringandoperations” Full Stack Developer “Annaprioritizesproduct backlogto maximizeROI, creates stories,release plan and product roadmaps,communicates and nurturesthevision with theteamand stakeholders” Product Owner 12
  13. 13. © 2017 Cognizant, Agile Practice MODERN ARCHITECTURE AGILE PLANNING & MODERN DEVELOPMENT MODERN TEAMS & MODERN ARCHITECTURE MODERN ENGINEERING MONITORING & METRICS REPORTING
  14. 14. © 2017 Cognizant, Agile Practice14 ALM SCM Commit code CI Pull code Deploy Automation Deploy artifacts Environments On-demand Code Review Code Analysis Static Code Analysis DB deploy DB Changes Config Automation reports App, Env Configs Release Management Dashboard reports reports Artifact repo Package repo ITSM Pull Packages Audit / Tracking Pull Artifacts Traceability - ITSM Tickets for Release Update build (code to build traceability) Requirement traceability Trigger build Update status using API reports Code review comments to SCM traceability Log Mgmt & Monitoring reports On-demand Dev QA UAT Prod App Config MW, DB OS On-demand Controlled Env Unit Test Build Run Unit Tests Functional Test Automation Acceptance, Regression
  15. 15. © 2017 Cognizant, Agile Practice3 Continuous Planning Collaborative Development Continuous Deployment Continuous Monitoring Continuous Quality AssociatedTechnologies KeyDevOpsPractices OverarchingPrinciples Log Mntrng. App Mntrng. Sys Mntrng. Dashboard CONCEPT DEFINE DELIVER DEPLOY EVOLVE PRODUCT 1 2 3 4 5 Environment Provisioning Config Mgmt Deploy Automation Release Automation DB Deployment Mobile Deployment Code Inspection Test automation Profile, Perf & Load Test Service Virtualization Test Data Management Mobile Testing 6 Platform ContainerCaaSPaaSIaaSVM 4 Agile ALM Test & Defect Mgmt Release Mgmt ITSM Design Tools Dev Env Code & Binary Repository BuildTDD Code Tools CI Collab Tooling Mobile dev Platforms Prototype Tools OneAgility Lab: Interaction
  16. 16. © 2017 Cognizant, Agile Practice16 Document WebSphereApp Server RestServices Wifi/4G HTTP Angular JS based HTML 5 Pages JS Files & CSS MemberDB Micro Services Desktop,Tablet,Smartphone JSON Tomcat Controller JS Angular JS Web Application Register New User Authentication Loan Application DB New Loan Application Application Status Upload Documents
  17. 17. © 2017 Cognizant, Agile Practice17 SpringBoot ContainerSpring Boot Starters Data Access LayerSpring data Cross Cutting Session Management Http Session. Security Spring Security Authentication Exceptions Handling Spring Exception. Logging Sl4j Codenvy DEV TOOLS Java 1.8 Quality Tools Code Quality SonarQube Service Layer Business Logic Domain Object Model Validations JSR 303 Spring Boot CLI UI Build Tools Gulp Gradle Web / Presentation / Client MVC Layer UI Scripts jQuery 1.9.1 UI Presentation HTML5/CSS3 JQ Grid 4.1.2 Rich UI Twitter Bootstrap 2.3.1 Responsive Web Design MVC Angular JS 1.2 UI-router 0.2.8 Validations Angular Validations Internationalization Angular i18n/ Angular Translate 2.0.1 AJAX RestAngular 1.3.1 View Object Model JSON UI Templates Angular Templates REST Service JAX-RS Spring Boot Auto Configurator Spring Boot Actuator Code Review Crucible Testing Unit Testing Jamine, Junit, Mockito TDD JUnit, Jasmine BDD Cucumber Automation Selenium DevOpsConfiguration Spring Configuration mgmt, BitBucket Configuration repo Proxy Netflix Zuul Swagger Rest Documentation Application Monitoring Weave ScopeDocker Orchestration Weave Proxy Load Balancing DNS Deployment EC2 Cluster Mgmt EC2 Container Service Discovery Eureka Binary Repository Docker Hub, Artifactory Dynamic Routing Netflix Ribbon Circuit Breaker Netflix Hystrix Containerization Docker Dashboard Hygeia ATDD Spoke, Cucumber
  18. 18. © 2017 Cognizant, Agile Practice18 SCM Build Static Code Analysis Test Measure Coverage Artifact Repo Major code violations Build Failures Test Failures Inadequate coverage Code checkout Push Artifact Static code analysis ensures the developed code follows standards. Major code violations restricts the code from being built. Good coding practices ensure easy maintenance. CODE QUALITY Compile you code as often as possible this improves code stability and creates repeatability. Keep your builds fast to optimize your CI process FREQUENT BUILDS Create unit test for the code you develop. Run the unit test with each build. Unit test failures fails your build. Keep your integration & unit test suite separate. UNIT TESTING Measure your code coverage and enforce code coverage thresholds. High code coverage helps in decreasing maintenance effort. CODE COVERAGE CONTINUOUS INTEGRATION BEST PRACTICES Maintain a Single source repository & Optimize your branching & merging strategy Everyone Commits To the Mainline Every Day & every Commit builds the Mainline on an Integration Machine Automate build and make your build self testing & Fix Broken Builds Immediately Make it Easy for Anyone to Get the Latest Executable & Provide insights into your CI process Automate your Deployment and sanity tests OneAgility Lab: Interaction
  19. 19. © 2017 Cognizant, Agile Practice19 Binary artifact repository helps track the versions of software components. Also it enables to audit the licenses of yourthird-party components used in your software ARTIFACT REPOSITORY ARTIFACTREPOSITORY Web Accessible API Build Env Dev Env QA Env Stage Env Prod Env WGET WGET WGET WGET Metadata StoreFile Storage Rollback Code Artifact Repo Deployment Trigger Deploy Application Deploy Code Apply Env Config Apply DB Metadata Automated Smoke Test Release Notification Rollback Deployment Revert Env Config Rollback DB Metadata Deploy previous stable build ALM/ITSM/CI DEV ST SIT / UAT ProductionP&V Pull Artifact Pull Artifact Pass Fail Deployment Request In case of smoke test failure the deployment is rolled back to the previous stable build. This helps in improving the environment availability and reduces disruptions due to bad deployments ROLLBACKSTRATEGY Automated smoke tests are subset of functional automation test that get triggered automatically when the deployment is completed. Smoke test failure results in deployment failure SMOKE TEST Build your binaries only once Deploy the same way to all environments Automate the smoke tests Create rollback strategy for deployments CONTINUOUS DEPLOYMENT BEST PRACTICES
  20. 20. © 2017 Cognizant, Agile Practice RELEASE & SPRINT & DAILY PLANNING SPRINT PLANNING & MODERN DEVELOPMENT MODERN TEAMS & MODERN ARCHITECTURE MODERN ENGINEERING MONITORING & METRICS REPORTING
  21. 21. © 2017 Cognizant, Agile Practice EZ Bank has approachedthe “Immersion”team to implementthe “Used Car Assessment”feature as part of Release 2.0 roadmap 21 ALP Release 2.0 OneAgility Lab: Interaction
  22. 22. © 2017 Cognizant, Agile Practice22 Feature Benefit Swag Priority Strategic Theme Used Car Value Assessment Prospective carloan seekers can makean informed decision regarding theloan amount based on used car market value 20 High DigitizeLoan Origination User Story 1- Navigate to Used Car Value User Story 2 – Provide Car Details User Story 3 – Get UsedCar Value AS a customerof EZ Bank, I SHOULDbe able to navigatetoused carvalue calculationpagefrom home page, SO THAT I cancalculatethe value of my used car Note: The Landing pageshould be redesigned as per wire-frames attachedin thelink and attachment (refer Used Car Value section) SIZE (in points): AS a customer of EZ Bank, I SHOULD be able to provide details like car make, year and model of car, mileageand click on calculatecarvalue SO THAT I get thecarvalue calculated Note: The screen should be as per wire- frames attached. SIZE (in points): AS a customerof EZ Bank, I SHOULDbe able to calculatetheused car value with a back-end service, which takes in the customer fed input like mileage, vehicle year make and model SO THAT I get thevalue calculated SIZE (in points): OneAgility Lab: Interaction
  23. 23. © 2017 Cognizant, Agile Practice SPRINT PLANNING & MODERN DEVELOPMENT MODERN TEAMS & MODERN ARCHITECTURE MODERN ENGINEERING MONITORING & METRICS REPORTING MODERN DEVELOPMENT Code Checkin and Build Code Review and Quality Build and Execute (ATDD and BDD) Code and Unit Test (TDD)
  24. 24. © 2017 Cognizant, Agile Practice24  Task of tracking and controllingchangesin the software usingrevisioncontrol and the establishmentof baselines o CodeModificationHistory-Versioncontrol provides acompletehistory of every commit madeby every developer o ConcurrentFileEditing -When workingin ateam therearetimes when multipledevelopersneed to editcodein thesamefile. o Tagging-Oneof thefeaturesof version control tools istheability to createa snapshotof the codebaseatanygiven moment.Such asnapshot is called a revision tag o Branching -Branchesallowyou to maintain a separatecopyof yourprojectthatisnotsimply frozen in timelikea tagis.Branchescanbe updated individually withoutaffectingother branchesor thetrunk o Merging-Mergingistheactof combining changesfromdivergentcodebases.Ittypically occursbetween two branches,or between a branchandthetrunk OneAgility Lab: Interaction
  25. 25. © 2017 Cognizant, Agile Practice25 • Over-the-shoulder: One developer looks over the author's shoulder as the latter walks throughthe code. • Emailpass-around:The author (orSCM system)emails code to reviewers • PairProgramming: Twoauthors develop code together at the same workstation. • Tool-assisted: Authors andreviewers use specializedtools designedfor peercode review. OneAgility Lab: Interaction
  26. 26. © 2017 Cognizant, Agile Practice26 • Code quality is an indicator of how quickly a developer canaddbusiness value to a software system” • It is measured(rather lack of it) in formof ‘sevensins of code quality’. o Bugs and Potential Bugs o CodingStandards Breach o Duplications o Lack of Unit Tests o Bad Distributionof Complexity o Not Enough or Too Many Comments o Spaghetti Design OneAgility Lab: Interaction
  27. 27. © 2017 Cognizant, Agile Practice27  Test-drivendevelopment,orTDD, is a rapid cycle of testing, coding, and refactoring.  It is an evolutionaryapproach to developmentwhichcombines test-firstdevelopmentwhere youwrite a test before youwrite just enoughproductioncode to fulfil thattestand refactoring  In essence you follow three simple stepsrepeatedly:  When usedproperly,it also helpsimprove yourdesign, documents yourpublic interfaces,andguards against future mistakes. Write a test for the next bit of functionality you want to add Write the functional code until the test passes Refactor both new and old code to make it well structured.
  28. 28. © 2017 Cognizant, Agile Practice28 REFACTOR Improve design while preserving the behavior RED Write failing test for the specification GREEN Make the code change to pass the test 1 2 3 Write failingtest for thespecification  Begin by writingthenameof a test –thevery actof namingthetest helps to scopethework.  Writean assertstatementpriorto writingany other testcode – organises thethoughts aboutwhatneeds to betested.  Constructthebasiccodenecessary to compileandrun thetesteven if the methods areempty. Testwill fail becausethenecessarycodeisn’t thereyet. Make the code change to passthe test  Makecodechanges –do thesimplestthingto makethetestpass  Ensureall other existingtests still pass  The designissimplebutnotthrow-away Improve the code’sdesign whilepreservingitsbehaviour  Refactor instantly–do notwaitfor lotsof codeto accumulate.  UseIDEautomaticrefactoringwherepossible.  Treatrefactoringasa design process –havingmadethecoderightfor the customer (i.e.itpassesthetest) nowmakeitrightforthedeveloper (i.e.standards,clarity,removal of codesmells).  Resisttheurgeto skip refactoring Finally make the testand code change permanent  Whenever refactoringiscompleteand all testsarestill passing, check-in  Should integratesmall changesseveraltimesa day  Facilitates continuousintegration 1 2 3 OneAgility Lab: Interaction
  29. 29. © 2017 Cognizant, Agile Practice29  High quality codebase – less Technical Debt  Effective test creationensures customer requirements are adequately addressed  Once a test passes,the teamautomatically has workingcode andworkingregressiontests to ensure quality of the code  Re factoringrisk is much reducedwithan extensive suite of regressiontests  Running the regressiontests during the build process ensures automaticvalidationof buildquality  TDD allows us to break the negative feedback loopandmaintaina constant cost ofchange i.e.,the more defects there are,the more defects will be introduced. Andthe result is that the cost of change is exponential
  30. 30. © 2017 Cognizant, Agile Practice30 Acceptance TDD helps us keep ourproduct’s external qualityon trackby giving it the correct features and functionalityand the system should meet what the customer actuallyneed. Pick a User Story Write tests forstory Automate tests Implement Functionality
  31. 31. © 2017 Cognizant, Agile Practice31 TDD Create a User Story Define Acceptance Criteria Demonstrate Working Software For Each Acceptance Criteria Create a failing Acceptance Test Make the Test pass Create a failing Unit Test Make the Test Pass Refactor  ATDD and TDD go hand in hand.  On systemlevel,we run ATDD scripts and at implementation level inside a story we run TDD scripts OneAgility Lab: Interaction
  32. 32. © 2017 Cognizant, Agile Practice32  It encourages development teams to thinkfrom customer’s perspective and their goals,which are supported byapplication’s capabilities and features  It initiates collaborationacross the team and stakeholders,helps drive out ambiguityand clarify expectations  It improves qualitywith fewer defects on new features and fewer regression issues  It helps faster development process and reductionofrisks of unmet expectationor miscommunications  Acceptance tests can be created used “Given-When-Then”style and act as testing, communicationand documentationtool
  33. 33. © 2017 Cognizant, Agile Practice33 PO BA PO and Business Analystdiscussthe features to be developed PO BA Entire team discuss and elaboratethe requirements Testers Developers 2 Scenario & Sample Identify the scenariosand Sampletest data to explain theuser story 3 Testers uses these scenario to create test cases 4 Automated Tests providefeedback on the progress and help document the application 5 1 Features BDD is about implementingan applicationby describingits behavior usinguser scenarios and example data.
  34. 34. © 2017 Cognizant, Agile Practice34  As a customer,  I want to withdrawcash from an ATM  So that I don’t have to wait inline atthe bank  Scenario 1 : Account is inCredit  Given  [ the account is in credit  and the card isvalid  and the dispensercontainscash ]  When [ the customerrequestscash]  Then [ ensure the account is debited  And [ ensure cash is dispensed]  And [ ensure card is returned] Giventhe account number12345678 of user1 in credit And the card is valid And the dispensercontainscash When user1 withdraws100$, Then ensure that the account 12345678 is debited with100$ And ensure 100$ is dispensed And ensure the card is returned When user1 withdraws22$, Then ensure that the account 12345678 is not debited with 22$ And a message “Enter only multiplesof 10” is displayed And ensure the card is returned OneAgility Lab: Interaction
  35. 35. © 2017 Cognizant, Agile Practice35  Requirements are easyto understand for both Business Stakeholders and TechnicalProject Members  Qualityis "Built-in",assessingrequirements qualityat the beginningofthe process (Elicitation, Elaboration,Validation & Acceptance)  Allows easyadaptationto requirementschanges  Testers can leverage and extend developers work  Traceabilityis relativelyeasy
  36. 36. © 2017 Cognizant, Agile Practice36 • When new code is committedto a source repositorythere is a hook that notifiesthe continuousintegrationserverthat newcode needsto be built • The continuousintegrationservercouldalso poll the source code repositoryif a notificationisnot possible • The continuousintegrationserverpullsthe code to buildand test it • If all tests pass, the continuousintegration serverbeginsthe deploymentprocess • The new code ispulleddownto the server where the deploymentistakingplace • Finallythe deploymentprocessis completed via restartingservicesand related deploymentactivities
  37. 37. © 2017 Cognizant, Agile Practice37 • Commit the code to VCS (GIT, SVN, etc.) –CI task • Run all static analysis –CI task • Run all unit tests –CI task • Deploy to the test environment • Run automated functional, integration tests on test • Stage Gate approval check • Deploy to the production environment • Run automated functional, integration tests on production
  38. 38. © 2017 Cognizant, Agile Practice SPRINT PLANNING & MODERN DEVELOPMENT MODERN TEAMS & MODERN ARCHITECTURE MODERN ENGINEERING MONITORING & METRICS REPORTING MODERN ENGINEERING Load and Security Test Test Coverage Analysis Deploy, Configuration and Release Automation Test Automation
  39. 39. © 2017 Cognizant, Agile Practice ITERATIONCYCLECLOSUREPRE-ITERATION Identifythe Scope of Automation from User Stories Identifythe technologies used in the Application Perform testing tool analysis to support the various technologies used Setup environment & Perform Automation feasibilitystudy Procure testing tool & Prepare Automation Strategy Design & Develop Automation Framework& Common Libraries Prepare End to End test cases Regression testing Sign off Production Support ANALYSIS Sprint Planning Automation Design Execution & Maintenance Define Automation Scope Estimate for Automation scripts based on Scope Collaborate with Dev. teamon Design Document for Object properties Identify & Develop the reusable components Identify & Configure Test Data Develop businessfunctional components Analyze the sprint test cases Generate a test script using components & integrate with framework to prepare test suite Analyze & maintain previous sprint test suites Execution of Test Suite Interpret the test results & raise defects Prepare sprint test summary report Sprint Review Demo of Automation scripts Share insightswith stakeholders Prepare lessons learnt in the sprint for continuous improvement Sign off on test for the sprint OneAgility Lab: Interaction
  40. 40. © 2017 Cognizant, Agile Practice40 • Determines how muchcode is exercisedwhenwe runour unit test cases against classes and methods • Measures the coverage of requirements with associated test scenarios andcases,using acceptancecriteria’s as inputs into the testingcycle • It canused to determine the quality of testingat any given point in time OneAgility Lab: Interaction
  41. 41. © 2017 Cognizant, Agile Practice41 • Is the process of putting demand and measuring its response. • Is performed to determine a system's behavior under both normal and anticipated peak load conditions. • Involves simulating multiple virtual users that send requests and evaluating performance under the massive load. • Load Testing software simulates recorded scripts and the tested server “thinks” that it works with an actual user. • Helps to answer questions like “Is my system doing what I expect under these conditions?” and “Is its performance good enough?” OneAgility Lab: Interaction
  42. 42. © 2017 Cognizant, Agile Practice42  The objective of security tests is to reveal how vulnerable a software application w.r.t to unauthorized access to data and resources from potential intruders  It determines whether the application has weaknesses to below threats o Unauthorizeddata access o Denialof Service Attack o Data manipulation o Cross-site Scripting (XSS) o Privilege Elevation o SQL injection o Identityspoofing  ZAP (Zed Attack Proxy) is used for penetration testing for finding vulnerabilities in web applications OneAgility Lab: Interaction
  43. 43. © 2017 Cognizant, Agile Practice43 • What is/ Why use,a Container? • Everything required to make a piece of softwarerun is packaged into isolated containers. • UnlikeVMs, containers do notbundlea full operatingsystem- only libraries and settings required to make the softwarework are needed • Efficient,lightweight,self-contained systems and guarantees thatsoftware will always run the same, regardless of whereit’s deployed • Developersuse to eliminate “worksonmy machine” problemswhencollaboratingon code withco-workers • Enterprisesuse Docker to buildagile software deliverypipelinestoshipnew featuresfaster, more securelyand with confidence OneAgility Lab: Interaction
  44. 44. © 2017 Cognizant, Agile Practice44 • Artifacts are simplyan output or collection of files(ex.JAR,WAR, DLLS, RPM etc.) and one of those filesmay contain metadata(e.g.POM file). • Everystage in the applicationlifecycle produces and consumes artifacts.Artifacts are critical to the build-test-deploy process. • An artifact repositorystorespackages, artifacts and their correspondingmetadata • It helpsmanage components fromdev through delivery:binaries,containers, assembliesandfinishedgoods • It providesa single source of truth for all componentsand can be accessed by all teams withinthe deliverypipeline OneAgility Lab: Interaction
  45. 45. © 2017 Cognizant, Agile Practice45 • Service virtualization is the imaging of software service behavior andthe modeling of a virtual service to standin for the actual service during development andtesting • It is used when live systems are not available,components not built yet, thereby simulatingthese systems and components fortestingpurposes • It achieves programobjectives with parallel teams workingoninter- dependent components,as a result reduces infrastructure costsandrapid time to market committments OneAgility Lab: Interaction
  46. 46. © 2017 Cognizant, Agile Practice46 • Orchestrate the integration of build and test tools to automatically deploy, test and promote new builds across different environments • IBM UrbanCode Deploy achieves through o By tracking components that make up the applicationso that required versions could be deployed together o Connect to clouds, model the virtual images, add components to those imagesin theenvironment o By identifying what is in each environment, it cantracknon compliance against a desired state o Enforces quality gatesbefore deployment o Support distributed scaling to thousands of servers OneAgility Lab: Interaction
  47. 47. © 2017 Cognizant, Agile Practice47 • CHEF treats configuration management as code, it removes manual steps out of the server and network configurations • CHEF stores the rules (recipes and cookbooks) in central repository, under version control. It encapsulates server provisioning and configuration tasks • Programmatic provisioning is useful for large and complex deployments where hundreds or thousands of machines are involved OneAgility Lab: Interaction
  48. 48. © 2017 Cognizant, Agile Practice48 • Release management is responsible for planning, scheduling, and controlling the build, testing and deploying release , while protecting the integrity of existing services • IBM UrbanCode Release helps plan, execute and track a release through every stage delivery lifecycle o Clear visibility into which versions of each app arein eachenvironment o Enforced quality gatesbefore code can be pushed to higher environments o Allows multiple applications to be released togetherusing promotion rules, inter-dependency identification and resolution OneAgility Lab: Interaction
  49. 49. © 2017 Cognizant, Agile Practice MONITORING AND METRICS REPORTING AGILE PLANNING & MODERN DEVELOPMENT MODERN TEAMS & MODERN ARCHITECTURE MODERN ENGINEERING MONITORING & METRICS REPORTING
  50. 50. © 2017 Cognizant, Agile Practice50 • It helps visualize the flow of value through a value stream by showing the status of epics and enablers from define to breakdown, through build, test and deploy • It combines visualization, WIP limits and policies governing each state, and criteria's for moving to next state • Foster role collaboration across disciplines, functions and levels • It reflects what is upcoming work that needs to be analyzed, approved and released to implementation teams (Solution and Release trains) OneAgility Lab: Interaction
  51. 51. © 2017 Cognizant, Agile Practice51 • It provides comprehensive feedback mechanism on the health of your continuous delivery pipeline • The data is automatically collected via plug-ins integrated with other ALM tools • It primarily covers the below areas: • Feature • Build • Monitor • Code Repo • Quality • Deploy OneAgility Lab: Interaction
  52. 52. © 2017 Cognizant, Agile Practice52 • Provides consolidated view that links business functions and value to IT capabilities • It should track how application service provides are performing through vendor scorecards • It should analyze data trends against benchmarks to identify cost savings opportunities • It summarizes key trends that impacts IT responsiveness and time to market OneAgility Lab: Interaction
  53. 53. © 2017 Cognizant, Agile Practice53 Thank you

×