Tuesday, June 22, 2010

Professional Scrum Developer Training (.NET)

Have you heard of Professional Scrum Developer course? The goal of the course is to teach attendees on how to successfully use Scrum, modern software engineering practices and Visual Studio 2010 to iteratively and incrementally develop software. Attendees work in self-organizing, self-managing teams using a common instance of Team Foundation Server 2010.

This course is suitable for any member of a software development team – architect, programmer, database developer, tester, etc. Entire teams are encouraged to attend and experience the course together, but individuals are welcome too. Attendees self‐organize to form cross‐functional Scrum teams.

You will have plenty of opportunities to take this course in the near future:

June 28th – July 2th in Milan, Adam Cogan from SSW will be presenting the first Professional Scrum Developer course in Italy.

July 26th – 30th July in London, Adam Cogan joined by Martin Hinshelwood.

There is a special offer for these two courses reducing the cost from $3995 to $1995.

And if you are more inclined to take the course in German, there is the course held by Neno Loje on July 26th –30th in Munich.

Monday, May 17, 2010

TeamCompanion 3.0 released

TeamCompanion for Outlook v3.0 has just been released. A month ago Microsoft released Visual Studio 2010, Team Foundation Server 2010 and few weeks later Outlook 2010.  TeamCompanion 3.0 brings support for all three  of them and more.

Although a major one, this release is a free update for all existing customers.

Following is the list of the most important new and improved features of TeamCompanion in v3.0:

  • Support for Team Foundation Server 2010
  • Support for Office Outlook 2010 
    • Full support for Outlook ribbons
    • All objects have their appropriate icons
    • Supports both 32- and 64-bit versions of Outlook 2010
  • Project Collections
  • Work item query folders (including security)
  • Work Item hierarchies
    • Hierarchical r/o Outlook work item view with editable custom view
    • Editable custom work item grid callable for the whole query or just for selected work items
    • Work Item Query Editor supports all query types: Flat, Direct Links, Tree
    • All standard actions for editing hierarchies of work items supported (d'n'd, indent, expand..)
  • Work item query enhancements
    • Generate report in Microsoft Excel for query or work item selection
    • Security
    • View Results action to show the query in an editable view
  • SharePoint document library integration
  • Project homepage (defaults to Project dashboard)
  • Miscellaneous
    • Open Test Case for Edit in Microsoft Test Manager
    • Insert Work Item Table
    • Mail to work item mapping improvements
    • Update work item from appointment
    • Copy Work Item URL (TFS Web Access) action on work items
    • Improved performance and usability

Above list is long, so I will just quickly describe some of the most important points:

  1. Support for Office Outlook 2010 

TeamCompanion 3.0 has full support for Outlook ribbons.

Main ribbon tab:

Main ribbon tab image

Work Item Query tab:

Work Item Query tab

All objects have their appropriate icons. This is especially convenient when you put some of the objects (SharePoint document library folder, report or work item query) in the favorite folder as visible on the right picture below.

 image image

2. Work item query folders (including security)

Support for work item query folders together with the ability to control the permissions makes it possible organize the work item queries in folders and make some folders visible only to those team members that will really need them. This way although there may be hundreds of queries and dozens of folders the work item query list will remain clean and usable.

3. Work Item hierarchies

TeamCompanion 3.0 supports showing hierarchical queries in an Outlook embedded view. This is a read only view but with just one click you can open the same query or just the selected work items in an editable view. View Results context menu command (available from the ribbon too) opens the whole query, whereby Edit Work Item command opens the editable work item view containing just the work item that were selected in Outlook.

This is the hierarchical work item query view in Outlook:

hierarchical work item query view in Outlook 

Using View Results command editable Query Result view can be opened.

 hierarchical work item query view in Outlook 

In this view a rich UI for working with and editing hierarchies is supported (marked with arrow and yellow in the image below) – Expand All/Compress All, Indent/Outdent and drag and drop let you change the hierarchies with ease. Here we support virtually all commands available in Team Explorer and add additional commands related to Outlook integration.

image

Alternatively user can switch to the query editor. The same commands are available here too. In the image below the commands related to Outlook integration are marked yellow: sending a work item as an email in several ways, creating appointment for a work item or creating Outlook task for a work item.

image

For flat queries you still have Query-By-Example type of the query editor which remains the fastest and easiest way to edit query and has complete support for full text search. For instance searching for all tasks and user stories containing the word ‘cart’ can be done with just a few clicks (four to be exact :-) ):

