Monthly Archives: August 2012

Creating a Scrum Team Project in Visual Studio 2012 using Visual Studio Scrum 2.0 process

To Install and Configure Team Foundation Server 2012 see the post here at Team Foundation Server 2012 RC – Install & Configure.

In this post, we will walk through the steps to achieve the following tasks

  • Connect to Team Foundation Server – TFS 2012
  • Creating a Team Project using Visual Studio Scrum 2.0 process
  • Windows Azure TFS Service

This post defines the SCRUM and discusses how to use SCRUM Template 2.0 to manage projects in Visual Studio 2012 Team Foundation Server. You can develop the enterprise projects using SCRUM framework which is based on Agile development methodology.

Scrum is an iterative and incremental agile software development method for managing software projects and product or application development. For Introduction to Agile Project Management Tools, see the blog post @ https://kishore1021.wordpress.com/2011/02/18/agile-project-management-tools/

image

Figure: Pictorial representation of the Scrum development.

For Scrum Process for Software Development using Microsoft Visual Studio Scrum 1.0 Process Template , see the blog post @ https://kishore1021.wordpress.com/2010/08/02/scrum-process-for-software-development-using-microsoft-visual-studio-scrum-1-0-process-template/

At this point you can go one of two directions.  You can install TFS 2012 or use Windows Azure based Visual Studio Team Foundation Service Preview. Team Foundation Service Preview enables everyone on your team to collaborate more effectively, be more agile, and deliver better quality software. You can sign up at http://tfspreview.com/en-us/ and start using TFS if you want to use the Azure version.

In this post , we will discuss about installing and configuring TFS with VS 2012.

Connect to Team Foundation Server:

All team projects are stored and managed on a Team Foundation Server. To start working on a team project, you must first connect to the appropriate Team Foundation Server. Following are the steps to connect to an instance of Team Foundation Server for the first time.

1. On the menu bar, choose VIEW menu and click Team Explorer as shown in Fig 1.

image

Figure 1: Selecting Team Explorer in Visual Studio 2012

2. Team Explorer is highlighted up as shown in Fig 2

image

Figure 2: Visual Studio 2012 with Team Explorer

3. On the Team Explorer shown in Fig 3, click Connect to Team Foundation Server.

image

Figure 3: Click the link Connect to Team Foundation Server.

3.1 Step 3 can also be achieved by clicking on the TEAM menu shown in Fig 3.1 and click on Connect to Team Foundation Server.

image

Figure 3.1 Connecting to Team Foundation Server from the TEAM menu

4. In the Connect to Team Foundation Server dialog box, select a Team Foundation Server from the drop-down list as shown in Fig 4.

image

Figure 4: Connecting to Team Foundation Server

Note: If the drop-down list is empty, click the Servers button to manually enter the Team Foundation settings as shown in Fig 4.1. Contact your Team Foundation Server administrator or team project administrator for the correct Team Foundation Server connection settings.

image

Figure 4.1: Manually enter the Team Foundation settings

  1. In the Connect to Team Project dialog box, choose the Servers button.

  2. In the Add/Remove Team Foundation Server dialog box, choose the Add button.

  3. In the Add Team Foundation Server dialog box, type the name or URL for the server.

  4. When you type a server name, the Preview field automatically displays the URL format, for example:

    http:// ServerName:Port/tfs

    ServerName is the name of the server that hosts Team Foundation Server.

    Port is the port that Team Foundation Server uses; the default value is 8080. If your server uses a different port number, you must specify it in the Port number box.

    tfs is the default path to the project collections that are stored on the server. If your team uses a different path, type it in the Path box.

  5. Verify that the URL is correct, choose the OK button twice, and then choose the Close button.

5. In the Connect to Team Project dialog box, under Team Project Collections, select the team project collection that hosts the team projects that you want to connect to. Then, under Team Projects, select the check box for each team project that you want to access, and then choose the Connect button as shown in Fig 5. Team projects with a check mark next to them will display in Team Explorer.

image

Figure 5: Connect to Team Project and choose the Team Projects

6. Click OK.

Team Explorer displays the team projects under the selected Team Foundation Server as shown in Fig 6. Note: The contents displayed in Fig 6 might vary depending on the versions of VS.

image

Fig 6: Details of Team Explorer

