Friday, 14 October 2011

Enable Shut down prompt in Windows 7

One of the things that's bugged me since upgrading to Windows 7 is the lack of "confirmation dialog" when selecting the shut down button. A number of times members of our family have shut the machine down by accident, when switching users for example (shared family machine). Not really sure why Microsoft removed the confirmation for such a major task, but hey, not my call.

Anyhow, if you (like me) want a confirmation, you can do this very easily via the local group policy editor:

  • Select start and enter gpedit.msc into search box and run the editor
  • Go to Computer Configuration/Administrative Templates/System
  • Then choose Display Shutdown Event Tracker and Enable.






Now when you select Shut down you have to confirm and put some text in a comment box (server ops styleee). The comment is overkill for a desktop really but way better than not having any confirmation at all.

Friday, 8 July 2011

Monitoring WiFi channels


Our home WiFi is pretty good, with a decent signal across the house, but there are occasions in the evening where performance is a bit inconsistent compared with the daytime. Not normally a major problem as we use homeplug for devices like TVs, PVRs, Blu-ray (iPlayer, YouTube etc) and music. We save WiFi for laptop/tablet browsing.

This got me thinking... why the WiFi performance inconsistency? We live in a cul-de-sac so surely not 'that much' interference from fellow neighbours? I needed to check, so downloaded inSSIDer 2, a free open source tool that 'scans the waves' for WiFi points in your area.

I installed it and ran for a few minutes (you can leave it running over 24 hours if you want and see all access points that have been switched on over that period).

As you can see from the screenshot, we are not on our own. Our access point is the one in red (PoorSignal, yes that is the SSID ho ho) and you can see that we are competing with 7 or so other access points in our spectrum - although we run on channel 4, that actually spans into neighbouring channels, see the graph, namely channels 1, 4, 6 and 7 in this case.

I'll leave it running for a while and then I will try changing my channel to a less congested area. Of course there are lots of other factors that affect performance (other devices, walls, mirrors etc) but lets see how it goes.

Give it a go!




Wednesday, 22 June 2011

Visual Studio 2010 SP1 installed

Finally found a convenient time to install VS 2010 SP1 (often difficult when you have several key projects on the go and you do not want to break your "known good" VS 2010 / TFS build). Anyhow, it is well worth installing... here's the info you need:

Web Installer:
List of changes:
Full readme:

Since the install I've had no issues so far - looking promising :-)

I need to upgrade the TFS server next. I'll try it on our dev TFS box first and see how that pans out first.

Tuesday, 21 June 2011

Web Designer and Content Manager - ideal for recent IT graduate

We are looking for someone to work on a dedicated project for one of our clients, which is a large multi-national company.

You will be required to:

- Create, design and administer sites in SharePoint
- Migrate content from existing web sites to SharePoint
- Discuss with users their requirements and design/implement sites accordingly
- Provide SharePoint technical support

If you have no experience in SharePoint, cross-training will be provided by your team colleague(s).

You may also have the opportunity to do some ASP.Net/C#/SQL work depending upon your experience and interests.

We are looking for someone who has an IT related qualification at degree level or equivalent, with both web and design experience. You will also need to be proficient in using HTML and CSS. Excellent communication and organisational skills are essential, and you should be able to use your initiative whilst being flexible to the demands of the users.

Experience of Sharepoint 2007/2010 (or similar CMS) and Javascript would be an advantage but is not essential. In addition, any Visual Studio 2008/2010, ASP.Net, C# coding and SQL database experience may also be beneficial if you wish to get involved with web development activities.

This contract is initially for 6 months (£14 to £16/hr, 37.5 hour week) but there may be the possibility of further work after this time, and would ideally suit a recent graduate or someone looking to broaden their IT skills.

To apply, please send your CV to lisa@visualizehr.co.uk and a covering email detailing your interest in this role by 28th June 2011.

Sunday, 29 May 2011

UK Tech Days 2011 - sessions now available online