image image

If you want more just switch to tree or direct links query and edit the query further. Query by example will turn off until you switch to the flat query type again.

image

4. SharePoint document library integration

With TeamCompanion 3.0 you can manage SharePoint document libraries directly from Outlook.

5. Project homepage (defaults to Project dashboard)

When the project’s root node is selected TeamCompanion shows project homepage. By default this is the project portal homepage, but user can configure it to basically anything.

image image

6. Miscellaneous

TeamCompanion v 3.0 introduces a number of smaller features. Most notable among them are Open Test Case for Edit in Microsoft Test Manager button in the work item form for the Test case work items, Insert Work Item Table command while editing emails and Update work item from appointment.

Open Test Case for Edit is the way Team Explorer too enables editing of the Test steps, since the test steps control in the work item form is read only.

image

Insert Work Item Table is an easy way to insert work item information while editing an email.

image image image

One of standard features of TeamCompanion is ability to create an Outlook appointment for a work item. Update work item from appointment action makes is it easy to propagate changes made to such appointment back to the work item it was created for. Below you can see different options defining which appointment fields are propagated back to the work item.

image 

That’s it. Visit www.teamcompanion.com for more on TeamCompanion.

If you have been using earlier versions of TeamCompanion, enjoy the free upgrade. Download the new version (trial) and install it over your current installation. Your current license will remain active.

If you are new to TeamCompanion, download the 90 days free trial and try it out.

looking forward to hearing how it works for you.

Monday, October 26, 2009

[Inside TeamCompanion 2.2] Customizing the Work Item Preview

One of the new features introduced in the TeamCompanion 2.2 is the ability to customize the new work item preview.

There are three ways to influence the content of the work item preview:

a) declarative – the list of the fields to be included or excluded form the preview is saved in the registry

b) programmatic – you override the xsl file used for formatting the xml generated by the TeamCompanion. You can do anything you like there.

c) mixed - above options combined.

Included/Excluded lists

Included lists are used to specify all the fields you want included in the Work Item Preview. Excluded lists specify all the fields you want excluded from the Work Item Preview. Included or excluded lists are semicolon separated lists of work item fields Reference Names. For example: „System.State;System.CreatedDate;System.CreatedBy;System.IterationPath;“.

It is an error to use both Included and Excluded lists at the same level/priority in registry. In that case TeamCompanion will use Excluded list.

The order of work item fields in the list is important.

Saving Included/Excluded lists in the registry

There are different locations where the Included/Excluded lists may be saved in the registry.

These locations define the scope of the setting, whereby the scope may be:

a) one particular server (global setting that would span multiple servers is currently not supported) – applies to all projects and all work item types in that server;

b) one particular project – applies to all work item types in that project;

c) one particular work item type in one particular project and server.

