Test Driven Development in Visual Studio 2010 Team Foundation Server

by Dmitry Kirsanov 27. December 2011 14:50

Team Foundation Server 2010This is the 3rd post in a series of articles about Visual Studio Team Foundation Server 2010 for developers. And this time it is about test driven development. Previous one is available here.

 

Test Driven Development is the concept, which dictates creating unit tests before actually writing the code. To help you to understand this, let’s assume that you are writing the calculator program. And that whole calculation process is done by a separate class named Calculator with functions such as “Addition”, “Subtraction”, “Multiplication” and “Division”.

Now, according to Test Driven Development process, you should first create the test project, and write your tests for each of these functions. Since you know what result should be given for what input (like – “2 + 2 = 4”) you can make your tests to assert, that if you are running the Addition function with parameters of 2 and 2, the result is 4. If the result is different or exception occurs – the test is failed. More...

Why e-Learning Is Better

by Dmitry Kirsanov 23. December 2011 13:37

Tree of KnowledgeBold title for an article, as it implies that I am not going to analyze the advantages of the subject but to prove right from the start why it is what I think it is. But the truth is – the question about e-Learning usually sounds exactly like that – why e-Learning is better, not “is it better at all” – people need an answer and they need it fast. So – here it is.

For about 3 years I’ve been working as senior mentor at New Horizons training center. I was training different kinds of people – established IT professionals and students, people coming to IT from other areas and even few ex-schoolboys. The training experience was the most precious part of that job. More...

Of Action and Reaction

by Dmitry Kirsanov 21. December 2011 12:31

AtlasThis story happened 2 years ago. That time I was training IT specialists sent by their companies to acquire various certifications – be it MCSE, MCPD or even CISSP. I had a colleague, and she was very passionate about training people to achieve new heights, and once she got a bright idea.

The idea sounds like that – all of our students are established IT specialists, many of them are heads of their IT departments and lead developers. They are very motivated both by their employers and themselves. There is no problem to teach them anything new.
But what if we will train someone, who is not motivated at all? What if we’ll take a group of high school pupils and train them for something simple yet useful – like Windows Vista Administration certification?

Yes, we wanted to train any amount of school kids to get a certification they would otherwise pay hundreds of dollars for. For free and during a week.

My colleague wanted to perform that training at her former state school. She was just 23, so she knew all the teachers and the principal of that school. It was easy to set up the meeting and so we met the principal and IT teacher to discuss the event.

Although they didn’t really got why we would do that, they could agree to host the event using the equipment of IT class. However, it all depended from one question – how much money would they get from it. That is – you know, electricity and stuff – we would pay for that, right?

Wrong.

Of course, we didn’t talk with them afterwards.

The morale of the story is – more often than not, your good intentions, especially when they are intelligent and have benefits which needs to be explained, will be treated hostile and you won’t get well deserved respect for them. Yet another argument of the objectivism theory, which states that we all look at the world through the prism of our perception. And this leads to the necessity to defend your ideas, even if the whole idea doesn’t give you any value. And this means, that having power to do “good” alone is not enough. As more such power you’ll have, as more resistance you’ll face. The irony lays in the fact that you’ll face resistance from those you’re trying to help.

Choosing Laptop for Blogging

by Dmitry Kirsanov 18. December 2011 14:00

This is a story about me choosing the notebook for maintaining this blog.

Usually I am writing about something related to technologies which I am either exploring or training. Sometimes it’s about non-technological parts of the training or lifestyle. Something that consumed considerable amount of time to learn or get to. I’m sort of showing a shortcut to others and we usually call it “sharing of knowledge and experience”.

Since I am very serious about keeping my blog to be a useful and creative place, I decided to devote more time to it – especially the time when I am most mentally capable. And during that time I am usually far from my main 17” laptop – heavy powerful gaming-class machine which is theoretically portable.

So I made a decision to purchase a laptop especially for blogging. Taking into account that this blog doesn’t bring any income – pretty much enthusiastic move. But however, I’ve started with research. More...

What You Should Know About Modern IT Certifications - at Glance