We had a great time at the May 2011 UK Tech Days Conference in Fulham, London (held in the Vue cinema complex with popcorn and 'everything'!). For those that could not make it, Microsoft have now published the sessions on the web:


The next best thing to being there, enjoy!


Thursday, 27 May 2010

Corporate Intranet Web App – Browser Statistics May 2010

As in previous posts, I like to annually report on browser stats that I collect via the Intranet web apps that I develop. Knowing your target browser platform is crucial when developing web sites, affecting your designs, client side functionality and testing criteria. So here are May 2010’s stats, taken from a 1229 user global application (across 87 countries), all of whom have logged on in the last 12 months (Corporate desktop for the company concerned is still IE6 as I write this, sigh…):

Browser Version User Count 2010 (1229 users) User Count 2009 (1017 users)
IE6 1116 973
IE7 77 33
IE8 27 2
Firefox 7 8
Chrome 2 (new entry!) NA

IE5 no longer shows thank goodness and a high count for IE6 is expected (default desktop install remember). Great to see IE8 in there which should rapidly rise by 2011 as it is likely to be adopted globally soon in the Company concerned. Firefox has gone down and in my opinion will continue to drop with it offering little over Chrome/IE8 for day to day browsing (gone too bloaty). Reminder: these stats are from what the user used for a particular web app only - the user may well have other browsers installed for general browsing.

Window sizes:

Viewable window size (pixel width) User Count 2010 User Count 2009
less than 800 18 23
800 exactly 28 63
801 to 899 22 28
900 to 999 26 22
1000 to 1099 492 489
1100 to 1199 51 35
1200 to 1299 272 135
1300 to 1399 21 1
1400 to 1499 68 52
1500+ 15 5

 

These figures were captured at logout time (assuming that by then the user would have their browser sized/maximised to their preference for the application). Looking at the figures, clearly larger windows sizes are on the up and smaller sizes are on the down (surprise surprise). The “design for 1024” philosophy still seems to hold to a point but the “1200+ size” users are on the increase. There are still 94 users viewing windows at less than 1000 though, something the web application concerned, it has to said, does not look its best at! Hey ho, something to ponder on…

Clarkey

Tuesday, 23 February 2010

Two upcoming events – Agile Anti-Patterns and DevWeek 2010

I enjoy seminars, conferences etc. Whether presenting or attending, chosen carefully, they provide a great way of sparking interest in new methods and technologies, putting aside some time for training/education (essential if you work for yourself as I do) and meeting other like-minded individuals.

Here are a couple of upcoming events I’ve recently registered for:

SPA-237 - Agile Adoption Anti-Patterns
Wednesday 3rd March 2010 6.30pm, at the BCS in London
Presenter: James Lewis, ThoughtWorks

“… focuses on the things that you shouldn't do when trying to introduce Agile practices to an organisation”

This is a free evening session and is being presented by James Lewis from the well respected consultancy Thoughtworks. I’m a big fan of Agile approaches, but there are issues you have to watch out for and hopefully this event will get some of these aired.

DevWeek 2010
15th to 19th March 2010, London

The conference blurb… “DevWeek is Europe’s leading independent conference for software developers, database professionals and IT architects, and features expert speakers on a wide range of topics, including .NET 4.0, Silverlight 3, WCF 4, Visual Studio 2010, REST, Windows Workflow 4, Thread Synchronization, ASP.NET 4.0, SQL Server 2008 R2, LINQ, Unit Testing, CLR & C# 4.0, .NET Patterns, WPF 4, F#, Windows Azure, ADO.NET, Entity Framework, Debugging, T-SQL Tips & Tricks, and more”

I’ve been to one of these previously and from what I remember they are slick and very well organised, with the sessions containing some great material. Although clearly Microsoft centric, if you use (or intend to use) such technologies, you could do a lot worse than attend this.

Tuesday, 10 November 2009

Installing Windows 7 Ultimate on an Old Dell Dimension 8250

Further to my post on upgrading a Dell XPS M1710 to Windows 7.

