MSSQL Aliases

For those of you that wish to reference your local MSSQL database by any other name than LOCALHOST or MSSQLSERVER (which it’s named by default if you didn’t change it during the installer), you can follow the instructions below to change the name.

Note that this also works with SQL Express installations if you want to have localhost work as the alias for localhost\sqlexpress.

Alias for SQL Configuration

  1. Launch the Sql Server Configuration Manager application, simply start typing from the windows start screen and you should see this executable utility filter to the top.
  2. Click on the SQL Native Client XX.0 Configuration (XXbit) element in the tree, and then click on Aliases
  3. Right-click and select New Alias
  4. In the Alias Name field, choose a new name that you want to reference the server by, ex. localhost
  5. In the Server field, specify the name of the server that you wish to point to, ex. localhost\sqlexpress

mssqlaliases

Read More

Estimating Tasks with T-shirt Sizes

The Fibonacci sequence and the Mountain Goat modified sequence for Planning Poker (1, 2, 3, 5, 8, 13, 20, 40) are great intervals for Story Point estimation. It’s a great interval for determining the relativity of one backlog item (or user story) to another backlog item. However, these two intervals are cumbersome when it comes to estimating the time it takes to complete tasks associated with a backlog item.

So, the next time you are in your Sprint Planning meeting and you have already planned out the WHAT and you’re ready for the HOW, try T-shirt sizing for task estimates.

Remember that the Sprint Planning meeting can be broken into two sections. The WHAT and the HOW.

The first section of Sprint Planning, the WHAT, is what Backlog Items are we planning to bring into the Sprint. This involves the whole Scrum team, including the Product Owner. Second, the HOW is creating the tasks required to fully complete (per your Definition of Done) each Backlog Item. When you have finished tasking all Backlog Items, look back at the Sprint Backlog and commit/forecast the Backlog Items you plan to complete for this Sprint.

While your estimates for the Backlog should be relatively measured against each other with Story Points, estimates for tasks can be loosely relative and based on the hours it will take to complete the task. If you play Planning Poker with the intervals mentioned above, you may have unnecessary arguments on close estimates. Try this new approach…

T-shirt for Tasks
20150128_022136000_iOS

  • SM – Small – 2 hours worth of work
  • MD – Medium – 4 hours worth of work (1/2 day)
  • LG – Large – 8 hours worth of work (full day)
  • XL – Extra Large – too large to complete in one day, break into smaller tasks!

In the Estimated app, you can change the table’s card format. If you’re in the real-world and you don’t want to download an amazing App, AND you don’t want to use the Estimated Mobile Offline Version, you could create the cards manually.

Good luck and happy estimating! Let me know if you have tried this technique and found success, comment below!

Read More

Return to the Agile Principles

Most teams practicing Agile can spell out the Agile Manifesto’s four main tenants, they are:

  1. Individuals and interactions over Processes and tools
  2. Working software over Comprehensive documentation
  3. Customer collaboration over Contract negotiation
  4. Responding to change over Following a plan

However, it’s important to focus on these but not lose focus on the twelve guiding principles of Agile.

  1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
  2. Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
  3. Deliver working software frequently, from a couple of weeks to a couple of months, with preference to the shorter timescale.
  4. Business people and developers must work together daily throughout the project.
  5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
  6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
  7. Working software is the primary measure of progress.
  8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
  9. Continuous attention to technical excellence and good design enhances agility.
  10. Simplicity–the art of maximizing the amount of work not done–is essential.
  11. The best architectures, requirements, and designs emerge from self-organizing teams.
  12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Action Item

In your next retrospective, look at these twelve and ask the team how they are applying, or lack their of, these principles. A healthy conversation covering these can lead to action items for your next sprint. Reply with comments below and let me know which principle your teams are struggling with.

All this, AGILE, would not be possible without the seventeen engineers that took lead to create the Agile Mainfesto. Thank you.

Read More

Another Agile Retrospective Technique – Christmas Carol

