Managing the lifecycle of software development can be a daunting task, especially after having adopted an Agile methodology that has you moving faster than ever. That is why it is more important than ever to have the right tools in place that allow you to effectively manage all facets of your SDLC from requirements gathering to testing and deployment. In the suite of tools available in the space of Application Lifecycle Management (ALM), Team Foundation Server (TFS) is a stand out. Let us show you how your organization can benefit from the advanced capabilities and unique configurability of TFS to successfully deliver your software development projects on time and on budget.
3. TODAY’S AGENDA
1. ALM and Agile What do they mean and why do we care?
2. Why TFS It’s not just about source code anymore!
3. Stakeholders Requirements and project management.
4. Developers Development, QA, testing, and deployment.
5. Questions How can we help you take advantage of TFS?
4. Overview – Application Lifecycle Management
• The product lifecycle of delivering software applications
Specs
Priorities
QA Dev
Deploy
• Addresses governance, development and maintenance
6. Overview – Agile Methodology
• Flexibility
• 2001 “The Agile Manifesto”
• Teams and Interactions over Process and Tools
• Working Software over Comprehensive Documentation
• Customer Collaboration over Contract Negotiation
• Responding to Change over Following “The Plan.”
• DevOps – integration between development process and operations, i.e.
your Hybrid IT
• Further Reading: 10-Year Retrospective and Keys for Success
http://msdn.microsoft.com/en-us/library/hh350860(v=vs.100).aspx
7. Waterfall
Long Design Phase
Development Black
Box
Mad Bug
Scramble
Oops!
Business/Technology
Changed
8. Agile
Prioritize
Sprint
Plan
Iteration 1 Iteration 2
Develop
and Test
Release
Review
Sprint
Plan
Develop
and Test
Prioritize
Release Review
9. Agile vs. Waterfall (the promise)
Waterfall To Agile Result
Process and Tools Individuals and
Interactions
QA is part of the team
and not just a hand-off,
participates in estimation
Comprehensive
Documentation
Working Software Get to market faster (and
get feedback from market
quickly)
Contract Negotiation Customer Collaboration Deliver software closer to
what you want, not what
you wanted
Following a Plan Responding to Change Move from delayed
software releases to
delayed feature releases
10. Agile vs. Waterfall (the reality)
Agile Assertion Reality Result
Individuals and
Process is tough to
Interactions over Process
change, existing
and Tools
investments in tools
Pragmatic approach: use
existing processes but
subject them to change
Working Software over
Comprehensive
Documentation
Stakeholders want their
documentation
Compromise and
generate docs from
software and
requirements
Customer Collaboration
over Contract
Negotiation
Often business requires a
fixed schedule and has a
limited budget
Use prioritization to
deliver best possible
software by deadline in
budget
Responding to Change
over Following a Plan
Stakeholders need to
know major milestones
and risks
Provide real-time updates
from the process and
share updated plan
11. Team Foundation Server for ALM
• Bridge between Waterfall and Agile
• Not Just for Source Control!
• Business Analyists → Requirements Management
• Project and Product Managers → Backlog Management, Burn Down, Velocity
• QA → Test Suite, Test Cases, Automated Test Execution
• Developers → Code, Branching, Merging and COLLABORATION
• Extensibility and integration with APIs and Adapters
• On premise
• In the cloud
12. Go from this …
Requirements App
Build System
Source Control
Defect Tracking
I can’t remember 5 logins!!!
Visual Studio IDE
13. … to this
Everything in one place, in the cloud
14. “How We Build Software at Microsoft”
• http://stories.visualstudio.com/
• 3 Years to 3 Weeks
• Code is written and tested daily
• QA in Sprint to Ship Complete
• Measure Results and Feature Consumption
• Scales Across Hundreds of Developers
• Sprint Review Rollup
15. Requirements Management
• EPIC!
• … to Features
• … to User Stories with Test Cases and Acceptance Criteria
• … to Tasks
• … “Anyway you want it, that’s the way you need it”
• Generate the Word Document FROM the Requirements, Not the Other Way
Around
• Storyboard Right from PowerPoint (with TFS Synchronization)
• Groom the Backlog Online
• Synchronize and Update from Excel
17. Project and Product Management
• Backlog prioritization
• Sprint planning
• Burn down reporting
• Defect Tracking
• Full Kanban visibility with as many or as few swim lanes as you care for
19. Development
• Visual Studio and Eclipse
• Love the Command Line? So Does TFS!
• Got git? Can do that, too.
• Code Review Workflow
• Collaborative Team Rooms with Notifications
• Continuous Integration with Gated Check-in
• Pick Your Testing Framework (NUnit? Jasmine?)
25. Quality Assurance
• Test Suite and Test Case Management
• Lab Management
• Automated Bug Integration, Submission
• Video and Screenshot Attachments
• IntelliTrace™ - Debug Backwards in Time!
• “I Can’t Reproduce This”
28. Dashboards
• Customizable: Project, Team, YOU
• Over Status and Key Statistics
• Plug-in Report Parts (On-Premise Only)
• Drill-Down to Key Areas
• Custom Queries and Metrics
• Snapshot for Daily Meetings
30. A Quick Note: Licensing
• Pro – test frameworks, integration and unit tests
• Test Pro – manual testing, exploratory testing, test case management, and
“fast-forward” in manual testing
• Premium – Microsoft Fakes, Code Coverage, Coded UI
• Ultimate – Web Load and Performance
• Everything but Pro gives you Lab Management
• Visual Studio Online – MSDN Subscriptions can secure seats (Test Pro,
Premium, and Ultimate at same level)
• FREE Stakeholders for VSO – view team and project dashboards, backlogs,
task boards, create and edit work items
• http://www.visualstudio.com/products/visual-studio-online-user-plans-vs#
AdditionalPageSections_1
31. How Can iVision Help?
• ALM Health Check – review of your TFS installation, source control, solution
and project strategy, build configuration, and requirements management.
• ALM Migration – get rid of upgrade and maintenance headaches by
migrating your on-premise TFS to Visual Studio Online.
• ALM Training – learn how to leverage all of the productivity boosting
features of TFS.
• Consumption Reporting – Application Insights give you immediate customer
feedback. Don’t prioritize based on what you’ve developed; instead prioritize
based on what your customers consume!
• Custom Application Development – modernize and/or migrate existing
applications and develop new for desktop, mobile, cloud and beyond.
We used to talk about the Software Development Life Cycle (SDLC)
Microsoft promotes a Security Development Lifecycle (SDL) to address security compliance requirements (training, requirements, design, implementation, verification, release, and response) http://www.microsoft.com/security/sdl/
ALM is an umbrella over these processes and recognizes there is more that goes into an application than just the software (i.e. infrastructure, security, etc.)
Cross-functional/self-organizing teams, iterative delivery, sprint planning, note: there IS a plan!
Note project/product is replaced by Scrum master.
Backlog item “Show stock levels per inventory item” has a storyboard associated with it. Demo adding a PBI to a Feature and then a Task to a PBI.
Continuously update the things you need
Continuously prioritize the things you needed yesterday
Export and update to/from Excel and/or Microsoft Project
Forecasted using anticipated velocity
Collaborative and cross-functional (QA participates)
See the real velocity of the team
Understand when it will be delivered
Linked to relevant work items
Specific workflow
Demonstrate forecasting based on velocity
Demonstrate drag and drop prioritization
Demonstrate drag and drop Sprint assignment
Demonstrate swim lanes
This is ideal for remote teams both onshore and offshore. Full cycle, segregated code, fast and unambiguous feedback loop.
Great for events like sprint releases or hackathons to coordinate across teams.
Deploy to specific servers based on config, build config for example, JavaScript-based Jasmine tests run in the headless PhantomJS browser as part of gated check-in
Show FizzBuzz and tests, then drill into builds and show how tests fail the builds or set warnings
Lab mgmt: Still need to test your app on WinXP running IE6? (shame on you)