My old XP based Dell 8250 desktop (1GB RAM) crashed recently and became unusable. Luckily backups were all in place (although I still had access to the hard drives anyway) so rather than simply put XP back on it, I decided to go for Windows 7 Ultimate. The machine had got slower and slower anyway due to all the usual nonsense you install over time, so I thought this was an opportunity to freshen the OS and test whether Win 7 would run ok on old hardware. One of those Sunday eve type jobs…

I first repartitioned and formatted the main drive (I was unhappy with the current partition set up and wanted a truly fresh start anyway). I then booted from the Windows 7 DVD. After a long wait (be patient on an Dell 8250, the initial “windows starting” then “blank screen with mouse cursor” took over 10mins to come to life; it was much faster on my M1710). I then went through the various steps as per the M1710 install except this time I selected Custom (advanced) at the appropriate point to get a full fresh install.

All seemed to go pretty smoothly. Ran some windows updates afterwards, again all went well. I then installed AVG free edition, no worries.

Then I realised I’d got no sound (how many times have you had this happen…). Hmm. I’ve got an old Creative Sound Blaster 5.1 card and a quick look in device manager confirmed that this had not been recognised. A search for an official Windows 7 or Vista driver on the Net was to no avail, so I took a long shot and downloaded the old XP driver off Dell support (R69382.exe)  from 2003!.

I then tried running the driver install… it started to run and then started to extract the files and then… it auto-closed! No wizard no nothing. I tried again this time right clicking and running “as administrator” to be sure. Same again.

Not giving up, this time I right clicked the almighty R69382.exe again and selected “troubleshoot compatibility”. It recommended using Windows XP SP2 mode. I went for the recommendation (this is on the installer remember) and hey presto it all ran a treat. The driver is now installed correctly and sound and microphone are back in action.

So how is the PC generally? Well I’ve not installed ‘all’ my regular apps yet, but so far the machine is ticking along nicely and certainly faster than when I had the, albeit fully bloated, XP on it.

DC.

Tuesday, 15 September 2009

Telerik release TFS Dashboard/Work Item Manager

Telerik have released a beta version of a work item manager/dashboard in WPF for TFS:
http://www.telerik.com/products/tfsmanager-and-tfsdashboard.aspx

I installed it briefly this morning (free in beta form) and first impressions are I like it. Seems pretty quick in use and flexible in that it works with the various process templates. My guess is they will charge for the full version when it arrives but it is worth watching.

Note this is a WPF application that you install on your machine (not web based). 4.9Mb install.

Now if they do a browser-based Silverlight version that would really hit the spot…

Mr C

Monday, 17 August 2009

Upgrading a Dell XPS M1710 laptop from Vista to Windows 7

I’ve been looking forward to installing Windows 7. My experience with Vista Ultimate on my Dell M1710 laptop (T7400 processor, 4Gig RAM) has been average at best if I’m honest, with sluggish performance being my biggest disappointment. Yes I know you can “disable this and uninstall that”, but that is not the point. Out of the box, a clean Vista installation should perform well and in my opinion it was only just acceptable.

I therefore welcomed Windows 7 RTM with open arms. I went for the 32bit Windows 7 Ultimate (x86) and having Vista Ultimate (x86) installed already meant I could do an in-place upgrade (Whoa there Clarkey! everyone shouts. A clean install is surely best. Yes you are right and normally I would whole heartily agree but my life is pretty busy right now and the thought of digging out all my old software install disks, rightly or wrongly so, was enough for me to give an in-place install a try, on a laptop that was pretty clean anyway). If you are upgrading from XP then you cannot do an in-place upgrade although you can use Windows Easy Transfer to migrate some of your settings (see Scott Hanselman’s XP to WIndows 7 post). You also cannot in-place upgrade Vista 32bit to Windows 7 64bit (and vice versa).

 

Before I started

Below was my starting point (System window) which shows a pretty typical Vista M1710 set up.:

I backed up my laptop  (data only) to an external drive and unplugged it to play safe.

I ran the Windows 7 setup.exe and got this screen:

I’d already researched whether my laptop “could cope” so I clicked “Install now” and got the message "Setup is starting..."

I then selected "Go on line to get the latest updates".

I accepted terms and conditions. For reasons I mentioned earlier, I then selected "Upgrade" to do an in-place upgrade:

Then got told that certain apps might not work:

 

I cancelled the install and uninstalled all of the listed apps including itunes (not really used much on this laptop anyway). Did the obligatory reboot. Then ran setup.exe again... "setup is starting..." and had several déjà vu moments (same steps as above). This time, once past the compatibility checks I selected "go online to get latest updates" as recommended.

Next was a familiar upgrading windows screen:

 

This step took 2hrs 15mins (including several auto reboots) and some 540513 files were “transferred”. Umm… a fair few then.

You will then be prompted for the product key. I selected “Use recommended settings” for automatic updates.

Set region and time zones.

Skipped join WiFi network at this point.

Selected Home Network (ie for my local LAN).

Finally, I got the logon screen with my family usernames nicely appearing on the desktop. Logged on with my account and hey presto, it seemed to have worked! Why do I sound surprised… not a single service error…

Although the GeForce Go 7950 GTX graphics card seemed to be performing fine I upgraded the NVIDIA control panel version to 2.2.275 and driver to 179.48 via the NVIDIA download site anyway, just to make sure.

To prove I’m not making all this up, here’s that System window again (I had also clicked the Rate this computer button as this point to get a Windows Experience Index):

 

That’s it for now. It’s early days but based on the short usage last night, it all appears fine and the machine is much much snappier (a relief). I’ve not done anything to really test it yet though… I’ve got cameras to connect, video editing to try etc at some point.

Any issues, I’ll add a comment here.

Dave

Thursday, 9 July 2009

TFS 2008 – VM performance tweaks

I’ve been doing a few tweaks on our TFS 2008 VMWare VM recently to improve performance. We host both the application and data tiers on the same VM so we are never going to get blistering performance (especially when the host is essentially a desktop!)  but the performance through Team System Web Access (TSWA) has been noticeably clunky of late, so we thought a little tweaking was in order. Interestingly, source control through Visual Studio has been fine though.

Here’s the list of mods I did:

  • changed the virtual disk (vmdk file) from variable to fixed size (in our case 80Gb). Although this uses more disk space on the host, allocating it all in advance provides better disk I/O performance. I simply used the command line tool vmware-vdiskmanager.exe with the –r and –t 2 switches.
  • excluded antivirus scanning of the VM files on the host
  • installed the latest VMWare Tools (take care, when I did this, upon reboot the drive letters D: (DVD) and E: (partition) switched, causing service failures at startup. Easy to fix but  something to watch out for)
  • stopped any obvious unneeded services on both host and guest
  • resized the partitions inside the guest to give the OS more breathing space
  • defragged the guest and host disks
  • disabled ‘shutdown worker processes after being idle for 20 mins’ option on the web app pools in IIS (see web app pool properties, performance tab). I left the recycling tab options at the default settings though.

Finally, I also set up WebWatchBot (a site monitor we use) to ping the key eScrum and TSWA TFS services we use with a http request every hour, to keep the old TFS ‘engine’ alive. As I’m sure everyone who uses TSWA will have noticed, there is a big start up cost on many of the functions if left dormant and any caching is lost, so pinging the box occasionally keeps it all alive, especially when TFS is under little/no usage periods. Of course, we also now have the additional benefit of knowing when TFS is down too ;-)

Lets see how it goes… I’ve not done any formal timings but the results so far (and comments from users) indicate a much more responsive system.

Clarkey

Wednesday, 22 April 2009

Speeding up the online MSDN Library

For developers, the MSDN library is a regular place to drop into. Whether you visit the site directly, via the VS IDE or end up there after an enthralling Google excursion, no matter, once arrived I usually find the experience slower than I’d like.

Enter the low bandwidth version. For example:

Standard view: http://msdn.microsoft.com/en-us/library/bb384398.aspx

