Become a better leader – Agile Coach Camp Canada in Calgary – June 12-14, 2015

I am one of the organizers for the first Western Edition of the Agile Coach Camp Canada to be held in Calgary from June 12th to 14th, 2015. Come join us as we share experiences and learn better ways of leading teams.

Let’s have a conversation about what it means to be an agile leader, why it matters, and where we are headed. The annual gathering at Agile Coach Camp creates opportunities for our coaching community to share our successes, our learning, our questions and our unresolved dilemmas – all in an energizing and supportive environment.

Agile Coach Camp Canada West is an open space un-conference inspired by the original Agile Coach Camp. Calgary, Alberta is excited to host Agile Coach Camp Canada, West Edition. This is a practitioner-run conference for peer-to-peer learning, exploration and networking for ScrumMasters, coaches, and others helping to transform organizations.

This event has amazing value at $75 for the entire weekend. This price includes all food & drink for Friday evening, Saturday (breakfast, lunch & snacks) and Sunday morning.

For more information, hotel accommodations, or to register, visit the Agile Coach Camp Canada West website at­

March 5th, 2015 – Hosting Klaus Boedker at Calgary Agile Users Group

Join me, Thursday March 5th, 2015 as we host Klaus Boedker at CAMUG (Calgary Agile Methods User Group). Klaus will be presenting “From doing agile to being agile: 10+ ways of developing an agile mindset.” The goal of this talk is for you to:

  • Learn and share the benefits of being agile over doing agile
  • Increase your level of fundamental agile thinking and understanding
  • Be able to identify and share 10+ opportunities for growing an agile mindset for yourself, your team and your organization
  • Learn the brain science behind how to get people and teams out of the ‘agile autopilot’ mode

Full details here:

See you March 5th at Innovate Calgary 6pm!

Nov 6th, 2014 – Hosting Dave Sharrock at Calgary Agile Methods User Group

Thursday, Nov. 6th, 2014 we’re hosting Dave Sharrock at CAMUG (Calgary Agile Methods User Group). Dave will be presenting on Lean Product Management: How to effectively validate your product or idea? Join us at Innovate Calgary at 6pm as it’s going to be a full house!

The rise of the Lean Startup has led to a deeper understanding of the importance of validating business ideas, from new features to new business models. But many tools available to the Product Owner aren’t adapted to rapid validation. Starting from the principles and practices of agile product management, from defining the product vision to creating story maps and refining the product backlog, you will learn about key practices that incorporate the lean startup principles, allowing a Product Owner to bring the build-measure-learn cycle alive and ultimately earn more value more quickly.

Full details here:

Locally testing a self signed SSL certificate in IIS manager and getting “The process cannot access the file because it’s being used by another process” error

Making changes to our shopping cart for Google Analytics, Conversion, and eCommerce tracking. In order to test a local version of the shopping cart I had to make and use a self signed SSL certificate.


2014-11-28 21_39_57-Clipboard

Every time I try to start the site “learning2” with the binding to port 443 (https) in IIS Manager I get an error message:

You receive a “Cannot Start Web Site” error “The process cannot access the file because it is being used by another process” error message when you try to start a Web site in the Internet Information Services MMC snap-in

2014-11-28 21_41_05-Clipboard


Reason and Resolution: Another process is using port 80 or port 443 on the computer that is running IIS. By default, IIS uses port 80 as the default TCP port and port 443 for Secure Sockets Layer (SSL). In order find out what’s using port 80 and 443, for HTTP and SSL respectively, you would enter this at the command prompt:

netstat –ano | find “:443”

netstat –ano | find “:80”

2014-11-28 21_41_32-Clipboard

In the output see the process ID “9820” for localhost using port 443? Next start windows task manager and look at the “Processes” to find out the culprit. You might have to turn on the PID column to see it (view->select columns). For me it was Skype that showed up as the process that matched the process ID “9820”. After turning Skype off entirely, I was finally able to start the site that was bound to port 443 in IIS Manager. Hope this article helps anyone else getting stuck on starting up a site in IIS. It could be a number of other programs using the ports so the best thing to do is check using the netstat command and matching up the PID with what you have in Task Manager.

Here’s the Skype setting that was causing the issue (Tools –> Options –> Advance –> Connection) see below. You could also leave Skype running and just turn off the ‘”Use port 80 and 443 as alternatives for incoming connections”. Remember to restart Skype to propagate the settings.