Note: Team projects are created on a Team Foundation Server, therefore, you must connect to a Team Foundation Server as described in the above 6 steps before perform Creating a Team Project. After you have connected, you can create a team project.

Creating 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.

image

Figure 7: A project is where you store all your source code, as well as tasks and builds.

1. Team project can be created by using any of the following methods (a, b or c).

a. On the File menu, point to New, and then click Team Project as shown in Fig 8

image

Figure 8: Creating a Team Project from File Menu

b. In Team Explorer click Create a New Team Project as shown in Fig 9

image

Figure 9: Creating a New Team Project from Team Explorer links

c. In Team Explorer click Drop Down Icon, select Project and My Teams, Click on New Team Project as shown in Fig 10

image

Figure 10: 3 steps to create a team project using Home drop down options.

2. The New Team Project wizard appears. On the Specify the Team Project Settings page, type your project name in the What is the name of the team project? box as shown in Fig 11. click Next.

image

Figure 11: Specify the Team Project Settings

Note: Going ahead, I will be using iCITE as the project name.

3. On the Select a Process Template page as shown in Fig 12, in the Which process template should be used to create the team project? drop-down list, select Microsoft Visual Studio Scrum 2.0 as shown in Fig 13.

image

Figure 12: Selecting process template for the New team Project

Team Explorer includes process templates based on the Microsoft Solutions Framework (MSF). Some of the process templates are available by default: Microsoft Visual Studio Scrum 2.0, MSF for Agile Software Development – v6.0, and MSF for CMMI Process Improvement – v6.0. Your team or organization may provide additional process templates or may remove the MSF templates. Here’s some help about what process template to choose:

Microsoft Visual Studio Scrum 2.0 (default) is built for teams practicing the Scrum methodology, and want to use the Scrum terms, such as “Product Backlog Item.”

MSF for Agile Software Development 6.0 supports iterative and incremental software development. MSF for Agile can also be used to implement Scrum, however it is adaptive for more general use.

MSF for CMMI Process Improvement 6.0 supports an approach whose goal is to help organizations improve their performance. Development with CMMI emphasizes traceability and auditability.

image

Figure 13: Selecting Microsoft Visual Studio Scrum 2.0 for the New team Project

4. On the Specify the Source Control Settings page shown in fig 14, keep the default values and click Next.

image

Figure 14: Source Control folder path

5. On the Confirm the Team Project Settings page shown in Fig 15 , click Finish.

image

Figure 15: Confirming the settings for the New Team Project

6. The New Team Project wizard creates your new team project as shown in Fig 16.

NoteNote: It may take several minutes for the wizard to finish.

image

Figure 16: Status showing the Team Project Creation.

7. On the Team Project Created page shown in Fig 17, click Close.

image

Figure 17: Successful creation of Team Project.

Because the check box for Launch the process guidance for more information about running the team project was selected by default, the wizard opens the overview page for the process guidance for MSF Agile for Software Development.

The iCITE Innovation team project displays in Team Explorer. There are several top-level nodes:

  • My Work: This node provides access to the tasks assigned to me.

  • Pending Changes: This node provides access to the team project source control management hierarchy.

  • Work Items: This node provides access to add work items and to create and view queries against the work item database.

  • Builds   This node provides access to the builds of your team project.

  • Web Access: Click on Web Access opens up the web page for the project.

  • Settings:  Clicking on settings brings up the Project Settings page in team Explorer as shown in Figure 18.

image

Figure 18: Team Project Settings displayed in Team Explorer.

From here on, you can either use the Team Explorer in Visual Studio 2012 or using the browser for planning and tracking projects.

a. Using Visual Studio 2012 and team Explorer to manage the Team Project

image

Figure 19: Opening http://kishore1021:8080/tfs/DefaultCollection/iCITE%20Innovation/_admin/_security in Visual Studio 2012.

b. You can also use Web Browser to manage the Team Project. In the Team Explorer home navigation menu for the team project, choose Web Access to launch the browser as shown in Fig 19. A browser window will open to the home page for that team project with the URL http://ServerName:Port/tfs/CollectionName/ProjectName For ex, http://kishore1021:8080/tfs/DefaultCollection/iCITE%20Innovation/ image

Figure 20: Managing the Team Project through browser.