Low bandwidth version: http://msdn.microsoft.com/en-us/library/bb384398(loband).aspx

Depending upon the time of day and size of article, the differences in load times are considerable!

Anal URL examiners amongst you will have noticed the word loband in the above link. In fact this “device” name can be added to any of the MSDN library links to render the low bandwidth version of the page in hand.

See Jon Galloway’s original blog entry for further info (including a bookmarklet to make the switching easy) and also Scott Hanselman’s more recent post which delves a little deeper, discussing page size differences, other “devices” (including the up and coming VS 2010 IDE view “dev10ide”) and how the URL routing works behind the scenes.

Clarkey

Thursday, 19 March 2009

Corporate Intranet Web App - Some Sample Browser Stats

A lot of the work I do is on Intranet based web applications, in large Corporates with locked down desktops and recommended browsers etc.

Here are some browser statistics collected via an ASP.Net data entry and reporting application that I worked on a while ago, collected from users whom logon regularly. System is global and figures are based on 1017 active users:

Browser version   User Count
IE5   1
IE6   973
IE7   33 (up from 18 in 2008)
IE8   2
Firefox 3   8 (up from 4 in 2008)

IE6 is the Corporate standard, so nothing really of interest here ;-)

More interesting I think is window sizes. Here's a sample:

Viewable window size (width)   User Count
less than 800 wide   23
800 exactly   63
801 to 899   28
900 to 999   22
1000 to 1099   489
1100 to 1199   35
1200 to 1299   135
1300 to 1399   1
1400 to 1499   52
1500+   5

These figures were captured at logout time (assuming that by then the user would have their browser sized/maximised to their preference for the application). The 800x600ish sizes are still very popular despite this being the bare minimum that this web application is designed for (1024x768+ is recommended). It just shows that we cannot always assume that users are running 1024 or above.

Clarkey

Friday, 6 March 2009

Automating Web UI Testing

Over the last day or so I've been researching to see if I could find a decent tool for automating Web UI tests. I work on a number of projects where automating the (currently manual) regression web tests would prove to be a great time saver and rescue our testers from the repetitive boredom that is inevitably part and parcel of such a task. You can only run that historical trends report so many times before you nod off in your chair...

This was my wish list:

  • Must be usable by those who are not necessarily developers. Many testers do not come from a formal geeky coding background :-)
  • Able to record browser sessions. Once the test recording is complete, the ability to modify the various steps is needed
  • Test case reusability - e.g. set up the user logon process once and reuse across tests
  • Must be browser DOM based (and give me easy access to it please)
  • Have a usable 'learnable by exploration' IDE
  • Allow me to add/drop into custom code should I need to - work at various levels of abstraction
  • Support what we now class as standard web app features such as javascript usage, pop-ups, AJAX, DHTML bla bla.
  • Ideally integrate with Visual Studio 2008
  • Multi-browser support, although admittedly a lot of the Intranet front-ends I work on are Corporate IE6+ standardised ones (I know slapped hands...)

There are plenty out there and not being a dedicated tester/QA guru I do not pretend to have done an exhaustive search!

Initial thoughts - VSTS TE

We had a license for Visual Studio Team System Test Edition (VSTS TE), so I thought it made sense to start with that. I set up a VM, installed VSTS TE and recorded my first web test:

web recording

It nicely recorded the http requests, preserved session state etc (bit like the old ACT), and the steps that it went through to complete the test were all clearly shown:

http request tree view

but after some experimenting for an hour or so, I stopped. Why? Well, the whole set up is clearly aimed at techies which is not necessarily a bad thing, but I really couldn't see any of our QA testers using this in a hurry. Shame - an undoubtedly powerful tool for developer level testers but it felt more like a testing  framework than an integrated Web UI testing tool. It's all there (see web test overview on MSDN), but it needs some sort of abstraction and nice UI over the top of it.

Back to the drawing board then...but don't stop reading yet... after some digging I found what I think could be a solution and one that plugs nicely into the VSTS I had already installed, namely ArtOfTest's WebAii Automation Design Canvas (built on top of its free WebAii .Net Automation Framework).

