42
How Microsoft's ALM Tools Can Improve Your Bottom Line Imaginet Resources Corp. http://www.imaginet.com Imaginet and ALM – Efficiently Build Better Software

How Microsoft ALM Tools Can Improve Your Bottom Line

Embed Size (px)

Citation preview

Page 1: How Microsoft ALM Tools Can Improve Your Bottom Line

How Microsoft's ALM Tools Can Improve Your Bottom Line

Imaginet Resources Corp.http://www.imaginet.com

Imaginet and ALM – Efficiently Build Better Software

Page 2: How Microsoft ALM Tools Can Improve Your Bottom Line

Agenda

ALM Opportunities

Application Lifecycle and ALM

The Bottom LineConclusion

Page 3: How Microsoft ALM Tools Can Improve Your Bottom Line

Is ALM the same as SDLC?

What is a “Software Development Lifecycle?”But an application lives before an after the development efforts…And what about the term “cycle”?

Require-ments Design Code Test Deploy

Ideas Projects

Operate Retire

Page 4: How Microsoft ALM Tools Can Improve Your Bottom Line

References:- http://en.wikipedia.org/wiki/Application_lifecycle_management- http://www.gartner.com/technology/reprints.do?id=1-1ASCXON&ct=120606&st=sb- http://www.microsoft.com/global/applicationplatform/en/us/RenderingAssets/Whitepapers/What%20is%20Application%20Lifecycle%20Management.pdf- http://www.sdtimes.com/blog/post/2009/08/12/ALM-A-Bastardized-Term.aspx

And What is Application Lifecycle Management?

The application life cycle management (ALM) tool market

is focused on the planning and governance activities of

the software development life cycle (SDLC). Traditionally,

this has been the combination of software change and

configuration management (SCCM), requirements management and quality management. [Gartner]

Application Lifecycle Management

(ALM) is a continuous process of

managing the life of an application

through governance, development

and maintenance. ALM is the

marriage of business management

to software engineering made

possible by tools that facilitate and

integrate requirements

management, architecture, coding,

testing, tracking, and release

management. [Wikipedia]

…an application’s lifecycle

includes the entire time during

which an organization is spending

money on this asset, from the

initial idea to the end of the

application’s life.

[Chappell & Associates]

…to mange an entire

development project on a

unified basis, from requirements formation

all the way to sending

that thing out the door…

[Jeff Feinman, SD Times]

Page 5: How Microsoft ALM Tools Can Improve Your Bottom Line

Application Lifecycle Management includes…

• Tools and practices working together

• Standards across teams and disciplines

• Support for best practices in all disciplines

• A consolidated repository for all disciplines

• Automated data collection to that repository

• Visibility into all of your application development teams and projects

• The ability to support heterogeneous technologies

• Streamlined communications between roles

ALM

Page 6: How Microsoft ALM Tools Can Improve Your Bottom Line

Agenda

ALM Opportunities

Application Lifecycle and ALM

The Bottom LineConclusion

Page 7: How Microsoft ALM Tools Can Improve Your Bottom Line

ALM and the Bottom Line

• Does application development impact your bottom line?

• Can ALM improve your application development? Your bottom line?

• What is your process? Do you have any opportunities to improve your process?

• ALM supports the continuous improvement of your tools, processes and your bottom line.

Page 8: How Microsoft ALM Tools Can Improve Your Bottom Line

Scenario #1: Multiple Systems of Record

• Quality assurance and development track requirements in different systems

• QA maintains a requirements list in one tool for test traceability

• Dev maintains a separate list for implementation

• Problems:– Redundant data entry wastes time– Time spent trying to keep different systems in sync as

requirements evolve– Potential data entry errors cause different groups to interpret

requirements differently– Excessive licensing, training and maintenance required to

maintain multiple systems– Disparate systems of record cause distrust and angst between

groups

Page 9: How Microsoft ALM Tools Can Improve Your Bottom Line

Scenario #2: Status Reporting

• Executive management or your PMO requires consistent status reporting between teams

• Team members must dedicate time gathering, collating and formatting data from multiple systems

• Problems:– Significant manual effort required to generate reports– Error prone; may render erroneous results– Different groups using different tools force-fit their data into

the standard reports (resulting in bad data)– Decision makers use misleading or erroneous reports to make

(potentially bad) business decisions