FYI: Click on the settings (gear) icon located on the top upper right hand corner in the browser window shown in figure 20 brings up the browser window shown in Figure 21.image

Figure 21: Control Panel of the Team Project

Fig 22 shows the Control Panel of the Team Project as seen from the browserimage

Figure 22: Control Panel of the Team Project

Windows Azure TFS Service:

Microsoft announced the availability of Windows Azure based Visual Studio Team Foundation Service. To get started, signup for TFS at http://tfspreview.com/.

I created similar project on windows Azure TFS Service and following is the screenshot. https://kishore1021.tfspreview.com/DefaultCollection/iCITE%20Project

image

Figure 23: Team collaboration and agile planning in Windows Azure TFS Service.

To get started on using TFS on Windows Azure, see the blog http://blogs.msdn.com/b/bharry/archive/2011/09/14/team-foundation-server-on-windows-azure.aspx

Windows8 Desktop Keyboard Shortcuts

Keyboard Shortcut

Details

Windows + I

Window Restart, Shutdown, Sleep, Taskbar Notification Icons like Network, Sound Control, Brightness, Notifications, Keyboard.

 

 

Windows + X

Menu for frequent Administrator Tasks

Windows + 0

Opens 10th application on taskbar with  Normal Privileges. You can use the following values for applications on Taskbar.

  1. 1st Application on taskbar of Classic Desktop View
  2. 2nd Application on taskbar of Classic Desktop View
  3. 3rd  Application on taskbar of Classic Desktop View
  4. 4th  Application on taskbar of Classic Desktop View
  5. 5th  Application on taskbar of Classic Desktop View
  6. 6th  Application on taskbar of Classic Desktop View
  7. 7th  Application on taskbar of Classic Desktop View
  8. 8th Application on taskbar of Classic Desktop View
  9. 9th  Application on taskbar of Classic Desktop View

You can rearrange your applications on taskbar  according your choice and priority to take advantage of this shortcut.

Windows + Ctrl + Shift + 0

Opens 10th application on taskbar with  Elevated Privileges. You can use the following values for applications on Taskbar.

  1. 1st Application on taskbar of Classic Desktop View
  2. 2nd Application on taskbar of Classic Desktop View
  3. 3rd  Application on taskbar of Classic Desktop View
  4. 4th  Application on taskbar of Classic Desktop View
  5. 5th  Application on taskbar of Classic Desktop View
  6. 6th  Application on taskbar of Classic Desktop View
  7. 7th  Application on taskbar of Classic Desktop View
  8. 8th Application on taskbar of Classic Desktop View
  9. 9th  Application on taskbar of Classic Desktop View

You can rearrange your applications on taskbar  according your choice and priority to take advantage of this shortcut.

Windows + C

This shortcut gives you view the Settings, Devices, Start, Share & Search. This is the same option that comes when you move the mouse to the extreme bottom right corner.

Ctrl + Shift + Esc

Task Manager

Windows  

Toggle between Modern Desktop & Legacy Desktop

Windows + D

Takes you to Legacy Windows Desktop.

If you press this key from the Modern Desktop, this takes you to the currently active application on the Legacy Desktop.

If you press this key from the Legacy Desktop, this displays the Desktop.

Pressing the same key combination, will Toggle Between the Legacy Desktop and Active Application on the Legacy Desktop

Only Legacy Desktop shown when all applications are in a minimized state

Windows + B

From the Modern Desktop, this takes you to the currently active application on the Legacy Desktop.

If all application are in minimized state on Legacy Desktop, this command will take you to the Legacy Desktop.

No effect when used from a Legacy Desktop.

Windows + M

From the Modern Desktop, this takes you to the Legacy Desktop and minimizes all applications on the  Legacy Desktop

When used from a Legacy Desktop, minimizes all applications.

If all application are in minimized state on Legacy Desktop, this command will take you to the Legacy  Desktop.

 

Windows + Q

Displays Apps windows with all apps and Search Bar

Windows + W

Displays Search Settings.

Windows + E

Windows Explorer displaying Computer Folder. Same as clicking on My Computer.

Windows + R

Display Run window.

Windows + T

Displays the Window Group Thumbnails on your taskbar. This is equivalent of hovering the mouse over the Taskbar Icons.