WebAii Automation Design Canvas

Lets cut to the chase. Watch the following 4 minute WebAii demo which shows how you construct a simple web recorded test:

watch the 4 minute demo video

A simple example I know but this is more like it. I particularly like the element highlighting and the ability to do 'quick verifications' on those elements during the recording. You can also be as specific as you wish, having full access to the browser DOM tree:

locate in DOM tree

and from there you can examine/compare individual attributes using the verification builder:

  verification

this gives you pretty good control. For example, to compare an entire HTML table of results use (notice it is already populated with the relevant markup from the recorded web page):

verification of table markup

I like the way the cancel and OK buttons are reversed in the above too, nice anti-usability touch ;-)

Another useful feature is the storyboard view which shows small screen shots from each page taken during the web recording:

storyboard view

This makes a great (albeit simple) documentation tool for each step. The screen shots also show which control is being actioned upon.

Other nice features

Here's a run down of some of the other bits I have tried so far:

  • You can play back your tests against IE or Firefox.
  • You can do simple data driven tests, for example, run the same test multiple times, but use different usernames/passwords for the logon on each iteration.
  • supports AJAX and Silverlight but not tried this in anger yet.
  • You can call other tests (e.g. a logon test) as a single test step.
  • You can convert a step to .Net code (a one way thing). This is a nice feature and allows you to use recording to capture the main outline of the test and then drill down into various tests by using the "convert step to code" option and hand crank any .Net code you need.
  • Web elements can be identified in various ways, including by attribute matching and XPath queries. This is useful for picking up any dynamically 'added on the fly' controls.

System requirements and cost

You need Visual Studio Team Edition 2008 (or Pro edition).

The WebAii Automation Design Canvas cost itself is around £1700 ($2499) per machine (see price list). I think this is pretty good value for a machine license as you can then share usage across different users. VMs and VPC images are also ok to use. A common sense licensing model from ArtOfTest, nice.

What next

Next step for me is to trial this on a project before the trial license expires to ensure it covers all that we need. I want to integrate it into an existing project, TFS it up and use it in anger with some of our main web UI regression tests we already have in place. I'll bring in the QA guys too, to assess its usage and usability from a less technical perspective.

Clarkey

Wednesday, 25 February 2009

Visual Studio 2010 - WPF screen shots

As you probably know by now, VS 2010 will use WPF (the version to be shipped with .Net 4) for its new editor. If you want to see its cool new look, pop over to Jason Zander's blog:

http://blogs.msdn.com/jasonz/archive/2009/02/20/a-new-look-for-visual-studio-2010.aspx

Nice. Just hope the WPF UI is responsive on lower spec machines...

See also the VS 2010  'brochure' page for a summarised feature list of what you can expect to see forthcoming (there is a CTP download too).

Clarkey

Tuesday, 10 February 2009

Keeping myself in the cloud

I love the Internet. Whether it's to catch up on email, pick up some geeky blog feeds, check out the latest on BBC News, upload some photos or simply update my facebook status, I like to be connected. When I am not in the office or at home, my mobile phone is pretty good for very simple browsing, but my netbook (Acer Aspire One, excellent bit of kit) is what I really like to use when I am out and about.

So... I have my trendy netbook... but hey... how do I get access to my beloved 'cloud'? Oh yes, use a Wi-Fi hot spot everyone crys. Wi-Fi is indeed getting better and most hotels/cafes now offer some sort of sign up style of access. I've no problem with that except most charge silly figures for a measly 30 mins or so of access. Grrrr. Also, I find there is never a hot spot nearby when I need one.t-mobile broadband usb key

I think I've found a better solution for when Wi-Fi is not suitable - a 3G USB stick. Mobile broadband is not new of course, but up until recently most services have been contract based and/or too expensive for my adhoc, occasional style of usage. What I really needed was a reasonable PAYG one. After a bit of searching around, this t-mobile package (£2/day) fitted my situation nicely. You basically pay £2 when you first connect and then you have 24hours of usage (you can connect/disconnect as many times as you wish within that period). There is a 3GB/month fair use policy.

