You can develop early-bound, test both early- and late-bound, and then leave it whichever way you like. For example,

#Const EarlyBound = True

Function Unique(r As Range, _
                Optional iMode As Long = 0, _
                Optional bCaseSensitive As Boolean = False, _
                Optional sSep As String = " ") As Variant

    ' blah, blah, blah ...   

    #If EarlyBound Then
        Dim dic     As Scripting.Dictionary
        Set dic = New Scripting.Dictionary
    #Else
        Dim dic     As Object
        Set dic = CreateObject("Scripting.Dictionary")
    #End If

    With dic
        ' ...
That way you get IntelliSense during development.