2014-11-28 21_42_17-Clipboard


Shortening the feedback loop: phone interview

Been a while. Here’s a podcast about the book contribution the team and I worked on last year. The topic of that write-up was “Shortening the Feedback Loop” and hopefully it will be published soon. I only had 15 minutes to prepare for this interview so it kind of caught me off guard. I definitely have some room for improvement on my phone interview skills. Oh well, that’s the way things go sometimes… “you know!!”…

Functional Testing Tools

The need for acceptance testing has become too important to our product and is now included in our automated build environment (more info on automated build environment here). While Test Driven Development (TDD) does produce good quality on the specification of the requirement from the component side, it doesn’t adequately target “how the system” should act from the end user perspective. There’s a lot of UI specific tests that need to be performed on the views to ensure that the correct functionality is doing what it was intended to do. In an agile development environment, like Extreme Programming, these black box system tests are known as functional tests which tests the validity of a user story; as opposed to unit test which tests the verification of a specification (written TDD test-first style in our office, which helps but are still from the point of view of the developer). On the other hand, functional tests can be written by testers, business analyst or the developers, but since they are from the perspective of the end user, or subject matter expert, they are best written (or at least specified) by the business analyst. During the teams research we wanted to find a tool that can be integrated into our environment as well as easy enough for a business analyst to write.

Here’s a resource to the 4 testing quadrants as identified by Janet Gregory. Image taken from

agile testing quandrants



Here’s a list of functional testing tools identified by Gerard Meszaros and added to by others in the industry . These functional testing tools focus mainly on the 2nd Quadrant above.

The one I am currently trying out iTest2, basically uses Watir under the hood but includes a nice IDE (actively being developed) and an abstraction on top of Watir called RWebSpec. It’s easy enough for the business users to add functional tests (especially if they’re using the recorder), but complex enough for when the developers/testers need to access to the COM interfaces which gets at the browser’s document object model, DOM, without need for directly interfacing with the UI. So far this tool is starting to prove itself but we’ll need more time to see if it is the most effective one out there.

Things still left to do:

  • Include functional tests as part of our story breakdown planning and estimating process (Example here and they can act as requirements artifacts/documentation).
  • Try out StoryTeller as a solution to automated acceptance testing in .NET.
  • Assess how we’re doing in the 4 testing quadrants (above), then alleviate any shortfalls.
  • Figure out how the database gets loaded with information from our functional tests and how tests can be independent from each other (test servers, scripts).
  • Move to a better functional testing as compared to plain old record/playback because it can become cumbersome to maintain.
  • Stay on top of software testing as the advancements in this area are changing daily

Getting Real – The smarter, faster, easier way to build a successful web application


getting real book_3

I decided to pick up this book after the PDF was recommended to me by my boss and president of the company. I’ve always heard of 37Signals and their slew of online products (I even use some of them today). And of course in the development world who hasn’t heard of Ruby on Rails, created by David Heinemeier Hansson, who is a partner at 37Signals. This book was written by them after their experience in the IT startup world and after successfully developing some really cool web applications.

Overall I like the way this short book takes a lot of agile and lean concepts and applies them in the real life of a startup company. It’s even written in an almost point form sort of way, giving you little “lessons learnt”, “how we did it”, and “what we think of that topic” in very short 1 to 3 page sections. Although the content is very quick and to the point, there’s definitely a lot reference to background information alluding to why they think or do things a certain way. From industry cases like that of Steve Jobs to references from the Pragmatic Programmer you can really see the depth of understanding that these guys have for the values and principles which also stem from lean and agile frameworks. This book really shows a reality that can be achieved using the efficiencies brought on by adopting agile and lean values and principles.

Here’s a list of points that stuck out to me while reading this book:

“Scratching your own itch” – Open source developers find it easy to build solid high priority features because they are their own users and will build it when they need it. When you solve your own problem you create a tool that you’re passionate about.

“Constraints force creativity… and drive innovation” – Limiting your resources makes you deal with the most important things first and helps get your product out the door quicker. It also helps you get feedback on your product sooner. Work with what you have.

“Allow emergence” – Simple rules can lead to interesting complex behavior, cultivate an environment built around simple rules and allow for emergent behavior.