It uses the well known HSDPA 3G protocol (see t-mobile's coverage checker for 3G in your area), but it also gracefully drops down to the (albeit slow) 2G GPRS where there is no 3G signal. Even in GPRS mode, it gives acceptable results. Of course, in 3G mode is where the device excels... with a theoretical down-link speed of 3.6 MBit/s (this is what it 'connects as'), in practice with a low/medium signal I've been getting around 1 Mbit/s down-link speeds and 300kbit/s uplink. Not bad at all.

At £39 notes for the USB stick, if you use the Net in an adhoc way like I do, it's a no brainer and definitely worth a look.

Monday, 22 December 2008

Scrum and eScrum/TFS Feedback

We adopted Scrum and eScrum/TFS (Team Foundation Server 2008) back in June this year for a pilot project. As we are a few days before Xmas, when all is beginning to quieten down, now seems a suitable point to dot down a few observations. Here we go.

The Scrum Method

First of all, I'm converted! Scrum is one of the few processes/methods (I'm not a big process person myself generally) that excites me, in that it focuses the team on delivering good working software and encourages a good relationship between the IT Team and the business. Since adopting it on a small project, I can happily [subjectively] report back that it works, and it works well. We used 3 or 4 week sprints, monthly sprint review/planning meetings, and daily scrums (sometimes missing a day if one was not felt necessary, but we still touched base to confirm this). We also had scheduled weekly "product owner update meetings" to ensure we had a regular slot in a busy "product owner's life", where we always scanned down the sprint backlog to see how things were progressing.

Here's are some observations.

1) The business loved it because:
  • Transparency and business ownership. They enjoyed being a big part of the project, seeing the parts that went well as well as those that did not!
  • Focus on delivery of key features. Having the control of what goes in and what does not, via strict prioritisation
  • Explicitly clear what is being delivered in each iteration and by when
  • Productivity. Business often surprised by the "amount" delivered
  • Regular releases. This often resulted in less impact on the business at go live time ("little and often" approach)
  • Gets everyone focused, especially on testing!
