Title: Developing Quality Software Using Visual Studio Team System
1Developing QualitySoftware UsingVisual Studio
Team System
- Mathias Olausson
- Solution Architect
- Callista Knowledgebase
2About...
- Mathias Olausson
- Architect, trainer
- Focus on VSTS since 05
- Training, customization, deployment
- mo_at_callista.se, http//olausson.net/blog
- Callista Knowledgebase
- Microsoft Partner
- Custom Development Solutions
- Database Management Solutions
- http//knowledgebase.callista.se
3Agenda
- The case
- The concept
- The code
4The Situation Today
- Custom development (still) too expensive
- Situation is improving
- Projects fail too often
- Only 30 of projects are classed as successful
(Standish group, 2004) - Business and software dont align
- Quality not a feature
- Development process not productive
5The ApproachFocus on people, process and tools
Agile Customizable Lightweight
Patterns and Practices
Highly integrated Productive
Extensible Low admin
6Agenda
- The case
- The concept
- The code
7Visual Studio Team System
Visual Studio Team Suite
SoftwareArchitects
SoftwareDevelopers
DatabaseProfessionals
SoftwareTesters
VisualStudioIndustryPartners
VisualStudioTeamExplorer
Application Modeling
Code Analysis
Database Deployment
Performance Testing
Infrastructure and Deployment Modeling
Performance Tuning
DatabaseChange Mgmt.
Manual Testing
Database Testing
Test Case Management
Security Analysis
Unit Testing
Code Coverage
MSF Process and Guidance
Class Modeling
Visio and UML Modeling
Visual Studio Professional Edition
Load Test Agent
Visual Studio Team Foundation Server
Change Management
Reporting
Integration Services
Work Item Tracking
Project Site
Project Management
8Project Manager / Business Analyst
- Management, not tracking
- Collaboration and Communication
- Work Items
- Capture Information
- Work Items
- Quality
- Real-time reports
- Predictability
- Real-time reports
- Process automation
- Work Items, notifications
9Inadequate Unit Testing
10Architect / Development Lead
- Visualize ideas
- Intelligent models
- Networking with IT
- Create datacenter diagrams
- Quality
- Reports (quality indicators, build logs)
11Developer
- Quality
- Unit Tests
- Code Coverage
- Code Analysis
- Profiler
- Enterprise SCC
- Policies (enforces rules)
- Shelving (never checkin unfinished work)
- Productivity
- Integrated tools
12Tester
- Quality
- Rich test framework
- Load tests
- Integrate with developers
- Productivity
- Integrated tools
- Automation
- Testing
- Reports
13Database Developer
- Automation
- Diff tools
- Test data
- Quality
- DB Unit Tests
14Configuration Manager
- Productivity
- Effective SCC System
- Build Automation
- Quality
- Nightly Builds
- Continuous Integration
- Check-in Policies
- Reports
15Continuous Integration in VSTS
- See CI article by Martin Fowler
- http//www.martinfowler.com/articles/continuousInt
egration.html
16Agenda
- The case
- The concept
- The code
17VSTS in Practise
- DemoStore
- SOA architecture
- We will
- Add a new system feature
- Tracking service
- Use MSF Agile workstreams to handle development
tasks
18Summary
- VSTS is very much about quality
- In the development process
- In the tools
- In the code
- Plan for quality
- Design for quality
- Build with quality
19Q A