Page 10: How Microsoft ALM Tools Can Improve Your Bottom Line

Scenario 3: Misunderstood Requirements

• Requirements do not adequately describe the business needs

• Developers interpret requirements as written• Resulting code does not meet actual needs

• Problem:– Delivered code does not meet actual needs, leading to

inadequate software and rework– Inadequate software does not meet the business needs and

may actually be detrimental, costing the business– Software rework costs time and money– Time spent fixing existing code reduces time available to meet

new business needs– Misunderstood requirements are not frequently found quickly,

meaning they are embedded deeply in the code and more difficult to repair

Page 11: How Microsoft ALM Tools Can Improve Your Bottom Line

Scenario #4: Lost Work

• Developers update code and accidentally overwrite each other’s updates

• Hardware failures, illness or vacations make needed changes from a developer unavailable

• New code which is incorrect replaces functional code and the original code is lost

• Developers supporting multiple environments or releases accidentally confuse the separate code bases and overwrite valid code for that environment or release

• Problems:– Lost work needs to be recreated, costing time and effort– Lost work may not be caught causing problems in production code– Incorrect code can cause a whole team to work on and build upon

the wrong codebase, further hampering team productivity

Page 12: How Microsoft ALM Tools Can Improve Your Bottom Line

Scenario #4: Bad Code Committed to Version Control

• Developer modifies code but the resulting cod doesn’t compile, doesn’t pass tests, or otherwise ‘breaks’ the existing code base.

• Modified code does not follow standards or best practices expected by the team as a whole.

• Problems:– Bad code reduces productivity for the rest of the team; other

developers pull down the bad code and are unproductive while they try to fix their own environment

– Difficult to ensure code is maintainable; more likely to build systems that have high technical debt increasing ongoing costs

Page 13: How Microsoft ALM Tools Can Improve Your Bottom Line

Scenario #5: It works on my box

• Problems are found in production or test environments

• Developers have minimal information to understand or reproduce the issues

• Developers are unable to reproduce the problems in the development environment

• Problems:– Problems are ignored or closed and reopened causing excess

churn and frustration– Excessive time is spent by development, test, and/or

operations trying to troubleshoot the problem– Production systems are unavailable or otherwise blocked due

to the problem while troubleshooting occurs

Page 14: How Microsoft ALM Tools Can Improve Your Bottom Line

Scenario #6: Quality as an Afterthought

• Quality is considered something that the testers are in charge of rather than an integral part of development

• Time constraints force the team to take shortcuts that hurt quality

• Customers are considered a viable form of quality assurance

• Code bases have large technical debt making them hard to maintain

• Problems:– Lack of quality throughout the software lifecycle leads to buggy,

unmaintainable code– Bugs are far more difficult and expensive to fix as they move

farther into the lifecycle– Code which is already difficult to maintain tends to easily breed

more bugs as it evolves

Page 15: How Microsoft ALM Tools Can Improve Your Bottom Line

Scenario #7: Broken Deployments

• Build/compilation processes are frequently manual• Deployment processes are manual and require one or

more people to copy files, run scripts, configure systems and perform installations

• Deployments frequently need “all hands on deck” to ensure a successful deployment

• Deployments typically take longer than it seems should be needed

• Deployment-related problems are typically found after the deployment is complete

• Problems:– Time wasted fighting with the deployment processes– Excessive system down time due to long deploy cycles– Late nights and long hours

Page 16: How Microsoft ALM Tools Can Improve Your Bottom Line

Scenario #8: Haphazard Vendor Management

• Remote vendor development team develops software based on your requirements

• Development is done ‘black box’ with minimal visibility into the vendor environment and status

• Problems:– Project overruns– Poor vendor relationships. (Change request h*ll)– Poor quality– No visibility into status, quality or status; impossible to

manage risks

Page 17: How Microsoft ALM Tools Can Improve Your Bottom Line

Scenario #9: Inconsistent Processes

• Different team members handle development in different ways: different coding styles, testing practices, tracking methods, documentation, etc.

• Team members have different terminology to describe the same thing (e.g., what does “done” mean)

• Problems:– Impossible to understand what the organization as a whole is

doing– Difficult to maintain each others code– Tends to increase technical debt and decrease quality

Page 18: How Microsoft ALM Tools Can Improve Your Bottom Line

