3-2-1

I swear this blog won’t be all about Software.  However…

I wanted a method to judge whether or not getting help from a third party a good idea.  Somewhere between the exuberance I’m finding in my anecdotal consulting experience and strong reserve from my anecdotal corporate experience.

Well, at my old job, the CEO had a plan his people had to go through in order to hire more staff.  Unfortunately, I don’t remember the 3-2-1 list for hiring but I do remember thinking the 3-2-1 concept was a good one.  Managers then had to justify why they wanted to bring someone new on board.  The following is what I came up with:

What three things would this framework give you that would yield a savings of time and/or money?

The point of this question is to avoid bringing in something just because it is the “new hotness” (to use the parlance of our times) at a given point in time.  For jQuery its three things could be:

  1. Handles cross browser inconstancies for event registering and handling.
  2. Allows us to use JSON serialization even on browsers that do not support his feature natively.
  3. Encourages those writing JavaScript code to use closures.

What are two restrictions or negative tradeoffs that using this framework will impose on development?

Third party systems often don’t do everything you need and/or want or, they don’t fit in with your system architecture as well as something built from scratch could.  This question in intended to prompt thought on the downside.  For example, jQuery:

  1. Evolving so quickly we might have to spending time reworking code to handle functions that become deprecated.
  2. Animations are done via DOM manipulations, not CSS storyboards/animation.

In one word, state that if this framework or library came to you not as an implementation but as a requirements specification, could you build the parts of it you need yourself?  Or, if the output is the focus of the framework coming in, could you craft that output by hand?

“What I cannot create, I do not understand” –Richard Feynman.  And this question is here because how many times does doing things well hinge on know well do you know your fundamentals?  In the case of what I need from jQuery and me:

  1. Yes.