“The devils in the details” – Details reveal themselves as you use what you’re building. You’ll know which potholes to pave over because you’ll keep hitting them. Don’t waste time on problems you don’t have yet. Pay attention to the details when they matter.

“Avoid preferences” – Preferences and user options create more code, tests, maintenance, computational complexity, complex usability etc. You make the decision so your users don’t have to on the defaults. Make the best guess and move on.

“Be an executioner” – Ideas are just a multiplier, they are worth nothing unless executed. Execution is worth millions.

“Alone time” – People need uninterrupted time to get work done. Set aside half a work day where interruptions are  This one is a hard one because it’s so hard in our open workspace; interruptions come easy from both inside the team and outside.

“Innovation comes from saying no”  – Make each feature work hard to be implemented. Listen to your users but don’t act hastily. Say no to all but the crucial features. You’ll know what they are don’t worry.

“Can you handle it?” – Build products and offer services you can manage. It’s easy to make promises, but much harder to keep them.

“Promote through education” – Education is a soft promotional technique. Share your knowledge with the community and at the same time promote your product or create a positive buzz with your users. People you educate will become your evangelists.

“Beware of the bloat monster” – Resist bloat. Just because the application is older and more mature doesn’t mean it needs to get more complicated. And new doesn’t always mean improved. You don’t need to up-sell by constantly adding more features, you just need to provide ongoing value.

Definitely a short reading to share with your team! So, I am passing this one on now.

Visit from our Angel…

Last week we had a visit from our Angel Investor, Greg Olsen, of GHO Ventures based out of Princeton, New Jersey. He helped eCompliance get off it’s feet 2 years ago. He brings with him an astronomical (pun intended) amount of experience and wisdom that really differentiates us from the other startups in our field. It’s exciting to know that we have support from an accomplished entrepreneur with a wealth of business experience to motivate us along the way.


Greg Olsen Visit 2009-07-15_thumb

Our entire team met with him for a few hours and mainly talked about his experience as the third private citizen to go into space. For guy with so many credentials and accomplishments, he’s really down to earth! Truly inspiring.

We Want You!


We want you eCompliance_thumb

We’re looking for passionate and talented Agile .NET Developers! Here’s the details:

eCompliance Management Solutions Inc.
eCompliance Management Solutions Inc. ( is the leading provider of Occupational Health & Safety (OHS) Management solutions in Canada. is a privately held company with its head office based in Calgary, Alberta, Canada. focuses on making use of the latest technological advancements to build practical and cost effective solutions for its customers and is the preferred technology partner of Canadian organizations in OHS by providing efficient and effective practical solutions to measure, manage and mitigate Health & Safety Risks in the quest for ‘Zero Incidents’.

The Candidate

  • You are looking for an exciting and rewarding career using the latest tools and technologies.
  • You are highly motivated and passionate about developing software that impresses your colleagues as well as the customers you are building it for.
  • You are a software craftsman who wants to make a difference both in the software industry and the domain in which you work.
  • You believe that the ALT.NET movement will change the development industry and want to be a part of it!

Skills and Qualifications
Must Have

  • Post secondary degree in Computer Science or similar technical training.
  • 3+ years developing applications using C# and .NET Framework.
  • 3+ years experience building large scale web applications using the latest technologies.
  • 2+ years experience with the latest Microsoft technologies as well as open source projects/tools that integrate well with an Agile development environment.
  • Good communication and team skills.

Highly Desirable

  • 2+ years experience with Agile Development practices and working in an agile team using XP and Scrum.
  • 2+ years experience with test-driven development (TDD), object oriented design (OOD), domain driven design (DDD), and design patterns
  • 2+ years experience building windows desktop applications or .NET Smart Clients is an asset.

Additional Perks

  • Comprehensive health benefits package
  • Company Stock Option Plan after 1 year of employment
  • Flexible team work schedule
  • Training opportunities and monthly book allowances

Bottom Line
This is an opportunity to work in a fun and collaborative environment where a ton of learning and contribution to the development community is supported. If you are or want to be a top-notch .NET developer then this is the place for you!

Please submit your resumes to careers at ecompliance .ca  attention Luu Duong (let me know that you saw this on my blog). Candidates must be Canadian citizens or permanent residents living in Calgary area.

For more information ‘About Us’ please visit