Scenario #10: Ill-fitting or Obsolete Processes

• Development process require certain artifacts, reports or other efforts

• Effort expended on these processes don’t seem to add value but the continue because “we have always done it this way”

• There aren’t sufficient feedback mechanisms to support changing processes

• Problems:– Excess time spent on processes that don’t add value– Reduced time is available to support process that do add

value– Team Frustration from doing ‘make work’ activities

Page 19: How Microsoft ALM Tools Can Improve Your Bottom Line

Scenario #11: Failed Projects

• Organization prioritizes and funds a software development project

• For a variety of reasons, after months of development effort it is determined that the project is a failure

• Project is cancelled and work ceases

• Problems:– Failed projects are very costly– Time spent by team not delivering value– Bad for morale

Page 20: How Microsoft ALM Tools Can Improve Your Bottom Line

Other OpportunitiesFa

iled

Proj

ects

Obsolete Processes

InconsistentProcesses

Haphazard

Vendor Management

Broken

Deploym

ents

Quality as anAfterthought

It Workson My Box

Bad C

ode Com

mitted

to Version Control

Lost

Wor

k

Misun

derstood

Req

uirem

entsStatus

Reporting

Multiple Syste

ms

of Reco

rd

Ill-fi

tting

Proc

esse

sFra

gmented

Teams

No

Qual

ity

Ass

ura

nce

Inad

equate

Environ

men

ts

Skills

Mismatches

Over-Engineering

ChaosPr

actice

s

What are your “Opportunities”?

Page 21: How Microsoft ALM Tools Can Improve Your Bottom Line

Calculating the Costs

• Is ignoring these opportunities costing you?

• Scenario #3: Misunderstood requirements (Example)– Assumptions (Simple case)

• Two developers working on a specific requirement• Two weeks total duration for that requirement• An additional eight weeks is performed on related requirements• Developers salary + benefits is $100K annually (each)• After discovery, 70% of the work is salvageable

– Costs• (2 people X 10 weeks X (100-70%)) = 6 weeks lost• 6 weeks @ 100K = 100K X 6 / 52 = $11,500 (per requirement)

– Additional Costs• Approximately 6 weeks slipped schedule

Page 22: How Microsoft ALM Tools Can Improve Your Bottom Line

Another Example

• Scenario #10: Ill-fitting or Obsolete Processes

– Assumptions• Average team member salary + benefits is $100K annually• Team members spend an average of six hours each week

performing tasks that don’t add value• An additional two hours per week is lost due to benefits not

gained from doing practices that do add value• Team contains 10 members

– Costs• 10 team members X (6 + 2 hours/week) / (40 hours/week) X

$100K = $200,000 wasted per team annually

– Additional Costs• Team member frustration

Page 23: How Microsoft ALM Tools Can Improve Your Bottom Line

Final Example

• Scenario #11: Failed Projects (Example)– Assumptions

• Project contains 10 team members across all disciplines• Average team member salary + benefits is $100K annually• Team expends six months before project is cancelled

– Costs• 10 team members X 100K X (6 months / 12 months) = $500K

– Other Costs• Original needs not met

This is the sort of thing that causes people to get fired and can even close companies!

Page 24: How Microsoft ALM Tools Can Improve Your Bottom Line

What is lack of ALM costing you?

• Do see any of these scenarios in your environment?

• Are there other inefficiencies and barriers in your application development?

• Do you know what your current practices and tools cost you in lost time? In customer dissatisfaction? In money? In stress? In turn-over?

Page 25: How Microsoft ALM Tools Can Improve Your Bottom Line

Agenda

ALM Opportunities

Application Lifecycle and ALM

The Bottom LineConclusion

Page 26: How Microsoft ALM Tools Can Improve Your Bottom Line

Microsoft’s ALM Solution

http://www.gartner.com/technology/reprints.do?id=1-1ASCXON&ct=120606&st=sb

Page 27: How Microsoft ALM Tools Can Improve Your Bottom Line

ULTIMATE

Team Explorer

Everywhere

Extensibility

SharePoint

Project Server

System Center

Premium

Professional

TestProfessional

TEAMFOUNDATION

SERVER Lab Management

Office

Web Access

Windows Azure

Version Control Test Case Management

RequirementsManagement

Build Automation

ProjectManagement

Reporting

Visual Studio 2012 TFS

