of 59 /59
ALM – Getting the conversation Started Marco António Silva [email protected]

Scrum Portugal Meeting 1 Lisbon - ALM

Embed Size (px)

Citation preview

Page 1: Scrum Portugal Meeting 1 Lisbon - ALM

ALM – Getting the conversation StartedMarco António [email protected]

Page 2: Scrum Portugal Meeting 1 Lisbon - ALM
Page 3: Scrum Portugal Meeting 1 Lisbon - ALM
Page 4: Scrum Portugal Meeting 1 Lisbon - ALM

Goals• Get the conversation going• Go through some thoughts and

misconceptions• Give some practical pointers and ideas• Have fun

Page 5: Scrum Portugal Meeting 1 Lisbon - ALM

Building Software was a bit diferente back then…

Page 6: Scrum Portugal Meeting 1 Lisbon - ALM

Teams were mainly developers…

Page 7: Scrum Portugal Meeting 1 Lisbon - ALM

Software was released once every couple of years….

Page 8: Scrum Portugal Meeting 1 Lisbon - ALM

Systems were very closed…

Page 9: Scrum Portugal Meeting 1 Lisbon - ALM

Services?!?! Why do I need them?

Page 10: Scrum Portugal Meeting 1 Lisbon - ALM

And then boom!!!

Page 11: Scrum Portugal Meeting 1 Lisbon - ALM

~Our industry does not respect

tradition, it only respects

innovation~

Satya Nadella

Page 12: Scrum Portugal Meeting 1 Lisbon - ALM

ALM - DefinitionIn 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: https://en.wikipedia.org/wiki/Application_lifecycle_management

Page 13: Scrum Portugal Meeting 1 Lisbon - ALM

ALM Competency Matrix

Velocity

Team work

Quality

Agility

Plan Develop Release OperateProcess

and Control Overall

Page 14: Scrum Portugal Meeting 1 Lisbon - ALM

WebOpsGoogle, Amazon, Twitter, Facebook, Xbox Live, etc.

Enterprise DevOpsCross-functionalorganizations

NoOpsSmall web teams, start-ups

DevOps flavors

Page 15: Scrum Portugal Meeting 1 Lisbon - ALM

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 Infrastructu

reUse internal and

cloud resources to scale and increase

agility

Delivery Agility

Deliver value, receive feedback, learn, and

prioritize for your next set of

investmentsManage complexities, adapt, and respond quickly with agility, quality, and

scale

Page 16: Scrum Portugal Meeting 1 Lisbon - ALM

“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.

Page 17: Scrum Portugal Meeting 1 Lisbon - ALM

Software development delays have a real cost to the business

Applications take too long to update or fix issues

Applications get to market late

Applications are of poor quality and are missing functionality

Source: CA/Coleman Parkes Research, 2012

Page 18: Scrum Portugal Meeting 1 Lisbon - ALM

The solution

19

Deliver value faster.

Page 19: Scrum Portugal Meeting 1 Lisbon - ALM

Provide value delivery with agility and quality

Increase business value

Shorten cycle times

Reduce reworkcosts

Increase collaboration

Page 20: Scrum Portugal Meeting 1 Lisbon - ALM

The Modern ALM provides continuous delivery

Plan Develop

ReleaseOperate

Page 21: Scrum Portugal Meeting 1 Lisbon - ALM

The Modern ALM – deliver faster and smarter, continuously

REQUIREMENTS

BACKLOG

ProductionDevelopmentCollaboration

Page 22: Scrum Portugal Meeting 1 Lisbon - ALM

Continuous Value Delivery Continuous

Integration

Continuous Feedback

Continuous Improvement

Continuous Deployment

Page 23: Scrum Portugal Meeting 1 Lisbon - ALM

Enterprise versus Modern ALM

Enterprise ALM Modern ALM

Stability Large scale

Capability maturity model

integration

Change control boards

ComplianceArchitectural design board

Database administrator

team

QA group

Deployment approval

Lifecycle cooperation

Pride in craftsmanshi

p

Closely connected

teams

