This three-day, instructor-led course provides students with the knowledge and skills to properly manage the SQL Server 2005/2008 database development lifecycle in an Agile environment. The student will learn how to manage changes to the database schema, ensuring quality through T-SQL unit testing, and how to automate the building and deploying of SQL Server databases.
Class goals :
Understand the database development capabilities of Visual Studio 2010
Understand the areas of integration with Team Foundation Server
Understand how the tools support an Agile database development lifecycle
Create and configure database projects and server projects
Compare schemas and data for differences from two SQL Server instances
Generate scripts to reconcile differences in schemas and data
Understand and create effective T-SQL unit tests
Understand and use database refactoring correctly
Use MSBuild and Team Build to manage build and deployment
Extend Visual Studio by creating your own database refactoring method, test data generator, unit test condition, and static code analysis rule
Content of Training Database with Visual Studio 2010
Class Outline
Agile Database Development
Agile database development
Agile database techniques
Visual Studio 2010 Premium Edition
Case study
Resources
Lab Exercises
Meet the AdventureWorks team
Review the environment
Deploy the database
Database Projects
Architecture of a database project
Creating and managing database projects
Visual Studio 2010 integration
Importing database schema
Importing SQL scripts
Permissions
Lab Exercises
Explore Visual Studio integration
Create a new database project
Modify the database project
Import a database schema
Import a SQL script
Change Management
Introduction to Team Foundation Server
Working with Team Projects
Process templates and work items
Using Team Foundation Version Control
Placing database projects under version control
Detecting and reconciling database schema differences
Detecting and reconciling table data differences
Lab Exercises
Create a Team Project and work items
Configure Team Foundation Version Control
Place a database project under version control
Explore and Visual Studio 2010 version control features
Compare schemas for differences from two SQL Server instances
Compare data for differences from two SQL Server tables
Generate scripts to reconcile differences in schemas and data
Explore the MSSCCI provider from SQL Server Management Studio (optional)
Unit Testing
Reasons to unit test your database code
How to create database unit tests manually
How to create database unit tests automatically
Assertions vs. conditions
Executing unit tests
Managing and publishing test results
Static code analysis
Lab Exercises
Create and execute database unit tests
Use pre-test and post-test actions
Use an ordered list to run tests
Export and import test results
Create unit tests automatically from the Schema View window
Run static code analysis
Refactoring
Introduction to refactoring
Refactoring support in Visual Studio 2010
Database refactoring methods
Rename refactoring methods
Move refactoring method
Fully-qualify refactoring method
Expand-wildcard refactoring method
Resources
Lab Exercises
Approaches to renaming database objects
Use the rename refactor method
Preview changes
Undo refactoring using global undo
Review the refactoring log
Data Generation
Issues with test data and some potential solutions
Data generation plans
Data generators
Regular expression generator
Data bound generator
Creating and running a data generation plan
Automatically generating data prior to running unit tests
Lab Exercises
Create a data generation plan
Use the Regular Expression data generator
Use the Data Bound generator
Configure generation for related table and set ratios
Generate data automatically prior to running unit tests
Build and Deploy
The need for automated build and deployment
Building database projects
Deploying schema changes
The VSDBCMD.exe command line utility
Integration with MSBuild
Integration with Team Foundation Build
Lab Exercises
Build the database project
Deploy database schema changes
Use custom deployment scripts
Automate using MSBuild and Team Foundation Build
Extensibility
Visual Studio 2010 Areas of extensibility
Visual Studio database project and item templates
Custom database refactoring methods
Custom static code analysis rules
Custom test data generators
Custom unit test conditions
Custom check-in policies
Lab Exercises
Customize database object templates
Create a custom data generator
Create a custom unit test condition
Create a custom code analysis rule (optional)
Create a custom refactoring method (optional)
Create and debug a custom check-in policy (optional)
Training Database with Visual Studio 2010
Onze voordelen :
Type of training: Inter-company, intra-company and individual
100% flexible & personalised training : You choose the place, the dates and the training program
Offer request : Response within 24 hours
50% discount for SME’s from Brussels-Capital Region
Free parking, lunch & drinks
Free use of our Digital Competence Centre: Manuals, courses, exercises, …
This is not your typical Agile and Scrum 101 course. This course is designed to spend 25% of the time on « What » and « Why » behind Agile and Scrum and 75% on how you can actually start using it on your team tomorrow! This is team training so all roles (including the business product owners) should attend! In this Agile and Scrum course, attendees will learn real world techniques used by dozens of teams.
Class goals :
Compare Waterfall to Agile.
Learn the Agile values and principles.
Learn what Scrum is, the roles involved, and the process.
Compare and contrast Agile and Scrum roles to traditional roles and responsibilities.
Learn the Agile Lifecycle.
Learn to plan your release and build the backlog.
Learn to identify good stories.
Learn the methods for prioritizing and sizing stories.
Learn Sprint Planning and task estimating.
Learn about the Daily Scrum Meeting.
Learn about the Sprint review and retrospective.
Learn why Agile and Scrum are adopted.
Learn how Agile can fail and how to avoid pitfalls.
Content of Training Real World Agile and Scrum
Class Outline
What is Agile & Scrum and Why?
Traditional Project Characteristics
The Agile Values
What is Agile
What is Scrum
Agile Characteristics
The Iteration Process
The Backlog
Agile/Scrum Top Terms
Scrum Rules Cheat Sheet
Agile / Scrum Roles
Scrum Roles
Who is the Product Owner?
Product Owner is the Business Value Driver
Product Owner is the Daily Decision Maker
Business Users and SMEs
The ScrumMaster
ScrumMaster is a Servant Leader
The Team
Sample Team Structure
The Team – Characteristics
Team Maturity Stages
Management Has a Role Too
Best Practice: Reduce Cross-Project Multi-Tasking
Best Practice: Plan Well for Shared Resources
New Skills Are Needed
Agile Roles – Handout
Workshop – Agile vs. Traditional Roles
So Why is Agile Being Adopted?
So Who is Doing Agile?
Challenges with Agile Adoption
Workshop – Assessing Your Agility
The Agile Lifecycle – Big Picture
READY… SET… GO!
Release Planning
Product roadmap
Release Planning
Release Planning Steps
Release Planning (picture)
Principles for Identifying Stories
Identifying Features / Stories
Use Case Diagrams
Themes, Features, Epics, Stories
Sample Backlog
What is a Story?
Sample Stories
Writing Good Stories
Workshop – Identifying Features Using Use Cases
Breaking Stories Into Small Chunks
Sample Compound Stories
Sample Complex Stories
Sample Non-Functional Stories
Workshop – Writing Stories
How to Prioritize
Prioritization Factors
Dependency Chart Example
Best Practice: Do Collaborative Requirements Gathering
Workshop – Prioritizing Stories
Sizing Stories Based on Complexity
Story Points
Hours vs. Story Points
Playing Poker
The ‘Complexity Buckets’ Method
Workshop – Sizing Stories
Building a Release Plan
Defining the Team’s ‘Done’
Sample Definition of ‘Done’
Sample Definition of ‘Done’ ..
How Long Should My Iteration Be?
Estimating Initial Velocity
Workshop – Estimating Initial Velocity
Planning for Additional Iterations
Developing the Project Estimate
Have Realistic Expectations
Sample Release Plan
Workshop – Building Your Release Plan
Iteration 0 / Setup
Sprint 0 – Setting Up the Foundation for Success
High Level Designs
Team Training
The Team Room / Environment
Best Practice – Plan for ‘Gotchas’
Workshop – Iteration 0 Planning
Iteration Execution
Iteration Planning
Sample Iteration Plan
Best Practices for Efficient Iteration Planning
sample user test cases
Best Practices for Task Breakdown
everyone writes their tasks
commitment reality check
resource utilization sample
best practice – involve shared resources
Best practice – plan for ‘design’ and ‘code review’ tasks
Workshop – Iteration Planning
Creating the Task Board
Task Board Variations
daily tracking
Daily Standup Rules
Best Practice: ETA Dates vs. Hours Remaining
Best Practice: Control Common Standup Dysfunctions
Best Practice: Task Dependency Chart
Iteration Burn down Charts
iteration burn down – by story
Best Practice Use Them With Caution
Workshop- Controlling Standup Dysfunctions
What Happens During the Iteration
The ScrumMaster
The Product Owner
The Architect
The Developer
The BA
The Tester
impediments
Impediment sample
preparing for the review/demo
iteration review
Tracking Team’s Performance (Velocity)
Managing Scope Changes
Release Burnup Chart
Iteration Retrospective
best practices for retrospectives
sample retrospective output
Workshop – The Retrospective
Pre-Release & Closure
The Pre-Release Sprint
Workshop – The Art of the ‘Possible’
Our Top Best Practices
Our Top Management Best Practices
Our Top Team Best Practices
Our Top Requirements Best Practices
Our Top Technical Best Practices
Training Real World Agile and Scrum
Onze voordelen :
Type of training: Inter-company, intra-company and individual
100% flexible & personalised training : You choose the place, the dates and the training program
Offer request : Response within 24 hours
50% discount for SME’s from Brussels-Capital Region
Free parking, lunch & drinks
Free use of our Digital Competence Centre: Manuals, courses, exercises, …