Upload
imaginet
View
1.276
Download
0
Embed Size (px)
Citation preview
How Microsoft's ALM Tools Can Improve Your Bottom Line
Imaginet Resources Corp.http://www.imaginet.com
Imaginet and ALM – Efficiently Build Better Software
Agenda
ALM Opportunities
Application Lifecycle and ALM
The Bottom LineConclusion
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
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]
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
Agenda
ALM Opportunities
Application Lifecycle and ALM
The Bottom LineConclusion
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.
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
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
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
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
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
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
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
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
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
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
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
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
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”?
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
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
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!
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?
Agenda
ALM Opportunities
Application Lifecycle and ALM
The Bottom LineConclusion
Microsoft’s ALM Solution
http://www.gartner.com/technology/reprints.do?id=1-1ASCXON&ct=120606&st=sb
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
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
Agenda
ALM Opportunities
Application Lifecycle and ALM
The Bottom LineConclusion
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
Questions?
Want to know more...?
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.
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:
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!
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].
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)
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].
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]
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)
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!
http://www.imaginet.com