Registry root folder ( path : „HKEY_CURRENT_USER\Software\Ekobit\TeamCompanion.Outlook“
    <server_name>
        [IncludedPreviewFields] or [ExcludedPreviewFields] – the option a
            <project_name> 
                [IncludedPreviewFields] or [ExcludedPreviewFields] – the option b
                    <work_item_type_name>
                        [IncludedPreviewFields] or [ExcludedPreviewFields] – the option c

<server_name>, <project_name> and <work_item_type_name> represent Registry keys named after the server, project or work item type containing settings for a specific server_name, project_name or work_item_type_name respectively.

<server_name> is the name of the TFS server as it is displayed in the TeamCompanion’s UI (tree control): TFS_FQDN.PortNumber. e.g. tfs.test.com.8080 (notice that there is a DOT between the server name and the port number).

In the scheme shown above, "[IncludedPreviewFields] or [ExcludedPreviewFields]" are all valid places where „IncludedPreviewFields“ and „ExcludedPreviewFields“ lists can be put.

Each of these three places defines different validity scope. If for particular work item type, project and server there are settings defined on different levels, the setting on the lowest level will apply (work item level takes precedence over project level which takes precedence over server level). For some Work Item first will be used list specified in its key. If it isn't present, then the list in project key will be used. If that one also isn't present, the one in server key will be used. If there is no list that apply to that Work Item type, project and server, the default settings will be used.

We might provide proper UI for these settings in some future version.

Using your own XSL  file

Full path to the alternative Xsl file must be saved in registry in

HKEY_CURRENT_USER\Software\Ekobit\TeamCompanion.Outlook\WorkItemPreviewXslFilePath.

For example, „D:\MyFolder\CustomXSL.xsl“. In case of any error while using that file, TeamCompanion will fall back to the default embedded XSL.

Attached you can find a sample xml (normally dynamically generated on the fly by the TeamCompanion) and sample xsl that is used to transform the xml in order to produce the work item preview.

There is one additional setting that influences the work item preview content: Removing Empty Fields in Work Item Preview

This setting can be edited from the TeamCompanion UI using the checkbox check box named „Remove empty fields from Work Item preview„ available in the Work Item Preview tab of the TeamCompanion options dialog.

If it is checked, empty fields will be removed (exception from this is if the field with the empty value is explicitly listed in the appropriate IncludedPreviewFields list, in which case they will not be removed).

[Update] Users having work item query folders where some work items already exist, need to remove and reload these work items for the new preview settings to become effective. This can be done by selecting all work items and deleting them by pressing Delete key on the keyboard. Don’t worry – your work items will remain intact. This will only delete cashed offline information about them. Execute the query once again (by executing Refresh command from the folder’s context menu) or, if you have scheduled execution of this query, wait for the schedule, and all work items will appear once again, this time with the preview formatted in accordance with your new settings.

Download File - Sample

Labels: ,

Friday, October 09, 2009

TeamCompanion for Outlook v 2.2 released

Earlier this week Ekobit released the TeamCompanion for Outlook v2.2. This is a minor .x version and as such it comes with some new features and many improvements of existing ones that complement and enhance existing functionality. In this version we address many usability obstacles in order to ensure smooth and efficient usage patterns throughout the application.

This release is a free update for all existing customers.

Following is the list of the most important new and improved features of TeamCompanion in v2.2:
Better offline support and support for occasionally connected clients
• Improved Work item edit form
• Improved Work item preview (Support for history; preview is now fully customizable)
• Improved Work item from Mail action
• Improved Open related object action – for emails multiple related objects are offered; related work item for Outlook Appointments
• Improved Reports support (new conversion formats for Reports; support for Canceling )
• Improved Send Work Item as Mail action (‘with attachments’ option including attaching created mail back to the Work Item)
• Improved usability/ease of use
• TFS 2010 Beta support
• TeamCompanion v2.2 is compatible with Windows 7

Let's describe each of above points in more detail:
1. Better offline support and support for occasionally connected clients
Separate TeamCompanion’s offline mode doesn’t exit any more – we’ve merged it with Outlook’s offline mode switch (File\Work Offline menu option). Previously TeamCompanion’s offline mode was available in the Options dialog which wasn’t discoverable. We have heard the feedback and reorganized both internal logic and UI.
We deal with occasionally connected situations much better than before – using logic running in the background TeamCompanion detects if the Outlook is online or not and adapts itself. Actions that automatically connect to the server (like scheduled work item query execution) are executed only if Outlook is really online.

2. Improved Work item edit form
Work Item edit form is obviously one central piece of UI in TeamCompanion. There are some new actions in the form’s toolbar (new buttons in yellow):

Refresh/Undo actions are supported now.

There are different new ways to send work item as mail. Four alternatives are supported: send work item as mail with or without attachments and with or without subsequent attaching of the mail back to the work item after the mail is sent.

The default 'Send Work Item as Email' action type can be set in the appropriate options dialog.

Two new buttons in the upper right corner of the work item form make it very easy to find emails related to the work item – they search for mails containing either work item Id or Title. By default all mail folders are searched, but the search can be done in just some specific mail folders (configurable in Options dialog). The result of the search is the usual mail list UI in which we can execute all standard mail related actions.

3. Improved Work item preview (Support for history; preview is now fully customizable)
Workitem HTML preview is fully customizable. There are three ways to influence the content of the work item preview:
• declarative – the list of the fields to be included or excluded from the preview is saved in the registry
• programmatic – you override the xsl file used for formatting the xml generated by the TeamCompanion. You can do anything you like there.
• mixed - above options combined.
Details of preview customization are beyond the scope of this overview and will be covered in some future blog entry.

Second new feature of the HTML preview is the support for the work item history. This can be switched on and off in appropriate Options dialog tab. Additionally, for performance reasons, user can set the number of history entries that will be available in the preview.


Upgrade users having work item query folders where some work items already exist, need to remove and reload these work items for the History to become visible in the work item preview. This can be done by selecting all work items and deleting them by pressing Delete key on the keyboard. Don’t worry – your work items will remain intact. This will only delete cashed offline information about them. Execute the query once again (by executing Refresh command from the folder’s context menu) or, if you have scheduled execution of this query, wait for the schedule, and all work items will appear once again, this time with history in the preview.

4. Improved Work item from Mail action
In addition to mapping email fields and work item fields used when creating a work item based on an email, it is now possible to fill email fields with constant values. Internally, we call this feature “poor man’s work item templates”. It is especially usable to set the current iteration and (at least a part of) area information.
With this little feature, in many occasions, just one click is enough to create fully populated and valid work item from mail.


5. Improved Open related object action – for emails multiple related objects are offered; related work item for Outlook Appointments
Open related object action was introduced in TeamCompanion 2.1. This feature makes it easy to open TFS objects mentioned in an email (work item, changeset or build). In 2.1 we were able to offer just one most significant object and in v2.2 as long as there are multiple objects referred to in a mail, we will offer all of them. There are different methods we use to find object references (like parsing object urls, different patterns in the mail content etc.). If you believe we should be able to find a reference to an object in some mail of yours and we don’t, please contact me directly and hopefully we will support it in some future version.


6. Improved Reports support (new conversion formats for Reports; support for Canceling)
Two new conversion formats for reports are supported- embedded HTML and Web Archive. Embedded HTML is the new default. This way the text in the report description isn’t just a part of the image anymore and can be selected, copied etc.
Cancelling report execution is also supported.


7. Improved Send Work Item as Mail action (‘with attachments’ option including attaching created mail back to the Work Item)
There are four ways to send a work Item as Mail – with or without attaching Work Item attachments to the mail and with or without subsequent attaching the mail to the Work Item after the mail was sent. Wherever there are Work Items in the TeamCompanion’s UI they can be sent as mail.
The content of the mail is completely configurable (but that is not new in v2.2).

8. Improved usability/ease of use
There are many small usability enhancements
o Indicator during query execution – the text “(Working…)” is appended to the Query name during the query execution
o Ability to select server and project while creating wi from mail or attaching mail to existing work item

o Work Item form size and position remembered
o Better default work Item Query result grid column widths
o More responsive UI due to the asynchronous execution of following actions
- Scheduled query execution
- Opening a work item
- Creating new work item from Outlook items or attaching mail to work item
- Export to Excel and Project
o Reasign To combo supports auto complete – we filter the list of available people as you type which is especially helpful for large teams i.e. if there are hundreds or thousands of people in the list
o Work Item Field lists (e.g. in the Work Item Query Editor) support type ahead – similar as above

9. TFS 2010 Beta support
TeamCompanion v2.2 works with prerelease versions of TFS 2010 using the Team Explorer 2008 SP1 upward compatibility support. The restrictions imposed by the scope of compatibility support are described here.
In order to connect to the TFS 2010 server it is important to enter the whole url of the server including virtual folder and project collection like this:
http(s)://[serverName]:[port]/[vdir]/[collectionName]
Where the is an optional, server level argument.
Example connection Strings looks like: http://myserver:8080/tfs/Collection or http://server:8080/tfs.

If the server virtual folder is defined during the server installation it must be included in the server url. If you don't explicitly put project Collection name in the server url, you will be connected to the Default Collection.

With TFS 2010 server, most of the features work as expected. Some notable exceptions are listed here:
-Execution of hierarchical work item queries; work item query results are only flat lists
-Reports don't work (for this we need 2008 compatibility bits that should be available in the Beta 2 timeframe)
-New work item controls (Test steps etc.) are not displayed

Expect this compatibility issues to be solved in future TeamCompanion versions.

10. Compatibility with Microsoft CRM Outlook Addin
Microsoft CRM Outlook Addin seems to be relatively fragile and in some cases it refused to load if TeamCompanion was present. TeamCompanion v2.2 behaves the way CRM Addin expects, waits for it until it is initialized and only then it loads itself. This way these two Outlook Addins can coexist peacefully.

11. TeamCompanion v2.2 is compatible with Windows 7

TeamCompanion is tested for compatibility and reliability on Windows 7.

For this version, the UI has had considerable amount of improvements. We engaged SSW to do a Software Audit for UI usability and Adam Cogan was great as we went back over 4 iterations. We hope you notice the difference. If you are interested in learning more see SSW's User Interface rules or have an auditor performed on your own software.

There are many others that have helped shaping TeamCompanion v2.2, but I would personally like to thank Gregg Boer from the Team Foundation Server’s development team, who was willing to use various prerelease versions in his daily work and to test them thoroughly. Gregg suggested many features that in the end appeared in the above list.

Hopefully this rather long blog entry gives you a quick flavour of TeamCompanion 2.2 and where we are going with this release. As soon as you try it out, we would love to hear what you think of it.

Labels: ,

Tuesday, October 06, 2009

Windows XP Mode RTMed

Microsoft recently RTM’ed Windows XP mode – virtualization technology built into the Windows 7. Windows XP Mode provides what is called the “last mile” compatibility technology for those cases when a Windows XP productivity application isn’t compatible with Windows 7. This is important to convince those that still enjoy working on Windows XP that migration to Windows 7 doesn’t mean farewell to their possibly not compatible applications. I am really convinced that XP may play important role in securing success of Windows 7.

But this isn’t what excites me about Windows XP Mode.

Windows XP mode introduces an interesting way of UI integration with the host operating system where applications running in the virtual environment look as if they were native applications running in the host OS. At the first glance there is no difference between an application running in the host and another application running in virtualized environment. This opens lots of opportunities for everyday use of beta software which is for me as VSTS MVP especially interesting these days when different VSTS 2010 versions need to be tried out and played with.

And what really excites me is the ability to try TeamCompanion in Outlook 2007 and Outlook 2010 CTP side by side!



By running Outlook 2007 and 2010 side by side I get the opportunity to test drive both TeamCompanion in Outlook 2010 and with VSTS 2010 without having to explicitly use (and look after) multiple environments. Outlook 2010 accounts are configured so that they don’t remove mails from the server, so that for the time being I can still use Outlook 2007 as official mail client.

For more info about Windows XP Mode go
here.

Thursday, August 27, 2009

VS2010 Work item categories

With VS2010 a new concept of work item categories is introduced. Out of the box there are four different categories defined: Requirements, Bugs, Shared test steps and Tests. They are used by the MTLM (Microsoft Test and Lab Manager – the new tool for manual testing) to filter the work items that will be shown in different parts of the MTLM’s UI.

Work items of the types belonging to the Requirement category are displayed in the window shown below:

Note: Images are taken from a VS 2010 Beta 1 build.

Categories are defined as a part of the process template. The only difference between categories defined in the two default process templates is that if you are using MSF Agile the Requirement is a User Story work item type, and in the MSF CMMI it is a Requirement work item type. It is easy to change these defaults – we can add different other work item types to a category, and they will appear in the MTLM’s UI as well.
Categories are defined as a xml file. The file is generated by the witadmin command line utility (available by default in the C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE). This is the new utility replacing several other command line tools like witexport, witimport etc…
The procedure is as follows: using witadmin with argument exportcategories to create the xml description, edit it and import back using witadmin importcategories.
The description for the Agile MSF looks like this:

<?xml version="1.0" encoding="utf-8" ?>
<cat:CATEGORIES xmlns:cat= "http://schemas.microsoft.com/VisualStudio/2008/workitemtracking/categories">

<CATEGORY refname="Microsoft.BugCategory" name="Bug Category">
<DEFAULTWORKITEMTYPE name="Bug" />
</CATEGORY>

<CATEGORY refname="Microsoft.RequirementCategory" name="Requirement Category">
<DEFAULTWORKITEMTYPE name="User Story" />
</CATEGORY>

<CATEGORY refname="Microsoft.SharedStepCategory" name="Shared Step Category">
<DEFAULTWORKITEMTYPE name="Shared Steps" />
</CATEGORY>

<CATEGORY refname="Microsoft.TestCaseCategory" name="Test Case Category">
<DEFAULTWORKITEMTYPE name="Test Case" />
</CATEGORY>
</cat:CATEGORIES>

Let’s expand the Requirement category and add the Bug type to it (we want to be able to define the tests testing the error causing the bug). The xml would look like this:

<CATEGORY refname="Microsoft.RequirementCategory" name="Requirement Category">
<DEFAULTWORKITEMTYPE name="User Story" />
<WORKITEMTYPE name="Bug" />
</CATEGORY>

And the MTLM would look like this - as requirements both user stories and bugs are listed:


Shared steps are another work item category. Out of the box the Shared steps work item type is the only one belonging to this category. This category is obviously used to show shared steps during the definition of the Test.

That’s it. Work item categories are just one additional level of indirection allowing for some flexibility in the MTLM.

Thursday, April 16, 2009

TeamCompanion for Outlook v 2.1 released

Earlier this week Ekobit released The TeamCompanion for Outlook v2.1. Although numbered as a minor .1 release this version brings not only bug fixes, improved performance and enhancements to existing features, but also some exciting new features. This way TeamCompanion fulfills its goal to provide the general purpose TFS client integrated in Outlook with rich feature set aimed at nontechnical users, but useful to anyone wanting to combine Outlook’s collaboration and communication features with the ability to access TFS artifacts.

This release is a free update for all existing customers.

Following is the list of new and improved features of TeamCompanion:
Reports (including multiple saved parameter sets for each report)
Support for reports in TeamCompanion lets you use all standard TFS reports directly from Outlook including the ability to send the report as mail or create an Outlook task or an appointment with the report inside. This feature also lets you save the parameters with which you usually execute each report, so that you can access already configured report with just one click. For each report you can save multiple parameter sets. My favorite usage pattern is to add such preconfigured report to the favorite folder and have it there available for fast and easy access. Read more here.


„Query by example“ Work Item Query editor (including full-text search support)

Query by Example (QBE) is a simplified Work Item Query editor that makes it easier to define usual everyday Work Item Queries. Queries are defined by entering values in already available placeholders for specific most frequently used Work Item Fields (like State, Priority, Iteration or Area Path etc.). QBE also supports full text search in any text or html work item field. There is full two way synchronization between QBE and standard grid based Query Editor so that you can edit search criteria in any of these two editors and freely switch between them. Read more here.

Powerful online and offline work item search capabilities including desktop search integration
With Query by Example query editor for full text online search and desktop search integration for full text offline search in any work item field, TeamCompanion gives you all the tools you need to find the information you need.


Attaching mails to work items using drag-n-drop
Just drag a mail to the work item’s attachment tab and drop it there. TeamCompanion will take care of the rest. You can also attach files with drag-n-drop or paste pictures easily too.

Open related object (work item, changeset or build) action for notification mails
Whenever you receive a notification mail from the TFS that refers to some TFS object this feature will let you open that object with just one click. This works not only for work items, but also for changesets and builds. Opening a changeset from a notification mail is my personal favorite, since it gives you the ability to follow source code changes directly from Outlook – you receive a notification, open the changeset, in the list of changed files open the difference and there you have the view of the source code changes. All without leaving Outlook.

Work Item Query management
Configuring "Group by" columns is now a part of the work item query editor. This setting doesn’t change the query itself of course. It rather defines the way the query result will be displayed in Outlook.

Scheduled Work Item queries
With scheduled query feature introduced in TeamCompanion 2.0 end users can configure work item queries to be automatically executed periodically. With this release administrators get the ability to control how frequently queries may be executed to prevent too frequent execution that may cause heavy load on the Team Foundation Server.

For the complete list of features visit the TeamCompanion’s homepage.

TeamCompanion is available as a free 90-days fully functional trial.

Labels: ,

Saturday, April 11, 2009

[Inside TeamCompanion 2.1] Reports

Reports are yet another feature introduced in the TeamCompanion v2.1. It integrates standard Team System reports with Outlook, thus making it not only easy to track and analyze the status of the project but also to send that further. In addition to that, support for reports in TeamCompanion simplifies the way you work with the same report used with different parameters by saving multiple parameter sets and making them available with just one click.
First of all there is a new Reports folder in the tree beneath the project folder containing all reports. If you open a report it will be shown embedded in the Outlook UI:


The report itself looks just the way you would expect it, but there’s a new toolbar at the top of the window. It lets you send the contents of the report as a mail, create an appointment or an Outlook task with the report contents attached.
In the popup menus for each of these options in the toolbar the default action, executed if you just click on the toolbar button, is displayed bolded (it can be configured in the Options dialog).


One of the most annoying things regarding reports is the necessity to enter the same report parameters each time you use the report: current iteration, area for the part of the project you are interested in, start and end dates and different other parameters over and over again. TeamCompanion with saved parameter sets comes to rescue: just click the Save as button in the reports toolbar and create a new parameter set. A new entry appears in the tree beneath the original report node and with just one click you can open the report with already populated parameters. And you can preset multiple different versions of the report with different parameter configurations (e.g. one for the current iteration, one for the previous iteration etc.).



And to make your preconfigured reports even more accessible, put them in the favorite folders. This way wherever you are in Outlook, with just one mouse click you will be able to open your favorite reports with parameters already set and start to analyze your project status straight away.

It can’t be easier than that.

Tuesday, March 31, 2009

[Inside TeamCompanion 2.1] Using Outlook 2007 Instant Search for offline work item search

Instant Search is the way to perform precise and fast search within Outlook 2007 mails, tasks, contacts, etc. You can also use it to perform full text search within work items even if you are offline. Searching arbitrary text is easy. Just select query folder and type word or phrase you want to search. Searching for the text within specific work item fields is somewhat more involved, but is also very easy, as we will demonstrate shortly. Purpose of this text is to demonstrate both approaches.

To be able to search while offline, we first need to fetch the work item information from the server in online mode. In TeamCompanion, scheduled execution of work item queries is usualy used for that. Let's suppose we want to search within work items that were returned by some query called „Test Query“. On the right side the first few work items are visible:

If we want to search for text „process guidance“, we would simply type that text in the Instant Search text box. Note that phrase must be enclosed in quotes because we want to search fields that contain both the „process“ word and „guidance“ word. These are the results:

The result is as expected; search result consists of work items that contain the phrase „process guidance“.

Let's suppose that we want to restrict our search to some specific work item fields and not all of them. To accomplish that, search queries must be used. Generally, search queries have the following form: keyword:search criteria value. When searching within a single field, keyword is the name of the field and search criteria value is the phrase that field must contain for the item to appear in the search result. In the case of TeamCompanion, basic search query has the following form: [Tfs:work item field name]:search criteria value. Work item field name is the name of the column in query view and search criteria value is the phrase to search. Note that work item field must be added as column in order to be used for search (to add columns, right-click query folder and click „Customize View“). Square brackets are required because TeamCompanion prefixes work item field names with „Tfs:“. Since colon is used by the Instant Search as the separator between keyword and search criteria value, we must tell Instant Search that colon in Tfs:work item field name is not separator. To do this we enclose Tfs: work item field name with the square brackets.

Now, let's look at few examples. Assume we want to search for the phrase: „Set up“ in the Title field. Our search query must have the following form: [Tfs:Title]:“Set up“. This is the result:

Search results now consist of work items that have the phrase „Set up“ in their Title field.

Instant Search allows usage of the standard logical operators: AND, NOT, OR, <, >, =, etc. Next example will show how to use logical operators to create a bit more complicated search queries. Suppose we want to search work items that have word „task“ in their description but ID for that work items must be less than 200. Search query for the first condition is [Tfs:Description]:task, and search query for the second condition is [Tfs:ID]:<200. Since we want work items that satisfy both of these condition, we're going to use AND operator to combine previous search queries into the single search query: [Tfs:Description]:task AND [Tfs:ID]:<200. Search results are:


That's it! As you can see, searching work items is easy.
For more information about search queries, you may find these links helpful:
Learn to narrow your search criteria for better searches in Outlook and Office Online on using Instant Search
[This blog entry was written by Dini Selimovic who implemented large parts of TeamCompanion.]

Tuesday, March 24, 2009

[Inside TeamCompanion 2.1] Query by Example (QBE)

TeamCompanion features the standard grid based work item query editor (see Picture 1) since the version 2.0. This editor is powerful, very flexible and supports lots of options, which makes it overly complex for most standard everyday queries. Although there are only a handful of work item fields usually used in the queries, user needs to pick them from a long list of fields each time over and over again. From the names in the list it is not always even clear which is the right field for specific criteria. These are only some of the issues with the standard query editor that led us to the idea to make better querying experience possible.


Picture 1: Standard Work Item Query Editor

In order to enable easy and efficient work item query editing and work item search in general we have decided to implement a new kind of work item query editor in TeamCompanion v 2.1 - Query by Example (usually referred to just as QBE). In the QBE, the standard fields are already predefined and user only needs to fill in the values. Defining search criteria this way is easier, faster, and more straightforward – most of the queries can be defined with just few clicks.

In QBE, fields are grouped in 5 different groups and presented in as many tabbed dialogs:
• General (for general query filter fields like Project name, State, Work Item Type, Area and Iteration path, Id etc.),

• State transitions (for the fields related to the work item state transitions like Created on, Created by, Resolved on etc.),

• Text (for full text search over different text fields),

• Historical Queries (for the ASOF wiql operator)

• Additional criteria (for the fields that are not provided in previous dialogs; in the picture below we have arbitrarily added two fields: Discipline and Triage).

So, how would you define an ordinary Query like “give me all active bugs and tasks assigned to me in the current project”? Actually, all you would need are exactly six mouse clicks. Check the checkboxes for the work item types Bug and Task and select @Me from the list in the “Assigned to” control and Active from the “Status” control. It can’t be simpler than that.

Picture 7: A simple Work Item Query in QBE – criteria described above are highlighted


We could add some additional criteria from the State transitions tab (e.g. search for work items that “I have created in the last 30 days”). Another four clicks.

Picture 8: A simple Work Item Query in QBE contd. - State transitions
We can even have full text search criteria included in the query.

Picture 9: A simple Work Item Query in QBE contd. – Full text search
Now, you are in for a surprise. Just switch tabs from “Query by Example” to “Query Editor” and the same query we have just defined in QBE is available in the standard grid based editor and can be further refined there. We can change any of the criteria just defined in QBE or add some completely new criteria. In QBE there is a constrained set of fields available. In the grid there are no restrictions: you can choose any field you like and as long as you choose AND operator while adding new fields, you will be allowed to switch back to QBE and continue editing the query there.

If QBE were just a fancy way to define queries using hardcoded set of fields, it would clearly be of limited use. But if you add custom fields to the query in the Query Editor and switch back to QBE, these fields will be available there too. That is what Additional criteria tab is used for. If there are additional fields in the work item query, that are not provided by default in any other tab, as long as the query structure is such that the QBE can present it, the fields will be available in the Additional criteria tab.

Picture 10: A simple Work Item Query in QBE contd. – Query opened in the standard Query Editor

Picture 11: A simple Work Item Query in QBE contd. – Custom field added in the Query Editor

Picture 12: A simple Work Item Query in QBE contd. – Custom field editable in QBE

This way with QBE and grid based Query Editor you get the best of both worlds: efficiency and ease of use of QBE and flexibility of Query Editor.
Following are some best practices regarding QBE that will further improve your usage experience with QBE.

If you want to remove a clause regarding some field on the General tab that comes together with the combo for the operator (like State, ID or Priority etc.), instead of removing the value first and then the operator, clear the operator directly by choosing empty string from the combo – it will empty the value as well.
In the QBE’s State transitions tab, by default After/On (meaning greater than or equal) or Before/On operators are used. In order not to clutter the UI too much, these operators are read only and cannot be changed here. But, if you switch to the grid based Query Editor and replace ‘>=’ with ‘>’ or ‘=’ or replace ‘<=’ with ‘<’ or ‘=’ we will honor it. Switch back to QBE and the operator will be changed appropriately.

Picture 13 to 15 – Workflow when changing temporal operators
You may be wondering what kinds of queries QBE does support. There is one basic criterion a query needs to satisfy to be editable in QBE: each filter clause (at the root level) has to be connected using AND operator. Additionally there are some operators QBE doesn’t support. Usually you really don’t need to worry about it – if the query isn’t supported by (editable in) QBE, QBE tab will instantly be disabled. That is not needed all too often though; QBE supports all queries from both standard Microsoft process templates and from Conchango’s Scrum template.
One closing note: after you define the search filter in QBE and/or in the grid based Query Editor, you should go to the third tab and configure the column options for the query: columns displayed, sorting order and grouping. The first two are standard part of any work item query. The third one, grouping, is supported because in TeamCompanion we are leveraging Outlook grouping features.
That’s it, grab your copy of TeamCompanion and start playing with Query by Example.

Summary
Query by Example (QBE) is a simplified Work Item Query editor that makes it easier to define usual everyday Work Item Queries. Queries are defined by entering values in already available placeholders for specific most frequently used Work Item Fields (like State, Priority, Iteration or Area Path etc.). QBE also supports full text search in any text or html work item field. There is full two way synchronization between QBE and standard grid based Query Editor so that you can edit search criteria in any of these two editors and freely switch between them.