Shared responsibility

Short delivery cycles

Minimal viable

product

Team support training

AutomationShort

feedback loops

structured, formal, long delivery cycle iterative, connected teams, regular cadence Faster time to business value

Page 24: Scrum Portugal Meeting 1 Lisbon - ALM

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

Page 25: Scrum Portugal Meeting 1 Lisbon - ALM

Tools to make your Life Easier…

Page 26: Scrum Portugal Meeting 1 Lisbon - ALM

“To empower every person and every organization on the planet to achieve more“

Satya Nadella

Page 27: Scrum Portugal Meeting 1 Lisbon - ALM

All Developers, All Languages, and All Platforms• mobile first, cloud firstOpenness 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

Visual Studio Team Services

Page 28: Scrum Portugal Meeting 1 Lisbon - ALM

Visual Studio is now a BRAND

www.visualstudio.com

Page 29: Scrum Portugal Meeting 1 Lisbon - ALM

Not Integrated Development Environments (IDEs)

And does not even include one.

Given the name recognition of “Visual Studio” as an IDE, one might think along these lines…

Given a former product name of “Visual Studio Online”, again one might think along these lines…

What are Visual Studio Team Services and Team Foundation Server?

Page 30: Scrum Portugal Meeting 1 Lisbon - ALM

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

Team Services is updated every sprint (3 weeks) while TFS is updated once per quarter

What are Visual Studio Team Services and Team Foundation Server?

Page 31: Scrum Portugal Meeting 1 Lisbon - ALM

Integrated Suite of modular software development tools supporting application lifecycle management (ALM)

What are Team Services and Team Foundation Server?

• 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)

Page 32: Scrum Portugal Meeting 1 Lisbon - ALM

Integrated suite of toolsAlready fully integrated – no need to worry about combining individual packages from different vendors across multiple versions – save on integration and maintenance costs

Same tools are used by all developers (web, app, back-end, test), program managers and product managers (i.e. all stakeholders)

Single development stackJava, C++, .NET, etc. all using common developer tools platform with unified reporting and tracking

Team Services High-Level Benefits

Page 33: Scrum Portugal Meeting 1 Lisbon - ALM

Support your IDE and OS of choiceEclipse (member of Eclipse foundation)Eclipse CheIntelliJ IDEAAndroid StudioVS Code

Goal: Stay in your IDE 75-80% of the time

Visual Studio Team Services

Page 34: Scrum Portugal Meeting 1 Lisbon - ALM

Language-independent FeaturesVersion Control supportFull Git support (as a server)Free, unlimited private Git reposCompatible with any Git clientGit Credential Manager for Windows, Mac & LinuxJenkins Git (and TFVC) supportFull support for Team Foundation Version Control (TFVC)Can build from Subversion (SVN) repositories

Page 35: Scrum Portugal Meeting 1 Lisbon - ALM

Language-independent FeaturesFree-form code search

Easily search across one or more projects and repositories

Utilize semantic ranking- Definitions rank higher than

usage

Rich filtering

Integration with version control

Page 36: Scrum Portugal Meeting 1 Lisbon - ALM

Language-independent FeaturesConversational code reviews

Collaboration for distributed or on-site teams

Rich history and accountability

Enforcement of your configurable policies- Can require certain # of reviewers- Can require a successful build

Page 37: Scrum Portugal Meeting 1 Lisbon - ALM

Language-independent FeaturesIntegrated agile tools suite

Agile, Scrum and Kanban

Backlog and story management

Bug Tracking

Connected to code (traceability)

Page 38: Scrum Portugal Meeting 1 Lisbon - ALM

Language-independent FeaturesCross-platform CI / build

Any developer, any language, any platform

Open-sourced (on GitHub) build agents for Linux, Mac, & Windows- Hosted (cloud) or on-prem

Integrated- Link builds to test results, backlog items, code and releases

Page 39: Scrum Portugal Meeting 1 Lisbon - ALM

Language-independent FeaturesArtifact Management

• CocoaPods

• NPM

• NuGet

• Artifactory

