Agile Zone is brought to you in partnership with:

Paul is a principal consultant at ThoughtWorks. He is enthusiastic about open source in particular. He is known for Dependency Injection (one of its pioneers with PicoContainer), Selenium browser automation (co-founder), Branch by Abstraction and most recently Client-Side MVC frameworks. Paul is a DZone MVB and is not an employee of DZone and has posted 89 posts at DZone. You can read more from them at their website. View Full User Profile

Worst Practices Teams

  • submit to reddit
Exec Summary

Borrowing from Newton’s 3rd Law, and in the context of Information Technology at a sufficiently large organization:

For every “best practices” team, there is an equal (in magnitude) and opposing
“worst practices” team silently going round the organization making things worse.

Just one example:

Printer names

There’s often a group within an organization who are authorized to name printers, and are passionate about encoding location information and more into the printer name. Names like H12G174P result.

Instead, printers should always have names. A team that’s co-located benefits from being able to remember printers, cognitively map their locations, verbally pass on their whereabouts: “Godzilla is color and prints on both sides, it’s the one by the water cooler”. You should go as far as to make DNS entries for them that match their name, so that Mac and Linux users can more easily find them.

Google offices had/have names for printers like ‘Snoopy’, ‘Superman’, ‘Dilbert’, and made that pretty prominent on the printer, if not with a picture of the same pinned up on the wall above it.


Published at DZone with permission of Paul Hammant, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)


Gerald Butler replied on Wed, 2013/12/18 - 10:10am

Printer names (and server names or any other network device names) should have a fixed, device specific name that is it's primary DNS/WINS entry and then an DNS Alias (or secondary DNS name) that follows the "friendly" convention you're recommending. Better yet, it should have a "Device Name" (primary DNS name), "Purpose Name" (secondary DNS Name or Alias), and "Friendly/Location Name" (tertiary DNS Name or secondary Alias).

So, if you have an HP LaserJet Model 5600 Color that has serial number 123456789 is located in Cleveland, Ohio in the R&D Building in the Color Swatch Department (Dept 103) on the 3rd Floor, West Wing, Room 335B, Quadrant East, and is primarily used by that Department to print Color Comparison Samples for clients, that printer should be named something like as follows:

    Primary DNS Name: HP_LJ5600_Color_SN123456789

    Secondary DNS/Alias for Location/Device Type: PRT_OH_CLE_RD_F3_R335B_QE

    Tertiary DNS/Alias for Purpose: PRT_Color_DeptColorSwatch_ClientSamples

    Quarternary DNS/Alias for "Friendly" Name: "PRT_FruitLoop"

If done properly, all of these names associate to each other in DNS and are available via nslookup. The Primary Name and Location Name are for use by the IT staff that need to manage the resources and keep track of where things are. The "Alias for Purpose" is for use by people outside the immediate local area of the device to discover fairly easily and the "PRT_FruitLoop" is the name to easily remember for everyone involved.

If the printer is replaced with a new printer/model then only the Primary name needs to change (which no one should be using directly).

If the printer moves to a new physical location, only the "Location Name" needs to change.

If the printer is given a new primary purpose, only the "Purpose Name" needs to change.

The "Friendly" name should never be changed.

Same sort of logic applies to any networked device. This handles all use cases smoothly and efficiently.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.