This is a one day seminar that looks at the features of Visual Studio Team System and Team Foundation Server 2010. These features are viewed within the context of the Scrum Agile process and from the perspectives of the Project Manager, Developer, Tester and Database Management roles.
Outline:
Introducing Application Lifecycle Management
Application Lifecycle Management (ALM) aligns the three capabilities of the organization: Business, Development and Operations by providing integration between the various tools used and activities performed within each of these capabilities.
Aligning these three capabilities results in applications that meet business demands and that are better manageable.
The Scrum Process Template
Scrum is an iterative, incremental framework for project management and agile software development.
Although Scrum was intended for management of software development projects, it can be used to run software maintenance teams, or as a general project/program management approach.
The Project Managers Perspective
We look at the areas of:
-Identifying variation to distinguish in control and out of control projects
-Metrics for monitoring
Number of dev tasks completed on time
Number of bugs found
Number of billable hours
-Using team, rather than individual measurement
-Using a multidimensional view of metrics to monitor project health
The Developers Perspective
Test Driven Development (TDD) practices forces developers to clearly understand the requirements, and catches mistakes early. It also encourages development to proceed in small increments and for developers to think in terms of reuse therefore avoiding unnecessary code. The resultant code is generally easier to evolve and maintain due to the base of test cases that are associated with the code.
The Testers Perspective
Identifying important problems first means you should optimize testing to find important problems first. This is in contrast to attempting to find all problems with equal urgency.
Focusing on risk means that the test strategy should focus on areas of potential technical risk. Some additional effort should be put into the low-risk areas because the risk analysis may be wrong.
Maximizing diversity means that the test strategy should be diversified in terms of test techniques and perspectives. Methods of evaluating test coverage should consider multiple sources of information, from white and black box test results to requirements testing reports.
Avoid the prescriptive metric trap. In a value-up paradigm, working towards finding information is more important than increasing the bug count. Useful value-up measurements are those that describe the state of the project from multiple dimensions, rather than counting items in hope of achieving a prescribed goal.
The Database Developer Perspective
Areas reviewed in this module include:
-Declarative Database Development
-Versioning your Database Schema
-Incrementally Deploying your Databases
-Heterogeneous Database Development