Page 28: How Microsoft ALM Tools Can Improve Your Bottom Line

ALM Practices and Microsoft Tools

• Common vocabulary• Consolidated & Consistent

Information• Backlog Management• Storyboarding• Team Mindset• Requirements feedback• Iterative Development• Agile Planning• Automated Builds

• Capacity Management• Integrated Team• Quality Mindset• Requirements driven• Transparency• Stakeholder Feedback• Daily meetings• Current information• Quality Assurance• Rich communications

• Test Environment Management

• Performance Testing• Automated Deployment• Automated Testing• Continuous Delivery• Continuous Feedback• Continuous Improvement• Dev/Ops Coordination

Team Foundation Server• Backlog Management• Capacity Management• Kanban Board• Agile Taskboard• Integrated Reporting• Work Item Tracking• Team Foundation Build• Alerts• Dashboards

PowerPoint Storyboarding

Visual Studio 2012• Integrated ALM• Architecture tools• My Work• Suspend/Resume• Unit Testing• Fakes• Coded UI Testing• Load Testing• Code Metrics• Code Clone Analysis• IntelliTrace

Microsoft Test Manager• Requirements Suites• Manual Testing• Exploratory Testing• Rich Defect Tracking• Lab Management• Test Impact Analysis

Feedback Client

System Center 2012

ALM Tools

ALM Practices

Page 29: How Microsoft ALM Tools Can Improve Your Bottom Line

Agenda

ALM Opportunities

Application Lifecycle and ALM

The Bottom LineConclusion

Page 30: How Microsoft ALM Tools Can Improve Your Bottom Line

Summary

• ALM is the use of tools and practices to help you effectively manage your application lifecycles.

• Ineffective and under-managed application lifecycles expose numerous ‘opportunities’

• Adopting ALM best practices and toolscan help you capitalize on these‘opportunities’

• Microsoft has amongst the best toolsfor managing your application lifecycle

• Investments in your ALM practices andtooling can pay off and positively affect your bottom line

Page 31: How Microsoft ALM Tools Can Improve Your Bottom Line

Questions?

Page 32: How Microsoft ALM Tools Can Improve Your Bottom Line

Want to know more...?

Page 33: How Microsoft ALM Tools Can Improve Your Bottom Line

Imaginet’s New Blog Keeps You In The Know

http://blog.imaginet.com

Stay up to speed on the latest news from Imaginet, Microsoft, Visual Studio, and the entire software development world.

Page 34: How Microsoft ALM Tools Can Improve Your Bottom Line

More Webcasts on ALM / TFS / Visual Studio 2012

• Getting Started With Coded UI testing: Building Your First Automated Test• February 28 (1:00-2:30pm CT)

• Lean, Kanban, and TFS • March 7 (1:00-2:30pm CT)• March 21 (1:00-2:30pm CT)

• Using Lean and Kanban to Revolutionize Your Organization• March 11 (1:00-2:00pm CT)

• The newest of the new with Visual Studio and TFS 2012• March 14 (1:00-2:30pm CT)• March 28 (1:00-2:30pm CT)

Upcoming ALM Workshops & Webcasts:

Page 35: How Microsoft ALM Tools Can Improve Your Bottom Line

For attendees of today’s session that fill out the survey

FREE Imaginet On DemandWeb Training Subscription Offer

Complete our Post-Webcast survey, and receive 1 free Imaginet On Demand web training subscription, good for 1 person for 1 month!! The survey will be emailed to you immediately after this webcast is over.

What is Imaginet On Demand? Imaginet is proud to announce our newest web-based training program called Imaginet On Demand, your source for the best Application Lifecycle Management (ALM) training on the internet. Imaginet On Demand is a subscription-based training program centric to the Visual Studio ALM tools, including Visual Studio, Team Foundation Server (TFS), Microsoft Test Manager, and Microsoft Visual Studio Lab Management. Learn the new tools of Visual Studio at your pace, from wherever you want. It's that simple!

Page 36: How Microsoft ALM Tools Can Improve Your Bottom Line

Free Services from Imaginet & Microsoft

There are a number of different Microsoft Programs that you might be able to leverage to get some free services from Imaginet:

• Deployment Planning Services (DPS) – You can trade in your Microsoft Software Assurance credits to receive some free TFS/ALM Deployment Planning Services days with Imaginet

