Updated on Aug 2012
I have made 15 videos about visual studio ALM, I tried to make it simple so it would be easy if you are new to ALM / TFS. Also I have added some of best practices that every developer should do it like Check-in Policies, shelving, Unit Testing and code coverage
Note: This was made on vs2010 but same concepts can be used with vs2012
Explaining what is Application Life Cycle Management and how its bigger than Software Development Life Cycle
Lesson 2 : Creating Team Projects
This video shows How to create a team project
Software projects in Team Foundation are called team projects and are very different from the software projects (.csprj or .vbproj) in Visual Studio. The team project is the central concept that holds together the team endeavor of creating a specific software technology or product. When you create a team project, the New Team Project Wizard creates a number of focal points by which to centralize the team efforts. A team project Web site is created containing document templates, and predefined reports. A work item database is created for tracking all effort on the project. A process template is installed that determines rules, policies, security groups, and queries for all work effort. A source code branch is created for source control.
Team Foundation has work item tracking features designed to assist software development teams to manage their work, track, monitor, and report on the development of a product and its features.
A work item is a database record that you create in Visual Studio Team Foundation Server to record the definition, assignment, priority, and state of work
In Team Foundation, a work item tracks this work, and can be:
o one of the individual tasks required to complete a project
o a bug that needs to be fixed
o a scenario that the project needs to address
o or any other piece of work in a project that needs to be tracked in a database
Lesson 4 : Mapping Source Control Folders
Version Control (aka Source Control) lets you track your files over time. Why do you care? So when you mess up you can easily get back to a previous working version.
Lesson 5: Creating Solutions & Projects
Adding new solution with C# or VB project
The following video show the check in and also talks about the check in policy (one of the best practices in developing software)
Shows one of the best practices when dealing with source control
Lesson 8 : Getting Specific Versions
Shows how to get a specific version of the files you check in source control
Shows checking out with its options for example you may want to check out a file and restrict anyone from writing in it while you are working in it
With version control let you tag (label) any revision for easy reference. This way you can refer to “Release 1.0″ instead of a particular build number:
Shelving is a nice way to share code with team for code review and has other uses that is explained in the video
Lesson 12 : Annotation & Conflict Resolution
When changes overlap and contradict then the version control reports a conflict and not let you check in — it’s up to you to check in a newer version that resolves this dilemma. A few approaches:
· Re-apply your changes. Sync to the the latest version and re-apply your changes to this file
· Override their changes with yours. Check out the latest version , copy over your version and check your version in.
Team Build is a build server application included with Team Foundation Server, which is installed alongside visual studio. Developers use Team Build to perform complete builds of the most recent versions of software contained in source control. Records of every build, whether it succeeds or fails, are kept so that developers can keep track of the progress of the project
Lesson 14: Unit Testing & Code Coverage
The following video shows the Unit Testing as its one of the best practices for developing applications
Unit testing is a Software verification and validation method in which a programmer tests if individual units of source code are fit for use. It is usually conducted by the development team.
You can create automated tests of the user interface (UI) known as coded UI tests. These tests provide functional testing of the user interface and validation of user interface controls. Automated UI tests enable you to test that the user interface is functioning correctly after code changes. They are quicker to run than manual tests. Therefore, you can run them more frequently.
Happy ALM
I think these will be mandatory for beginners, Very good Nasr keep up the good work!
I like the first one so much (Lesson 1 : ALM Quick Overview) it’s a perfect intro about ALM
“From inception to retirement” I like this expression too much.
Thanks Radwan 🙂
i love this statement too 😀 , very simple & to the point.