2) The development team liked it because:
  • Clear whom is doing what
  • Regular daily Scrums picked up any niggling issues very early
  • Test earlier and focus on producing tested, “packaged up” work. Although we are not yet adopting TDD (test driven development), as we are doing shorter development cycles, this necessitates earlier testing to ensure all is tested before the end of a sprint. What we did find though was that during the final few days of each sprint, we found it beneficial to focus purely on wrapping up what we had done and "test/fix only" in order to deliver a fully tested product even if it meant removing a sprint item or two in order to achieve this.
  • System deliverables improved. Smaller increments and closer links with business definitely has resulted in better work being produced ('better' being a system that matches what the business wants).
  • All OK so far. Any problems?
    3) A few Issues:
    • Multiple product owners (we had three distinct areas thus 3 owners). Needed a gatekeeper PO to help manage this
    • Trying to fit too much into a sprint. Call it eager to please, naivety or lack of experience, but the first couple of sprints resulted in the development team working their socks off to finish the sprints on time. Looking back, this was purely due to underestimating effort and not allowing enough time for feedback/testing.
    • New requirements coming in during a sprint. This is something we are now getting better at but early on we were drawn by the temptation of squeezing in "important" new requirements into an existing sprint (slapped hands I know!). We live and learn.
    • Some requirements not clear during sprint. We tried to start development on requirements that were changing or not really known. Ouch.
    • Keep control of the number of meetings. With 3 product owners we found we had quite a few meetings each week, some of which the development team did not always need to attend.
    • Keep eScrum work items up to date. Whichever tool you use, it is only as good as the information in it. Hence encourage your team to keep it up to date.

    eScrum and TFS

    As mentioned in an earlier TFS/eScrum post, not only did we switch to Scrum for this pilot project, but we also adopted some new tools namely:

    • TFS 2008 for source control and work item tracking
    • eScrum Process Template.

    Here's my brief thoughts:

    1) TFS Generally

    I like it. Once you get over the clunky, heavyweight feeling of the various MS products working together to give you what you want (SQL Server, Sharepoint, Reporting Services, TFS Web Services) and sorted out all the security goings on (you've essentially 3 products to set up security for), then you are away. The customisation is very flexible (especially once you have installed various power tools) and adopting a VM as a backup strategy has served us well. Well worth the move from VSS!

    2) eScrum 1.0 Process Template

    I looked at a few templates for managing the Scrum project (including Conchango's SFTS and MSFAgile) but in the end, eScrum had the best web interface for us. It is not without its short comings though.

    Here's some of my thoughts on the eScrum web interface:

    • The interface is fixed and "hard coded" as it runs as a separate web site (it does not use the generic Team System Web Access). The advantage of this is that is gives a focused interface, geared towards the eScrum template, but its drawback is that if you customise the template, add new fields etc, although they appear in TSWA and in Team Explorer on the client, they will not be seen in the eScrum web site. Shame.
    • You cannot add attachments through the web interface. Not a deal breaker for me, but as users often submit bugs in the form of "screen shots" this would make a useful addition.
    • No "show history of changes" option on a product backlog or sprint backlog item.
    • The "all items disappearing in sprint backlog" bug needs fixing. Opening a new browser session or switching projects brings them back for now.
    • The AJAX driven web interface is pretty lightweight/quick, especially compared to TSWA. Updating work items is fast and slick.
    • PBI and Sprint pages have too big a header and section at the top. I would like to be able to fit more viewable item lines per page. e.g. with the product backlog page, 2 thirds of the screen is taken up with a header, menu tabs, and first three sections which are rarely expanded once product set up. The bottom third is the bit we use all the time!

    Overall,  a nice interface but we are getting to a point where a version 2.0 is long overdue. I can't see this happening for a while though.... maybe MS should make it open source ;-)

    Merry Xmas
    Clarkey

     

  • Friday, 28 November 2008

    Clone Detective

    Ever had that deja vu feeling when coding in a project? Ever thought, hang on, I've seen something similar to this code block before? Are you keen to factor out duplicate code from your systems? Of course you are, so take a peek at this:

    http://www.codeplex.com/CloneDetectiveVS

    Clone Detective is a free add-in (built on ConQAT) for Visual Studio that analyses your C# projects for 'duplicate source', that is, similar code once any 'noise' has been removed (normalisation) and tokenised. Whether this is from sloppy copy & paste activities in your team or simply properties in N-Tier DTOs, BDOs etc, as professional software engineers (eh?!) we want to know about such things. It's then up to you to decide if the clones are ok or if further action is required, considering any refactoring costs involved.

    Watch the 10min video as a starting point to see if this tickles you in the right places. It did me :-)

    I ran it past one of my projects:

    The figures in brackets are the percentages of code cloned. The coloured bars indicate where in the file the potentially pikey coding is. Some of the source identified in this case was simply properties in my BDOs but there were other cases where it did point out areas of my code where some refactoring could take place. Nice (the add-in that is, not my coding).

    _mrC

    Friday, 26 September 2008

    TFS 2008 - Installing SP1

    Here's what i did:

    1) Installed Visual Studio 2008 SP1 first, as we have team explorer on the TFS server (useful for admin use). Remember for our relatively small setup we've put both the app tier and data tier on the same VM. SP1 install time 1hr 15mins (Oooh!). Reboot required.

    2) then installed Team Foundation Server SP1. Install time 15 mins. No reboot needed but I did one anyway, just to see those services start up nice and cleanly :-)

    If you do it in this order you should be assured of a pain free installation. Well OK then... at least a 'reduced risk' one anyway.

    What do you gain by installing SP1?

    Here's two useful links showing what you get with this upgrade:

    If I come across any issues I'll post them here.

    Useful Links

    Visual Studio 2008 SP1

    Team Foundation Server SP1