• Partner Services Credit (PSC) – Have you or are you about to spend money with Microsoft on Visual Studio 2012 products? If so, Microsoft may kick in some funding to help you successfully adopt.

• Virtual Technical Specialist (VTS) hours –You may be eligible to receive some free remote consulting/training hours with Imaginet through the Microsoft Virtual Technical Specialist program.

For more information, email [email protected].

Page 37: How Microsoft ALM Tools Can Improve Your Bottom Line

ALM Planning & Implementation ServicesALM Planning • ALM Assessment & Envisioning Workshops

(3 or 5 days)• VS & TFS Migration Planning Workshop (5

days)• TFS Deployment Planning* (5 days)• Visual SourceSafe to TFS Migration

Planning* (3 Days)• Visual Studio Quality Tools Deployment

Planning* (5 days)

Upgrade• TFS 2010 Adoption Quick Start (5 or 10

days)• TFS 2012 Adoption Quick Start (5 or 10

days)• TFS 2010 Upgrade Quick Start (10 days)• TFS 2012 Upgrade Quick Start (10 days)

Remote Support• Remote Support for TFS & Visual Studio

Lab• Visual Studio Lab Management Quick Start

(10 days)

Testing• Manual Testing with Test Manager Quick

Start (5 days)• Visual Studio Testing Tools Quick Start (10

days)• Visual Studio Automated Testing Quick Start

(5 days)• Visual Studio Load Testing Quick Start (5 or

10 Days)

Builds• Automated Build & Release Management

Quick Start (5 days)• Automated Build Center of Excellence (CoE)

Database• Visual Studio Database Tools Quick Start (10

days)

Integrations• Team Foundation Server (TFS) & Project

Server Integration Quick Start (10 days)• TFS & Quality Center Integration/Migration

Quick Start (10 days)

Page 38: How Microsoft ALM Tools Can Improve Your Bottom Line

Need Help with YOUR Application Lifecycle Management?

• Assess the current state of maturity of software development at your company

• Develop a plan and roadmap for improving software development practices

• At the completion of the ALM Workshop, your organization will have a better understanding of not only where you are today, but the steps you can take to improve your software development, management, configuration, and quality practices to meet your goals.

Imaginet’s ALM Assessment & Envisioning Workshop

Interested? Just email us at [email protected].

Page 39: How Microsoft ALM Tools Can Improve Your Bottom Line

Top Gun Academy Training Classes

• Other Imaginet Training Classes– ALM

• Microsoft Visual Studio & TFS 2012 – Skills Upgrade (2 days)• Overview Training with Microsoft Visual Studio 2012 ALM Tools (4 days)• Overview Training with Microsoft Visual Studio 2010 ALM Tools (4 days)• Testers Training with Microsoft Visual Studio 2012 ALM Tools (4 days)• Testers Training with Microsoft Visual Studio 2010 ALM Tools (4 days)• Developers Training with Microsoft Visual Studio 2012 ALM Tools (4 days)• Developers Training with Microsoft Visual Studio 2010 ALM Tools (4 days)• Imaginet On Demand Online Web Training

– Scrum/Kanban• Professional Scrum Foundations (PSF) (2 days)• Professional Scrum Master (PSM) (2 days)• Professional Scrum Developer (PSD) (5 days)• Professional Scrum Master (PSM) Using Microsoft ALM (3 days)• Accredited Core Kanban Using Microsoft ALM (3 days)To register or for more information, please visit our website here:

http://www.imaginet.com/ or contact us: [email protected]

Page 40: How Microsoft ALM Tools Can Improve Your Bottom Line

Upcoming Class – Tester Training with VS 2012

This four-day instructor-led course provides students with the knowledge and skills to use the latest testing tools provided by Visual Studio 2012 to support a variety of different testing needs (manual and automated).

Date: March 11-15, 2013Location: Dallas (Irving, TX)Price: $2375/student

Registration link will be included in our follow-up email later today!

Testers Training Using Visual Studio 2012 ALM Tools

(4 Days Class)

Page 41: How Microsoft ALM Tools Can Improve Your Bottom Line

For questions or more information,please contact us at:

[email protected] or (972)607-4830

Remember to add http://blog.imaginet.com to your favorite reader!

Page 42: How Microsoft ALM Tools Can Improve Your Bottom Line

http://www.imaginet.com