Agile book pre order deal – Software in 30 Days

New Agile book by Ken Schwaber and Jeff Sutherland can be pre-ordered at Amazon for a great discounted price.

About the book from Amazon:

A radical approach to getting IT projects done faster and cheaper than anyone thinks possible

Software in 30 Days summarizes the Agile and Scrum software development method, which allows creation of game-changing software, in just 30 days. Projects that use it are three times more successful than those that don't. Software in 30 Days is for the business manager, the entrepreneur, the product development manager, or IT manager who wants to develop software better and faster than they now believe possible. Learn how this unorthodox process works, how to get started, and how to succeed. Control risk, manage projects, and have your people succeed with simple but profound shifts in the thinking.

The authors explain powerful concepts such as the art of the possible, bottom-up intelligence, and why it's good to fail early—all with no risk greater than thirty days.

I highly recommend reading this book.

Testa Smile

 

Requirements Traceability in Visual Studio

Team Foundation Server (TFS) and Visual Studio(VS) excels when it comes to requirements traceability. Depending on what process you are using in TFS your stakeholders needs are documented in a work item called one of the following: requirements, user stories, use cases or backlog items. For this blog I am using the term requirement.

What is requirements traceability?

Continuous knowledge of the life of a requirement from conception to creation to design to development to verification to implementation and change. The ability to trace a requirements state and/or status at any time during a project.

First step in making requirements traceable.

In Visual Studio other work items are used to identify work that needs to be done to a requirement before it can be deemed done. There are different work item types depending on the process template you are using, however all contain the following: Task, Test Case, Shared Step, Bug. Additional work items can be added if not in your process template like Review, Issue, Change Request to name just a few. All these work items can be linked to the requirement they are helping to fulfill. Visual Studio 2010 introduced the concept of hierarchy by which a work item is linked to another work item using a linked type. The work item task is a child of a requirement, two requirements can be related, a test case tests a requirement. Work items like tasks may be linked to show predecessor or successor of another task. To learn more about choosing link types to effectively track your project click here MSDN Library.

Linked type listing:

image

Example of a requirement with linked work items:

image

What can be traced?

In Visual Studio during diagram modeling requirements and other work item types can be attached to objects in the model. During modeling you can either create or link requirements. This allows you to trace work items like requirements from a model diagram.

Example of a Use Case model with requirements linked:

image

Within the requirement work item I can see all other linked work items and information about them like state, assigned to. Knowing the state of work items linked to a requirement tells me the state and status of the actual requirement itself.

Development when checking in code to VS source control can be forced to associate what requirement or other work item their code relates too. Code check-ins create a Change Set that contains information about the check in and gets linked to the work item(s) associated during a check-in. When fixing bugs this is a nice feature.

In Visual Studio I can create queries to show any type of traceability report. Examples: Requirements to Tests Matrix, Requirements to Tasks, Requirements to Issues, Test Cases with Bugs to name just a few. Queries can also be exported or opened in excel, sent to someone thru email or opened in Microsoft Project. Queries exported to excel allows for adding additional excel reporting features like a Pivot Charts.

Requirements to Test Matrix – is there test cases for each requirement

image

Visual Studio comes with many reports that trace Requirements showing linked tasks and remaining work left, test case results state and many more scenario’s. Remember depending on what process template you are working with will determine the reports you see.

Example:

image

Checkout MSDN library for lots more information on Requirements Traceability in TFS & VS.

Testa Smile

Functional/System testing with Visual Studio/Test Manager

If your reading this blog you likely understand what functional testing and you may use the term system testing.

Wikipedia defines these terms as:

System testing of software or hardware is testing conducted on a complete, integrated system to evaluate the system's compliance with its specified requirements. System testing falls within the scope of black box testing, and as such, should require no knowledge of the inner design of the code or logic”

Functional testing is a type of black box testing that bases its test cases on the specifications of the software component under test. Functions are tested by feeding them input and examining the output, and internal program structure is rarely considered.”

