Working Agile with Scrum and TFS 2013
-
Upload
moataz-nabil -
Category
Technology
-
view
5.986 -
download
1
Transcript of Working Agile with Scrum and TFS 2013
Work Agile with Scrum and Visual Studio Online 2013Moataz NabilSenior QC Engineer | Cequens | EgyptMCSD - MCTS - ISTQB Certified@moatazeldebsy | www.moataznabil.com
Egyptian Automation Testers
Every Project Story
The customer knows nothing
The developer thinks about new technologies
The PM thinks about the deadline
The analyst thinks he knows everything
He got “everything” from the customer, who knows “nothing” ;-)
Every Project Story
The developer: “I can do it in 3 months”
The PM: “You’ll do it in 2 months”
The project takes 4-5 month
Every Project Story
1st Month: Everybody is happy
2nd Month: Customer sees “something”
3rd Month: Customer makes tons of changes
The developer screams
The project manager blames …. ???
Last Month: Everybody is at office till 8-10 PMEvery DAY:
The PM: Developer, you’re not done yet? LOSER!!
Why does it happen?
Requirements are not fully understood at the beginning of the process.
Requirements change during the process.
The process becomes unpredictable when new tools and technologies are used.
Agile Manifesto
Individuals and interactions
Over processes and tools
Working software
Over comprehensive documentation
Customer collaboration
Over contract negotiation
Responding to change
Over following a plan
Agile Methodologies
eXtreme Programming (XP)
Pair Programming
Test Driven Development
Continuous Integration
Refactoring, Coding Standards, etc…
Scrum
Scrum Roles: Product Owner
Possibly a Product Manager or Project Sponsor
That’s what we call an “analyst”
Marketing
Internal Customer
etc.
Not a technical guy, BUT ….
Scrum Roles: Scrum Master
Responsible for enacting Scrum values and practices
Manages the sprint meeting
Does the sprint reporting
Typically a Project Manager or Team Leader
Scrum Process
All Scrum Meetings are facilitated by the ScrumMaster, who has nodecision-making authority at these meetings.
Backlog Refinement Sprint
Sprint Retrospective
Sprint Planning
Daily Scrums
Sprint Review
Backlog Refinement Meeting
Most Product Backlog Items (PBIs) initially need refinement because they are too large and poorly understood. Teams have found it useful to take a little time out of Sprint Execution — every Sprint — to help prepare the Product Backlog for the next Sprint Planning Meeting.
In the Backlog Refinement Meeting, the team estimates the amount of effort they would expend to complete items in the Product Backlog and provides other technical information to help the Product Owner prioritize them.
Sprint
Before Start: Sprint Planning
Starts with Sprint BacklogChoose highest priority items remaining in product backlog
Ends with Deliverables
New Features Developed / Old Bugs Fixed
Sprint Zero and Sprint One might deliver documents!Architecture Documents
UI Prototype
After End: Sprint Review Product Demonstration
Product Owner declares what’s done
(Optional) Measure velocity
Stakeholder feedback
Sprint Daily Meetings
What did you do Yesterday ?
What will you do today ?
Do you have any problems ?
Sprint Daily Meetings
Stand up Meetings
15 Minutes Max.
Well, don’t exceed 30 minutes at least
Entire Team + Scrum Master
Sprint Review Meeting
After Sprint execution, the team holds a Sprint Review Meeting to demonstrate a working product increment to the Product Owner and everyone else who is interested.
The meeting should feature a live demonstration, not a report. After the demonstration, the Product Owner reviews the commitments made at the Sprint Planning Meeting and declares which items he now considers done.
Sprint Retrospective Meeting
Each Sprint ends with a retrospective. At this meeting, the team reflectson its own process. They inspect their behavior and take action to adaptit for future Sprints.
Time-Boxes
The Time-Boxes in Scrum are the:
Release Planning Meeting
Sprint
– 2 – 4 weeks
Sprint Planning Meeting
– What and how, each 4 hours for one month sprints
Daily Scrum
– 15 minutes Stand up
Sprint Review
– 4 hours for one month sprints
Sprint Retrospective
3 hours
The Product Backlog represents everything necessary to develop and launch a successful product.
It is a list of all features, functions, technologies, enhancements, and bug fixes that constitute the changes that will be made to the product for future releases.
Product backlog item
IndependentNegotiable
Valuable
Estimable
Small
Testable
Workflow & Characteristics
• At the beginning of each Sprint, the Product Owner and team hold a Sprint Planning Meeting to negotiate which Product Backlog Items they will attempt to convert to working product during the Sprint.
• The Product Owner is responsible for declaring which items are the most important to the business. The team is responsible for selecting the amount of work they feel they can implement without accruing technical debt. The team “pulls” work from the Product Backlog to the Sprint Backlog.
Sprint backlog
Definition of Done
Designed
Refactored
Coded
Code review
Design review
Unit tested
Functional tested
Unit test harness Integration tested
Regression tested
Performance tested
Security tested
User Acceptance tested
Practices
Test early and often
Build and deploy continuously
Acceptance Test Driven Development
Emergent Architectures
Refactor
Test Driven Development
Agile Database Development
Pair Programming
Business Analyst Gather Requirements Analyze Requirements Create Product Backlog
Project Manager Work Breakdown Monitor Tasks Task Control Decisions Report Project Status
Architect Conceptual Design Logical Design Physical Design
Developer Generate Code Write Custom Code Analyze and Review Code Check-in
Tester Create Test Cases Run Tests File Bugs Verify Bug Fixes
Practices
REQUIREMENTS
PRODUCTBACKLOG
OPSBACKLOG
MonitorImplement
WORKING SOFTWARESHARED ARTIFACTS
DefineIdeation
DevelopIdea to working software
OperateWorking software in productionValue realization
Application Lifecycle Management Removing the impediments to continuous value delivery
Users/Stakeholders
Development & testing
Operations
ACTIONABLE LEARNING
Continuous value delivery
TFS enables Visual Studio ALMTeam Foundation ServerFull lifecycle control for mission critical IT projects
Define
• Agile planning tools for stakeholder engagement
• Backlog management and capacity planning
Develop
• Developer productivity enhancements
• Continuous stakeholder feedback
Operate
• Automated build-deploy-test
• Detailed Reporting and Metrics
• Strong integration with Microsoft on-premises offerings
REQUIREMENTS
PRODUCTBACKLOG
OPSBACKLOG
MonitorImplement
WORKING SOFTWARE
What is Visual Studio Online?Team
Foundation Service
Planning Source Repos Work Item Tracking Continuous
Delivery (Azure) Build Automation Test Case and Feedback
Management
Plan details and subscriber benefitsIncluded for eligible MSDN subscribers:
Free Plan for up to 5 users
Unlimited number of projects Version control Work item tracking Agile planning tools Build (limits apply) Cloud Load Testing (limits apply)
Additional information at http://tfs.visualstudio.com
Accessible from anywhere
• Source code and work items are accessible from any modern web browser
• Integrates with Visual Studio and Eclipse, includes command-line client for Xcode / other developer tools
Get started quickly, with no infrastructure to manage
• Create an account in minutes, set up continuous integration in a few easy steps
• Data is stored in the cloud, making server configuration a thing of the past
• Request and manage stakeholder feedback from anyone with a Live ID/Microsoft account
All languages and platforms welcome
• From C# to Python, from Windows to Android, developers can use a variety of languages and target a variety of platforms
• Use the tools your development teams are familiar with today – Team Foundation Service helps developers focus on what they do best: building great applications
Team Foundation Service
Cloud-based source code & work item management
• Store and version control code in any language
• Integrates with Visual Studio and Eclipse, includes command-line client for Xcode / other developer tools
• Connectors to sync with Git repositories
Team collaboration and agile planning tools
• Work item and bug tracking
• Backlog management and capacity planning - Scrum, Agile, and CMMI project templates
• Kanban board and task boards
• Request and manage stakeholder feedback from anyone with a Live ID/Microsoft account
Build, continuous integration, continuous deployment
• Build services will build and run unit tests in the cloud (depends on project type)
• Supports deployment of web sites and web / worker roles directly to Azure as part of build
Team Foundation Service capabilities
Check In
Once your developer tool is connected to Team Foundation Service, uploading code is easy.
Gated check-in and code merging are also supported.
Uploading code is simple