by Dmitry Kirsanov 12. December 2011 14:30

Microsoft Certifications SchemaOne of the most frequent questions I get as a trainer, is about certifications and their real value. Opinions regarding certifications vary from “useless piece of paper” to “paramount” and the reason for so diverse opinion is either experience or lack of it. In this post I will try to explain modern IT certifications from a more practical point of view.

During my career of Information Technology Trainer, while spending most time training system administrators and software developers in various disciplines, I’ve also got a lot of valuable feedback from HR specialists and business owners. I’ve organized seminars on certifications to explain their value or in some cases – lack of it, and realized that certifications are like Terra Incognita for vast majority of HR specialists and even IT managers. But it shouldn’t be that way, so this post is also for HR and those who aren’t certified yet but think about whether it’s necessary or not. More...

Entering the Path of Software Developer - what you need to become one

by Dmitry Kirsanov 12. December 2011 13:37

Microsoft KidDuring my career as a Microsoft Certified Trainer, I’ve been training .NET software developers and Windows system administrators – usually they were well established professionals longing for more knowledge and ready to purchase a training course instead of a car.

But there were people, and they still appear regularly, who suddenly make a decision to become a software developer. Either it’s because they were ignited by the idea and believed in own capacity of writing new software, or out of curiosity or any other reason – be it money, prestige or worrying about own future.


So this post is for such people. If you are considering to become a .NET software developer and wondering what should be your first step – I will do my best to explain it right now. If you are seasoned .NET software developer, then perhaps you won’t find much useful information here, but you’ll have a link to give when someone will ask you that question – “I want to become a software developer, what should I do?”. More...

URL Rewriting and Routing in ASP.NET 4

by Dmitry Kirsanov 9. December 2011 13:37

How to make the URL of your page look more user-friendly or just make it self-explanatory? And anyway – look different from what it really is? In ASP.NET version 4 it’s easier than ever.

Why would we need that feature anyway?

It’s been quite popular trend in web development since the very beginning of dynamic Web – first, we didn’t want anyone to see the extension of our files, as this posed a security risk. Anyone, who could see that our page is actually an ASP page, would understand that you have Internet Information Server, which was considered “dangerous” at that time – not even because it was too bad, but because Windows NT 4 Server was user-friendly enough so people wouldn’t need to be MCSE in order to install and run web server. It wasn’t hard for Linux either, but Apache didn’t offer any dynamic contents out of the box. More...

Securing Corporate Identity - 3 Things You Shouldn’t Leave Behind

by Dmitry Kirsanov 5. December 2011 08:57

The new culture of making business “more social” brings so many new possibilities and chances, it’s hard to analyze the consequences of every step you take. We are doing so much in order to use the latest features of the web, that don’t recognize the jeopardy hidden in most innocent things we do.

In October of 2011 I took an experiment, which lasted for two months and gave me so interesting results, that I couldn’t resist to share. For some of you these findings could be shocking and reveal something new, but the reason for the experiment was purely to prove what seemed logical even without the experiments. More...

Team Foundation Server 2010 For Developers part 2 - Advanced Source Control

by Dmitry Kirsanov 4. December 2011 11:03

This is my second post about Microsoft Visual Studio 2010 Team Foundation Server for Software Developers. The previous one is here.

Now that you know how to submit your code to the source control, associate work items and use that information in your daily work, it’s time to learn the rest two things we skipped in the first part. The Branching and the Shelving.

Team Foundation Server is an Agile-oriented platform, and therefore many of it’s concepts supports the existing models of Agile Software Development. One of such models is Source Code Promotion Model, which basically means that your code moves through 3 stages – development, testing and production.

A word of warning: each model of Agile is a double bladed sword. It expects you to meet the conditions which will make this model effective, and if you fail to comply – you’ll get ineffective implementation, which could ruin your software development efforts. In case of Promotion Model, make sure you have a dedicated team of testers – not just developers from other project who came to rescue, but professional testers who are not doing any development. If you don’t have dedicated testers – forget about Promotion Model. More...