Microsoft's ALM tools like Visual Studio and Team Foundation Server can help improve an organization's bottom line by addressing common application development inefficiencies and issues. The document outlines scenarios where ALM tools could help such as inconsistent processes, lost work, and quality being an afterthought. These issues waste time and money. Implementing ALM best practices and tools can help capture opportunities by improving visibility, automating processes, and enforcing standards to develop higher quality software more efficiently.
How Microsoft ALM Tools Can Improve Your Bottom Line
1. How Microsoft's ALM Tools
Can Improve Your Bottom Line
Imaginet Resources Corp.
http://www.imaginet.com
Imaginet and ALM – Efficiently Build Better Software
2. Agenda
Application Lifecycle and
ALM
ALM Opportunities
The Bottom Line
Conclusion
3. 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”?
Ideas Projects
Require-
Design Code Test Deploy
ments
Operate Retire
4. And What is Application Lifecycle Management?
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
5. 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
6. Agenda
Application Lifecycle and
ALM
ALM Opportunities
The Bottom Line
Conclusion
7. 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.
8. 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
9. 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
10. 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
11. 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
12. 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
13. 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
14. 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
15. 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
16. 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
17. 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
18. 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
19. 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
21. 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
22. 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
23. 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!
24. 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?
25. Agenda
Application Lifecycle and
ALM
ALM Opportunities
The Bottom Line
Conclusion
28. ALM Practices and Microsoft Tools
ALM Practices
• Common vocabulary • Capacity Management • Test Environment
• Consolidated & Consistent • Integrated Team Management
Information • Quality Mindset • Performance Testing
• Backlog Management • Requirements driven • Automated Deployment
• Storyboarding • Transparency • Automated Testing
• Team Mindset • Stakeholder Feedback • Continuous Delivery
• Requirements feedback • Daily meetings • Continuous Feedback
• Iterative Development • Current information • Continuous Improvement
• Agile Planning • Quality Assurance • Dev/Ops Coordination
• Automated Builds • Rich communications
ALM Tools
Team Foundation Server Visual Studio 2012 Microsoft Test Manager
• Backlog Management • Integrated ALM • Requirements Suites
• Capacity Management • Architecture tools • Manual Testing
• Kanban Board • My Work • Exploratory Testing
• Agile Taskboard • Suspend/Resume • Rich Defect Tracking
• Integrated Reporting • Unit Testing • Lab Management
• Work Item Tracking • Fakes • Test Impact Analysis
• Team Foundation Build • Coded UI Testing
• Alerts • Load Testing Feedback Client
• Dashboards • Code Metrics
• Code Clone Analysis System Center 2012
PowerPoint Storyboarding • IntelliTrace
29. Agenda
Application Lifecycle and
ALM
ALM Opportunities
The Bottom Line
Conclusion
30. 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 tools
can help you capitalize on these
„opportunities‟
• Microsoft has amongst the best tools
for managing your application lifecycle
• Investments in your ALM practices and
tooling can pay off and positively affect your bottom line
33. Imaginet‟s New Blog Keeps You In The Know
Stay up to speed on the latest news from Imaginet, Microsoft,
Visual Studio, and the entire software development world.
http://blog.imaginet.com
34. More Webcasts on ALM / TFS / Visual Studio 2012
Upcoming ALM Workshops & Webcasts:
• 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)
35. For attendees of today‟s session that fill out the survey
FREE Imaginet On Demand
Web 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!
36. 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 bmadison@imaginet.com.
37. ALM Planning & Implementation Services
ALM Planning Testing
• ALM Assessment & Envisioning Workshops • Manual Testing with Test Manager Quick
(3 or 5 days) Start (5 days)
• VS & TFS Migration Planning Workshop (5 • Visual Studio Testing Tools Quick Start (10
days) days)
• TFS Deployment Planning* (5 days) • Visual Studio Automated Testing Quick Start
• Visual SourceSafe to TFS Migration (5 days)
Planning* (3 Days) • Visual Studio Load Testing Quick Start (5 or
• Visual Studio Quality Tools Deployment 10 Days)
Planning* (5 days)
Builds
Upgrade • Automated Build & Release Management
• TFS 2010 Adoption Quick Start (5 or 10 Quick Start (5 days)
days) • Automated Build Center of Excellence (CoE)
• TFS 2012 Adoption Quick Start (5 or 10
days)
Database
• TFS 2010 Upgrade Quick Start (10 days)
• Visual Studio Database Tools Quick Start
• TFS 2012 Upgrade Quick Start (10 days) (10 days)
Remote Support Integrations
• Remote Support for TFS & Visual Studio • Team Foundation Server (TFS) & Project
Server Integration Quick Start (10 days)
Lab • TFS & Quality Center Integration/Migration
• Visual Studio Lab Management Quick Start Quick Start (10 days)
(10 days)
38. Need Help with YOUR Application Lifecycle Management?
Imaginet’s ALM Assessment
& Envisioning Workshop
• 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.
Interested? Just email us at info@imaginet.com.
39. 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: info@imaginet.com
40. Upcoming Class – Tester Training with VS 2012
Testers Training Using
Visual Studio 2012 ALM Tools
(4 Days Class)
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, 2013
Location: Dallas (Irving, TX)
Price: $2375/student
Registration link will be included in our follow-up email later today!
41. For questions or more information,
please contact us at:
info@imaginet.com or (972)607-4830
Remember to add http://blog.imaginet.com to your favorite reader!
Why should your business focus on Application Lifecycle Management? What benefits will you see to your overall business? How does ALM impact your bottom line? Come attend this free webinar to discover all the answers!REFERENCES:Gartner: http://www.gartner.com/technology/reprints.do?id=1-1ASCXON&ct=120606&st=sbhttp://leanagilemachine.blogspot.com/2010/07/why-use-scrum-or-any-other-agile.htmlhttp://www.poweredbypulse.com/Why_ALM_is_Important.pdf
1 – Classic SDLC2 – Make sure to talk about operations being the successful completion of an SDLC cycle but a part of an application’s life3 – We need Cycle in “Lifecycle”. Explain feedback loop and iterative nature of applications.
0 - You want to <build something>CLICK1 - So you talk to a friendCLICK2 - Have…. An idea to build an appCLICK3 – So you decide to create a list of wishes for your appCLICK4 - You write down your idea for an app as your first wish – This is your primary requirement or storyCLICK5 - And then you write down some more ideas as more wishes for your appCLICK6 - Now that you have a set of wishes for your app you decide that you need to do some design, so you start turning your ideas into storyboardsCLICK7 – And these storyboards in turn cause you to discover more wishes for your appCLICK8 – And now your wishes have become a wishlist which we call a product backlogCLICK9 – But you are smart and you know you can’t have all your wishes at once so you begin to prioritize your wishes focusing on those you must haveCLICK10 – and now your wishlist has become a To Do ListCLICK11 – And from your To Do list of wishes you start adding the tasks, tests etc that will turn your Wishes into reality. We call this a sprint or iteration where you have prioritized your wishes into a set of tasks that you can execute on in a given period of timeCLICK12 – And now you can start building and testing and building and testing until you have completed all your tasks and all your tests are passing at which point…CLICK13 – You have a working app (of some sort)…CLICK14 – Now it is time to see if what you have built is good so you gather together a group of people (Stakeholders) to look at your working appCLICK15 – And you ask them to give you feedbackCLICK16 – And you take their feedback and that feedback turns into more wishes for your wishlist and the cycle continues…CLICK – TO NEXT SLIDE
“Modern tools and practices to effectively manage your applications’ lifecycles”
Effects: Costs and Benefits. Need applications to run business. There is waste in app development. There are problems.Look at your existing practices and tools. Find opportunities, waste, inefficiencies. Estimate ROIChange costs but change can also improve efficiency and your bottom line.Now let’s look at some common scenarios…
ALM doesn’t cure these issues. It provides the tools and disciplines to allow you to conquer them and improve your practices.
Make sure to talk about how w approach the problems and help people understand the value… We want them to realize they should bring us in to help them justify a full ALM assessment and adoption
Talk to how the tools and practices can be used to identify monitor and improve practices and improve your bottom line
Imaginet has the tools and experts to help your team adopt the Microsoft tools and best practices toeffectively