In scouring the web for new retrospective techniques, I stumbled upon two great resources. The first was a book by Ester Derby, Agile Retrospectives: Making Good Teams Great, and the other was an Agile Wiki specifically for Retrospectives, RetrospectiveWiki.org.

the-muppets-christmas-carol

Just in time for the holiday, the Christmas Carol Retrospective focuses on a few year-end behaviors to be shared with the team, living in the now, appreciation for the team, and wishes for Santa.

Here’s a summary from the Wiki on how to run the Christmas Carol retrospective.

Past, Present, Future

Begin the retrospective by telling the tale of how the real story of Christmas Past, Present and Future goes. If you need a little reminder, check out the muppets classic video for ‘research’ or simply breeze over the Wiki Page. Next, give everyone a set of cards/post it notes and pens.

First, Christmas Past, this is an opportunity for the individual team member to reflect on things they regret or wished they could have changed. This doesn’t necessarily need to only reflect on the previous sprint, but it could reflect on the project from inception. Have the team members keep their answers to themselves.

Second, Christmas Present, this is where the team members can share in the efforts and appreciation of the team around them. Highlight collaboration, communication, teamwork and other positive comments. Again, have the team members keep their answers to themselves for now.

Third, Christmas Future, is a chance to prepare a wish list for how you wish the team/project will change/improve in the new sprints to come.

After discussing each of the sections, give the team about [15 minutes|time box] to reflect individually and write down 0..* responses to the areas. Write the categories on the board so the team can post their cards next to the words ‘Christmas Past’, ‘Christmas Present’, and ‘Christmas Future’, when the time comes.

When everyone is ready, start up again by telling them that while you appreciate them crafting regrets – it’s time to let them go! Have them hold up the regret cards and then tear/crumple them up and throw them away. Next, have the team bring their cards up and post them next to the categories. Work through the Christmas Present cards by reading the card out loud and spurring a conversation on the summary. Write down any action items. Next, do the same thing with the Christmas Future cards. There will probably be a few more action items in the Wish List.

Note that this retrospective is especially suited for sharing candy canes during the activity.

Grinch = Risks

To add a special twist on this Retrospective, try adding a fourth category called ‘the Grinch’ and discuss how the Grinch may steal christmas, which could be a metaphor for any risks that you have in the project or risks that could be upcoming. During the review of this category, there may be action items that can help to reduce or mitigate the risks.

grinch_by_crazymic-d6yvfkp

Grinch picture by CrazyMic

Enjoy, Merry Christmas and Happy New Year!

Read More

Resharper – Run JavaScript Tests Inside Visual Studio

Resharper is a great extension to Visual Studio that offers an array of complimentary features to Visual Studio’s built-in base features. Once you start using some of Resharper’s intellisense, code navigation, file navigation, testing tools, and more you’ll wonder how you even lived in the IDE before then.

logo_resharper

One of the features that is available in Resharper is the ability to run not just .NET Unit Tests, but also other framework tests such as JavaScript unit tests. The results from any project tests are combined and made available within the Resharper Test Window. By default, JavaScript tests need a web browser to run the JavaScript engine to execute the tests. When you invoke Jasmine or qUnit tests from Resharper it will open up your default web browser, run the tests, and return the results to the Test Window. Every time you run the test it will open up your default web browser and if already open it will open up a new tab.

You can have Resharper fully contained and run the tests from within Visual Studio without the need to open a new tab or web browser. Start by downloading PhantomJS, which is kinda like a command line executable that has a built in web browser that can ‘see’ a webpage and the scripts within the page without having to open up a real browser. It’s based on the same infrastructure as Safari and Chrome (WebKit), so you can expect that it should have reasonable standards when it comes to verifying the tests. I’ll typically save utilities like this into a local folder close to the root of the main drive, ex. c:/utilities/phantomjs.

Now that PhantomJS is downloaded and you can reference it locally, next go into Visual Studio and go into the Resharper settings for JavaScript tests (Resharper -> Options -> Tools -> JavaScript Tests). Here’s a screenshot of what it should look like when you have it setup. Simply save the settings and close and now your tests should run smoothly in Visual Studio.

