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.

Scrum Portugal Meeting 1 Lisbon - ALM


Published on

ALM presentation that I did on the first Lisbon Meeting of the SCRUM Portugal group. The session gives an oversight on ALM processes, giving some notes on tools that can help implement these processes, namely VSTS and how it can help you get there faster

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Scrum Portugal Meeting 1 Lisbon - ALM

  1. 1. Building Software was a bit diferente back then…
  2. 2. ALM - Definition In summary, ALM is a set of pre-defined processes that start somewhere in the business as an idea, a need, a challenge or a risk and then pass through different development phases such as Requirements definition, design, development, testing, deployment, release and maintenance spanning across an entire lifecycle of a product. Throughout the ALM process, each of these steps is closely monitored and controlled, followed by proper tracking and documentation of any changes to the application. Source:
  3. 3. ALM Competency Matrix Velocity Team work Quality Agility Plan Develop Release Operate Process and Control Overall
  4. 4. DevOps flavors
  5. 5. Application Lifecycle Management (ALM) for the modern enterprise Heterogeneous Apps Adapt toward a world of different applications and systems Multi App Platforms Develop and deliver seamlessly across multiple platforms Hybrid Infrastructure Use internal and cloud resources to scale and increase agility Delivery Agility Deliver value, receive feedback, learn, and prioritize for your next set of investments Manage complexities, adapt, and respond quickly with agility, quality, and scale
  6. 6. “Time-to-market pressure is driving the application development lifecycle management market to evolve and expand.” Gartner, Inc, Magic Quadrant for Application Development Life Cycle Management, T. E. Murphy et. al., 19 November 2013 “By 2016, more than 50 percent of application modernization efforts will address business demand for enhanced functionality to legacy applications, not cost reduction.” Gartner, Inc, Predicts 2013: Business Impact of Technology Drives the Future Application Services Market, Allie Young et. Al., 6 March 2013 ALM lifecycles must evolve in order to stay competitive Gartner does not endorse any vendor, product, or service depicted in its research publications, and does not advise technology users to select only those vendors with the highest ratings. Gartner research publications consist of the opinions of Gartner's research organization and should not be construed as statements of fact. Gartner disclaims all warranties, expressed or implied, with respect to this research, including any warranties of merchantability or fitness for a particular purpose.
  7. 7. Software development delays have a real cost to the business Source: CA/Coleman Parkes Research, 2012
  8. 8. The solution 19 Deliver value faster.
  9. 9. Provide value delivery with agility and quality Increase business value Shorten cycle times Reduce rework costs Increase collaboration
  10. 10. The Modern ALM provides continuous delivery Plan Develop ReleaseOperate
  11. 11. The Modern ALM – deliver faster and smarter, continuously REQUIREMENTS BACKLOG ProductionDevelopment Collaboration
  12. 12. Continuous Value Delivery
  13. 13. Enterprise versus Modern ALM Enterprise ALM Modern ALM Stability Large scale Capability maturity model integration Change control boards Compliance Architectural design board Database administrator team QA group Deployment approval Lifecycle cooperation Pride in craftsmanship Closely connected teams Shared responsibility Short delivery cycles Minimal viable product Team support training Automation Short feedback loops structured, formal, long delivery cycle iterative, connected teams, regular cadence  Faster time to business value
  14. 14. Why Agile and Continuous Value Delivery? Agile: Increases Return on Investment DevOps: To succeed in making both developers’ and IT operations’ lives easier. Agile: Broad agreement in industry that application quality increased. Agile: Productivity increases
  15. 15. All Developers, All Languages, and All Platforms • mobile first, cloud first Openness and Cross-Platform Examples: • Build Agent written in NodeJS and open-sourced • IDE Plug-ins open-sourced, most are Java • REST APIs / Service Hooks extensibility • Extensions Marketplace
  16. 16.
  17. 17. Not Integrated Development Environments (IDEs)
  18. 18. Team Services and TFS are essentially the same product Team Services is our SaaS offering in the cloud while Team Foundation Server (TFS) is our on-premise (aka on-prem) offering
  19. 19. Integrated Suite of modular software development tools supporting application lifecycle management (ALM) • version control / code repository (e.g. Git) • bug tracking and backlog/story management • agile processes (e.g. Kanban boards) • software build process and coordination (incl. CI) • manual and automated testing • package and artifact management • release and deployment (incl. CD)
  20. 20. Integrated suite of tools Single development stack
  21. 21. Support your IDE and OS of choice Goal: Stay in your IDE 75-80% of the time
  22. 22. Version Control support Compatible with any Git client Git Credential Manager for Windows, Mac & Linux Jenkins Git (and TFVC) support
  23. 23. Free-form code search
  24. 24. Conversational code reviews Enforcement of your configurable policies - Can require certain # of reviewers - Can require a successful build
  25. 25. Integrated agile tools suite
  26. 26. Cross-platform CI / build
  27. 27. Artifact Management • CocoaPods • NPM • NuGet • Artifactory
  28. 28. Application Insights
  29. 29. Eclipse plug-in
  30. 30. Eclipse Che (by Codenvy)
  31. 31. IntelliJ plug-in
  32. 32. VS Code
  33. 33. Ant, Maven and Gradle build support and CI
  34. 34. JUnit test publishing
  35. 35. JaCoCo and Cobertura code coverage results
  36. 36. JMeter load testing
  37. 37. SonarQube, PMD and CheckStyle integrations for static analysis
  38. 38. Jenkins Integration From within Team Services: • Queue remote PR and CI Jenkins Jobs • View build results interactively • Support for Jenkins pipelines • Pull and store Jenkins artifacts • Use Jenkins for build and/or deploy Bi-Directional traceability for Jenkins jobs to commits, work items and PRs via the Jenkins Team Services plug-in
  39. 39. Java Cross-Platform CD Capabilities Deploy via: • SSH • FTP/s • Tomcat manager • Cloud Foundry Server support for: • Tomcat • Glassfish • JBoss • WebSphere / UrbanCode
  40. 40. Options for deploying to multiple stages / pipelines for Azure WebApps, Linux VMs, Tomcat instances, AWS…
  41. 41. Options for building and deploying Android apps Automate builds for CI Release to GooglePlay and HockeyApp
  42. 42. Integrated with popular tools
  43. 43. Write custom extensions using public REST APIs Example (list of projects): https://{account} Use service hooks to integrate with other systems on these events Build Completed Git Code pushed Pull request created Pull request updated Team room Message posted Version Control Code checked in Work item tracking Created Updated Deleted Restored Commented on
  44. 44. ALM framework ProductionDevelopment Operate + learnPlan Develop + test Release Requirements Collaboration
  45. 45. Optimize resources Improve quality and availability Hypothesis- driven development & continuous learning