Each time you press the Windows + T combination, the next application group is  displayed

Windows + U

Displays Ease of Access Center

Windows + P

Option to Extend the display.

Windows + +

Zoom Windows

Windows + F

Search Files

Windows + H

Display Share options

Windows + K

Display Devices to Share with.

Windows + <

Preview Legacy Desktop

Windows + L

Lock the Computer

Can you use Windows 8 WinRT API from .NET Desktop applications?

Over the course of time I received a number of comments on my blog in this area. Many questions were asked like “Can you use WinRT from Desktop applications?”, “Can you use WinRT from .NET applications?”, etc..

Well, the answer is YES. It is possible to use WinRT from Desktop applications. WinRT APIs may be tied to Metro style apps, Desktop apps or potentially available to both. The documentation will list which environments (Desktop, Metro style or both) a given API works in.

Note: Custom WinRT components are only supported in Metro style applications. They are not supported in Desktop applications.

For ex, WinRT has an API for Accelerometer. The Accelerometer class represents an accelerometer sensor which returns G-force values with respect to the x, y, and z axes.

Namespace: Windows.Devices.Sensors namespace
Class: Accelerometer

If we open the API documentation at http://msdn.microsoft.com/en-us/library/windows/apps/windows.devices.sensors.accelerometer.aspx, see the section Applies to: Metro style apps | desktop apps. Which means this class works in Metro Apps as well as desktop apps.

image

Figure 1: MSDN documentation showing WinRT API and it’s applies to section.

Why should you invest in learning emerging technologies?

Software Experts who keep educating themselves have a career versus those who don’t care for one.

What are the main benefits of expending the effort to learn a new technology?

1.New ways to solve problems
2.Accelerate development
3.Advise clients and get new business opportunities

As they say, those who do not learn from history are bound to repeat it.  If you can learn something from an older technology it can be just as valuable as the shiny new one.  Either way, when you add another tool to your kit you get a new view on each problem you face.  This makes it easier to create a sound solution.

The next thing you can learn from working with different products and techniques is how to more efficiently develop solve problems.  Many times if you are working with a new language you will find that there are specific design patterns that are used with it in normal use.  These can usually be applied with most languages.  You just needed to be exposed to them.

The last point is about helping your clients and helping yourself.  If you can get in on technologies early you will have advantage over your competition in the market.  You will also be able to honestly advise you client on why they should or should not go with a new product.  Being able to compare products and their features is always an ability that stake holders appreciate.

An interesting article on the web:http://java.dzone.com/articles/3-reasons-you-need-know

What’s the chatter about Windows 8, Windows 8 Surface, Windows 8 Phones & the new development technologies

Well, the last few weeks had been exciting with the release of information related to Windows Surface & Windows Phone 8. I was following these releases and noticed the chatter around the new devices from Microsoft. Here is some of the info related to the same.

5 ways Microsoft’s Surface may be better than an iPad:
http://www.cnn.com/2012/06/19/tech/microsoft-surface-ipad/index.html?hpt=hp_c2

Windows 8 is an Android killer : http://www.kernelmag.com/comment/opinion/2432/no-but-for-reals/

Microsoft’s Surface tablet vs. the iPad: Seven challenges: http://reviews.cnet.com/8301-33642_7-57456140-292/microsofts-surface-tablet-vs-the-ipad-seven-challenges/

Wall Street Journal: http://online.wsj.com/article/SB10001424052702304765304577478283669023576.html

Windows 8 is, in my humble opinion, the most innovative version of Windows Microsoft has released since Windows 95. What Windows 8 does, says Mr. Courtois, is to bring a consistency to all of Microsoft’s products. The "metro" interface, with its innovative live tiles design, is a bold departure for Microsoft from its familiar and iconic desktop. The one interface to bind them all—desktop, tablet, smartphone, X-Box, even TV—is what Mr. Courtois is hoping, and Mr. Elop is praying, will get people to buy Windows-powered mobile phones.

Personally, I very much appreciate what Microsoft is trying to do with Windows 8. I’ve noticed many improvements from the Developer Preview to the Release Preview and I believe they will reveal some interesting surprises in the final version. I very much understand and appreciate Microsoft’s end goal – one operating system and one experience on all your devices: your phone, your Xbox, your desktop, your laptop, your tablet, your hybrid computing device you don’t yet know how it looks like. If they succeed with this vision, they will change how we use computers and devices forever.