ResharperJasminePhantomJS

Read More

Google Fonts in WordPress

So you’ve seen some of the new fonts that you can use for Free from Google’s Font library and now you want to drop them into your WordPress Blog. You could probably stumble through some of the WordPress configuration options within the admin areas to eventually find an ‘Editor’ tab which allows you to edit the PHP code files for the site. You could find a file that looks like it should accept the <link> code from Google and paste it in there… but if your template ever updates you’ll lose that setting. Below is an example of what the <link> code looks like.

Like most WordPress tasks, the easiest approach is to simply navigate into the plugins area and find a plugin. For Google Fonts there are quite a few plugins, but we’ll use one named ‘WP Google Fonts‘. This plugin has by far the most support and latest updates. To use the WP Google Fonts plugin, start by finding it, installing it, and activating it. Then you can click on the settings for the plugin to see it has several slots for finding the Google Font, specifying which parts of the HTML you want to override, H1, H2, etc. or even some custom elements with your own CSS.

wp fonts

Read More

Scroll Speed Parallels Mac OSx

mousescroll
The scroll speed on Parallels is a little off-par with the smooth scrolling on my new Mac OSx running Mavericks. When I slide into my Parallel’s, my mouse scroll slides half of the page at a time. To fix this simply navigate into Control Panel -> Mouse -> Wheel and change the scroll lines down to 1. This will reduce the scrolling per line and make it more inline with what you’re expecting the scroll speed to be.

Read More

Deploy to Windows Phone

To deploy to a Windows Phone you need to,

1) Register at https://dev.windows.com/en-us/join.

You don’t necessarily need to Register if you want to side-load apps on your own Windows Phone, but if you want to submit Free or Paid apps to the Windows Store you’ll need to register.

2) Unlock your Windows Phone

You’ll need to first start by unlocking your phone for side loading custom developed applications. You can unlock your windows phone, up to 3 phones per windows developer account, by opening the Windows Phone Developer Registration application and logging in. It will prompt you to plug-in your Windows Phone and it will link your phone to your windows account. After it syncs with Window’s servers it is effectively ‘unlocked’ and can side load your own custom developed .xap files. You can find the Windows Phone Developer Registration shortcut in the following path:

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Windows Phone SDK 8.0

**If you don’t find the Windows Phone Developer Registration shortcut (ultimately PhoneReg.exe), then you can download a zip containing the .exe in the attached zip PhoneReg.zip

3) Upload your .xap Package

Next you’ll have to build an epic App and then produce a Windows Phone App binary called a .xap file/package. The package contains everything the App needs to deploy as an App on the phone. You’ll upload the .xap to a phone by using a tool found in the exact same directory as the Registration Tool, but this one is aptly named Xap-Deploy.exe. The shortcut found in the Windows Phone SDK folder is Application Deployment.

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Windows Phone SDK 8.0

**If you don’t find the Application Deployment shortcut (ultimately XapDeploy.exe), then you can download a zip containing the .exe in the attached zip XAP-Deployment.zip

You can also download additional development tools here.

Read More

Python Web Server

Python comes with a built-in web server that can quickly host static content if you’re looking to browse a file that may require viewing that file from a ‘server’ rather than from a //file location on disk.

Depending on if you have Python version 3.4

If you have a younger version of Python, you might want to try the following older syntax

Read More

MAC OSx Terminals Alias (Bash Aliases)

To create an alias for Terminals, simply type the alias keyword followed by a string=”new command”. Here’s an example that turns allows the alias ‘cls’ (clear screen) to ‘clear’ the screen.

However, the above string makes this alias temporary for the current terminal window session and will disappear after you quit the terminal.

To make aliases permanent, you’ll need to edit the following file and place your alias commands in there. “~/.bash_profile”

Edit ~/.bash_profile

You can edit the bash_profile file by simply invoking “nano ~/.bash_profile” and then add your aliases. When you’re ready to save, simply Ctrl-O followed by enter. Then you can close the file by hitting Ctrl-X.

Other Common Aliases

Here is a few other commonly aliased commands for reference.

Read More