If you have read Agile Software Engineering with Visual Studio (by Sam Guckenheimer & Neno Loje) you will have heard about “reducing waste”. Identified as tasks that reduce waste are functional and system testing. These two tasks can be done during code development through unit tests reducing the cost of bug fixes, bug analysis, creating a suite of automated tests and automated regressions tests and reducing the number of people involved in testing and the bug. In some teams developers and testers have been testing the same thing one through unit tests and then again later by a testers. This is duplication of work effort that is a expensive waste.

In Visual Studio there are unit testing tools and third party add in tools that developers can use to create very robust unit tests. You maybe thinking “the developers do not test the same “stuff” that testers do”. Your right, I agree. However since the team is encouraged to make changes to reduce waste why don’t we testers help them. In Visual Studio we can create test cases that are associated to the requirement/user story work item that describes what needs tested. We can pair up with developers to help them write robust unit tests to cover all the testing including boundary, error and data testing.

There are people that believe the future of the “software testers” is about to make a big change. Testers will need to be able to write and execute unit tests themselves therefore requiring the basics of coding and the ability to add assertions (validation) to the unit tests. (Check out MSDN’s Verifying Code by Using Unit Tests topics. ) I believe this will be a reality in the future but I also believe it will evolve.  If you want to start now pair up with your developers to help them create unit tests that execute both the “happy path” and boundaries of an individual method, class or component. Help them to create system integration tests. Getting expose to how unit tests are designed and coded will help you move into the future. In addition having knowledge of what has been unit tested reduces test duplication later. TFS and Visual Studio help us with all this through work item traceability.

Example of work item traceability:

image

Example of a Test Case and Associated Automation:

imageimage

Visual Studio has the tools that will help us move into the future with confidence and the security we’ll need. Humans in general are not adapt to change but change we must. I am one of those people that embraces change and excels in change but then I have had Visual Studio in my pocket!

- Kent Beck

The role of professional testing will inevitably change from “adult supervision” to something more closely resembling an amplifier for the communication between those who generally have a feeling for what the system must do and those who will make it do.

Kent Beck author of Test-Driven Development (Addison Wesley 2002), 86.

Visual Studio – my companion, my mentor, my stability, my aid, my reporter, my success

Testa Smile 

(stay tuned, next blog  I will show you how easy it is to create a unit test!)

Test Case customization by Dave Lloyd

The test case work item has a tab that lists the requirements/user stories that the test case tests. However, bugs related to the test case are not part of the listing. Dave has come up with a customization that changes the test case tab to include bugs created against the test case. With this customization you will see all work items that the test case tests.

Read Dave’s blog for more details and how to do the customization.

Testa Smile

 

Microsoft TFS and QTP integration

If you do not have a profile on LinkedIn it is time to join. There are amazing groups that are sharing information, posting questions & getting answers for a lot of different topics.

On the Visual Studio ALM User Group Anna shared a blog she posted  “How to integration TFS and QTP

Other LinkedIn groups related to TFS are:

  • Visual Studi0 2010 Testing
  • Microsoft Visual Studio ALM + Team Foundation Server (Team System)
  • Microsoft TFS/VST Customization Experts
  • Microsoft Testing Visual Studio 2010
  • Microsoft Coded UI

There are also Agile groups:

  • Agile Testing
  • Agile Toronto

This in no way is a compete list.

Testa Smile

Ladies learning code ….

It is amazing what a twit can do. Back in June 2011 Heather Payne twitted about a group of ladies in California that get together to learn how to code. The response was unbelievable. The first meeting to just talk about the idea rallied 85 people. The first session in Sept was sold out. The Ladies are learning how to code from scratch, no experience necessary by volunteers will to spend time training.

Did you know there is a 12% to 88% mix of women to men in the IT industry?

Ladies Learning Code website

Testa Smile

Agile with Microsoft Visual Studio

Sam Guckenheimer is the Product Owner of Microsoft Visual Studio product line. He has 30 years' experience as architect, developer, tester, product manager, project manager and general manager in the software industry worldwide.