With the new kernel, Microsoft is also enabling the creation of native code applications written in C++ for the first time on Windows Phone. In version 7.5, all applications are developed in C# or Visual Basic .NET and compiled to platform-independent bytecode. While this has proven easy to use and attractive to many developers, it makes it hard for game developers to eke out all the performance the hardware can offer. It also precludes the use of useful libraries that developers on iOS, Android, and Windows can take advantage of.

Windows Phone 8’s native code support addresses both issues. Native code development will produce programs that run directly on the ARM processors that Windows Phone supports. This should boost performance, and will greatly extend source code compatibility with other platforms.

The trend of "Bring Your Own Device" causes both IT and compliance departments numerous headaches. It is one thing for the IT department to support the CEO’s iPad, but with the explosion of devices, operating systems and services, how CIOs must yearn for the day when they could issue recruits with a company laptop and a company phone and it was all integrated. That is the promise of Windows 8; it puts the IT department back in control, just like the good old days.

"We are providing an end-to-end managed infrastructure to allow any enterprise, large or small… to manage all kind of devices and all kinds of applications in a secure way,"

Microsoft takes matters into its own hands.  It uses an ARM processor to compete on price, and an Intel processor to ride its Office monopoly.  These are not dumb moves.

Surface for Windows Pro also features the ability to use Digital Ink with pen input. During the announcement, it was noted that the distance between the stylus and the screen is .7mm. Surface for Windows Pro also features a microSDXC slot and a USB 3.0 port instead, and is slightly thicker at 13.5 mm.

Surface represents a major shift in strategy for the Microsoft Windows business unit. For years, OEM partners like HP, ASUS, and Dell, provided the hardware. Now Microsoft will be competing directly, particularly in the Ultrabook segment of the market.

Surface is notably competing directly with Apple‘s iPad, and doesn’t stop short with building a competitive set of features. In addition to its primary hardware specs, Surface also features a built in kickstand, which essentially turns the tablet into a monitor, and also a 3mm thin case that includes a multitouch keyboard. As no one does keyboards better than Microsoft, yet another keyboard is also available for Surface that features a full trackpad with clicking buttons. Though Surface is slightly heavier than the iPad and has 25% less battery size (31.5 Watt hours compared to the iPad’s 42.5 Watt hours), Surface is truly one of the most powerful and lightweight mobile PCs we have seen.

It’s clear that Surface is designed for current Windows users, and according to NetMarketshare, Windows XP, Vista, and 7 combine for 93% of all desktops. For these users – especially those in the corporate environment – there is a hesitation to switch to another platform, even just for mobile use. As a result, Surface could be a game-changer in the tablet industry. Not only does it feature key capabilities that Apple has yet to ever integrate (such as a keyboard), but Surface will undoubtedly make it easier for curent Windows users to transition from home to office and in-between. While a price has yet to be set, it’s expected to be extremely competitive compared to other tablets, ensuring that Surface is a device that many current Windows users will want to own.

Shared Windows core

Our biggest platform-related revelation last week was that Windows Phone 8 is built on a single shared code with Windows 8. This benefits every player in the ecosystem—end users, OEMs, mobile operators, and of course app developers.

So what does it mean for you? First, it means that your apps will be running on the same base platform that powers a billion PCs around the world and will provide your apps with a stable, high-performance core on top of next-generation hardware. More directly, it means that you’ll be able to share a significant amount of code between your Windows 8 apps and your Windows Phone 8 apps, in many cases only adjusting for the screen size differences between slates and phones.

Native code support

As I mentioned, one of the significant benefits of a shared Windows core is the ease of portability between Windows 8 and Windows Phone 8. We also know that the most popular way to ensure portability across numerous devices is to encapsulate most of an app’s logic in platform-independent native code. That’s one of the main reasons we’ve announced that Windows Phone 8 will support C++ and C.

I know many of you have questions about the implications. For example, over the last few days I’ve seen developers asking whether this means they can mix C#/XAML with DirectX/C++ or consume native C++ libraries from C# apps. Absolutely! You can mix the code as well as the UI (one element in XAML, another in DirectX).