Page 40: Scrum Portugal Meeting 1 Lisbon - ALM

Language-independent FeaturesApplication Insights

- Auto metrics on- Server timings- Total requests / failed requests- Session/Page counts

- Add custom events

- Supports “deployment markers”

Page 41: Scrum Portugal Meeting 1 Lisbon - ALM

Java IDE SupportEclipse plug-inTeam Explorer Everywhere plug-in(Eclipse Marketplace)Proven solution in use for 6+ yearsOpen source Java softwaregithub.com/Microsoft/team-explorer-everywhere

Git and TFVC version control supportIntegrated (in-IDE) agile planning / bug trackingIntegrated build system supportEclipse Foundation “Solutions” member

Page 42: Scrum Portugal Meeting 1 Lisbon - ALM

Java IDE SupportEclipse Che (by Codenvy)

Page 43: Scrum Portugal Meeting 1 Lisbon - ALM

Java IDE SupportIntelliJ plug-inSupports Community, Ultimate, and Android Studio

Open source Java software github.com/Microsoft/vso-intellij

Simplified authentication for Team Services

Upload and share existing projects

Enhanced pull request (code review) capabilities

Issue and Story integration

Page 44: Scrum Portugal Meeting 1 Lisbon - ALM

Java IDE SupportVS CodeA free, open-source advanced editor from MSFT

Cross-platform (Windows, Mac, and Linux) support

Minimal UI, mostly command line interface

Team Services plugin is also open source github.com/Microsoft/vsts-vscode

Page 45: Scrum Portugal Meeting 1 Lisbon - ALM

Java Product FeaturesAnt, Maven and Gradle build support and CI

Page 46: Scrum Portugal Meeting 1 Lisbon - ALM

Java Product FeaturesJUnit test publishing

Page 47: Scrum Portugal Meeting 1 Lisbon - ALM

Java Product FeaturesJaCoCo and Cobertura code coverage results

Page 48: Scrum Portugal Meeting 1 Lisbon - ALM

Java Product FeaturesJMeter load testing

Page 49: Scrum Portugal Meeting 1 Lisbon - ALM

Java Tools & IntegrationsSonarQube, PMD and CheckStyle integrations for static analysis

Page 50: Scrum Portugal Meeting 1 Lisbon - ALM

Java Tools & IntegrationsJenkins 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 deployBi-Directional traceability for Jenkins jobs to commits, work items and PRs via the Jenkins Team Services plug-in

Page 51: Scrum Portugal Meeting 1 Lisbon - ALM

Java Tools & IntegrationsJava Cross-Platform CD CapabilitiesDeploy via:• SSH• FTP/s• Tomcat manager• Cloud FoundryServer support for:• Tomcat• Glassfish• JBoss• WebSphere / UrbanCode

Page 52: Scrum Portugal Meeting 1 Lisbon - ALM

Java Release ManagementOptions for deploying to multiple stages / pipelines for Azure WebApps, Linux VMs, Tomcat instances, AWS…

Page 53: Scrum Portugal Meeting 1 Lisbon - ALM

Java Mobile ApplicationsOptions for building and deploying Android appsAutomate builds for CI

Release to GooglePlay and HockeyApp

Page 54: Scrum Portugal Meeting 1 Lisbon - ALM

Java Tools & IntegrationsIntegrated with popular toolsMany extensions available from 3rd party providers via our Marketplace

Page 56: Scrum Portugal Meeting 1 Lisbon - ALM

ALM framework

ProductionDevelopment

Operate + learnPlan

Develop + test Release

Requirements

Collaboration

Page 57: Scrum Portugal Meeting 1 Lisbon - ALM

Where to focus to increase the flow of value

Shorten cycle times

Optimize resources

Improve quality and availability

     

  

 

 

    

        

Hypothesis-driven development & continuous learning

Page 58: Scrum Portugal Meeting 1 Lisbon - ALM

Marco António [email protected]

Page 59: Scrum Portugal Meeting 1 Lisbon - ALM

© Copyright Microsoft Corporation. All rights reserved.