Sam’s new book “Agile Software Engineering with Visual Studio: From Concept to Continuous Feedback” is a must for all to read. Available in paperback and kindle from Amazon.

Sam recently did a webcast for TesTrek 2011 in Toronto which is also well worth watching. Sam talks about Getting Agile with Testing.

“Testing is central to the success or failure of any organization adopting the Agile Consensus. A modern testing approach can be a great enabler of value flow, transparency and the reduction of waste. An outmoded testing approach can be a huge impediment and source of unending conflict. As testers, it's important that we be on the right side of the consensus and be the enablers. The alternative is untenable. In this session, we will explore fundamental principles of agile project delivery and discuss the impact on the QA lifecycle. “

If your in Toronto the week of November 7th sign up for TesTrek 2011 Conference where Sam is the keynote speaker. Dave Lloyd and I will be doing a hands on workshop on Exploratory Testing. There is lots happening this year at TesTrek check it out.

Testa Smile

 

Microsoft vNext preview has been released as of yesterday

Microsoft vNext was released yesterday at BUILD and is available on MSDN if you have a subscription. The released name is Visual Studio 11. There is lots of new stuff for the developer’s but of interest to me and likely anyone following my blog is the Agile features shown in the diagram below. The Exploratory Testing tool is very cool as is the Feedback tool. What am I saying it is all cool.

Check out more information on each of these items here.

Visual Studio 11

image

Stay tuned I will do my own review of these tools for you in the days to come.

Testa Smile

The 10 Minute Test Plan by Jim Whittaker

Jim Whittaker recently wrote an article called The 10 Minute Test Plan. It is a must to read. If you’ve been in testing where you had to write a Test Plan you will be grinning as you read and nodding you head.

To get your interest here is the first 2 paragraphs of Jim’s article:

Anything in software development that takes ten minutes or less to perform is either trivial or is not worth doing in the first place. If you take this rule of thumb at face value, where do you place test planning? Certainly it takes more than 10 minutes. In my capacity as Test Director at Google I presided over teams that wrote a large number of test plans and every time I asked how long one would take I was told “tomorrow” or “the end of the week” and a few times, early in the day, I was promised one “by the end of the day.” So I’ll establish the task of test planning to be of the hours-to-days duration.

As to whether it is worth doing, well, that is another story entirely. Every time I look at any of the dozens of test plans my teams have written, I see dead test plans. Plans written, reviewed, referred to a few times and then cast aside as the project moves in directions not documented in the plan. This begs the question: if a plan isn’t worth bothering to update, is it worth creating in the first place?'

The Ten Minute Test Plan

The nice thing about using Microsoft Test Manager is my test plan is built in and I can update it as things change. I can use Test Scribe to output it to a word document is anyone does want to really read it.

Testa Smile

 

Agile–not just for software development

Very interesting article on turning the school system in the US to being Agile. The article talks about turning the 12 principles of Agile Software into “Schoolware”. Interesting concept Canada should look at this too.

Agile School Education

From the article:

The Twelve Principles of Agile Schools

We follow these principles:

1. Our highest priority is to satisfy the needs of children and their families through early and continuous delivery of meaningful learning.

2. Welcome changing requirements, even late in a learning cycle. Harness change for the benefit of children and their families.

3. Deliver meaningful learning frequently, from a couple of days to a couple of weeks, with a preference to the shorter timescale.

4. School and family team members work together daily to create learning opportunities for all participants.

5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

6. The most efficient and effective method of conveying information to and within a team is face-to-face conversation.

7. Meaningful learning is the primary measure of progress.

8. Our processes promote sustainability. Educators, students, and families should be able to maintain a constant pace indefinitely.

9. Continuous attention to technical excellence and good design enhances adaptability.

10. Simplicity-the art of maximizing the amount of work not done-is essential.

11. The best ideas and initiatives emerge from self-organizing teams.

12. At regular intervals, teams reflect on how to become more effective, then tune and adjust their behaviour accordingly.

Where else can we be Agile?

Testa