The thought of trying to measure something as fungible as development --
given that there is usually more than "nine way to skin a cat" in Remedy --
tends to make me believe the idea stems from a manager with far too much
time on their hands.

And as far as measuring development, I would think you would have to give
excruciatingly exact development tasks to each of your developers (and why
would you do that?) in order to collect meaningful metrics. Off the top of
my head, presuming you could come up with requirements so finely detailed
that there was only a single way to develop them, you could perhaps use
this as part of a job-applicant screening process -or- perhaps as part of
the employee's annual review. But if the devs have to take a test as part
of their annual review, I would think it only fair that the managers have
to take a test as well, one designed by the developers.

But as a production development measurement process, how would even a
fairly "general" measurement be meaningful if during the measurement
period, developer "A" mostly just added/repositioned/edited text fields
with minimal workflow and developer "B" worked on a robust, non-ITSM,
bespoke application?

I would think you would also need a measurement system for (including, but
not limited to):
- The individual staff members contributing/defining requirements
- The quality/completeness/ambiguity of the requirements gathered/documented
- Any changes along the way
- The over/under/confusion-injecting involvement of non-technical
stake-holders and managers.

Given those measurements, along with the developers metrics, I would think
the outcome would quite often recommend reassigning the metrics seeking
micro-manager(s) to somewhere they can't do as much damage...

Now, I'm not an anti-management rebel as the above may suggest - I rely on
and have worked with darned good managers and continue to do so today.
However,  over the years I've worked with lots of managers good and bad,
both with my employers and customers. So when I hear someone say that they
are looking for a way to measure development or capture development
metrics, I don't see how you could get **meaningful** metrics simply
because development efforts are rarely identical enough to compare one to
the next fairly (individual scale or project scale). It strikes me as an
exercise in futility -- or better yet, gathering metrics for the sake of
gathering metrics. Again, as if the idea stems from a manager with far too
much time on their hands who sees a new excel spreadsheet full of raw
numbers like a Rubik's Cube: "something fun to fiddle with".

My point of view on this stems from my personal experience where I've
worked with folks who use the ITIL "measurement" philosophy as something to
hide behind in order to measure waaaaaay too much just because they can and
not necessarily because there is a clear *business-need*.

I would wager that you would realize far better productivity, along with a
substantial boost in morale, if you were to just get rid of the manager who
suggested the idea in the first place. For if that manager seriously
suggested this idea, who knows what other "great ideas" he has inflicted on
the organization?

Note: This is merely my stinky personal opinion -and- opinions will likely
vary...
-JDHood




On Thu, Jun 5, 2014 at 4:31 AM, Theo Fondse <theo.fon...@gmail.com> wrote:

> **
>
> Hi Charlie!
>
> Although I have grown over the past few years to fully agree with LJ on
> this subject, I can also understand the need for metrics to have something
> to go by to know if our performance is on-par or not.
> Sadly, measurements in the LOC style no longer give a true picture of
> actual performance especially in terms of Remedy development.
> The company I am currently working for has a 100% custom Remedy solution,
> and are measuring performance based on number of requests closed per day
> irrespective of workflow object count (but they include all types of
> incidents, problems and change requests in this figure).
> In my opinion, this is a better performance metric than pure LOC count,
> but is also flawed because some types of requests are quicker and easier to
> close than others.
>
> Shawn Pierson nailed it very well in his mail, if the purpose of the
> exercise is to determine the "quality" of a Remedy developer or to guide
> decisions around which questions your metrics should answer if you want
> your company to keep the Remedy developer that will truly be most
> beneficial to keep when the time comes to make those "hard decisions".
>
> Dave Shellman also pointed out the efficiency of code argument.
> I would like to add to what he said by pointing out that the better Remedy
> Developer will:
>  1) Add config data to the system to configure it to do something rather
> than write superfluous/duplicate code.
>  2) Pre-allocate field ID's and share Filters/Active Links between
> multiple forms.
> These effectively lowers your LOC count and therefore LOC count does not
> paint a true picture of quality or quantity of performance in such cases.
>
> Server and network infrastructure performance also plays a role in
> developer performance.
> If you are working on a server that takes 38 seconds just to open an
> active link, you cannot be expected to churn hundreds of active links a
> day.
>
> Anyone will be able to (intentionally or unintentionally) exploit
> LOC-based metrics to their advantage by bloating their code, simply by:
>  1) Adding a number of extra Filters or Active links in stead of making
> something data configurable or generic.
>  2) Copy-Pasting Filters or Active Links rather than pre-allocating
> fieldID's and sharing workflow between forms.
>  3) Writing bloat-up Filters/Active Links that only seem to be doing
> something relevant, but has no consequence to the actual functionality.
>
> But, to answer your original question:
> If the company insistence remains on measuring performance on an LOC
> basis, and if
>  1) You are guaranteed to always be presented with complete, clear, signed
> off and sufficient requirement specification documentation,
>  2) You are guaranteed to have access to properly performing
> infrastructure (active link opens up in <3s),
>  3) You are focussed on doing development and are not required to stop
> what you are doing and attend to support issues,
>  4) You do not attend more than 2 hours worth of meetings or workshops a
> week,
>  4) Complexity of the solution is low to medium,
>  5) Good quality code is required. (As opposed to only evaluating if it
> seems to be doing what was required),
>  6) There are no external integrations to other systems where you do not
> have full admin access and responsibility,
> then my opinion is that, on an 8-hour working day, a good Remedy Developer
> should be able to produce anywhere between 15 and 100 objects a day
> counting a total combination of Forms, Active Links, Filters, Escalations,
> Guides, Applications, Web Services, Menus, and Flashboards.
> This is based on an approximate average of between ~5 to ~30 minutes time
> spent on average per object.
>
> If a Remedy developer is creating more than an average of 100 objects a
> day, then that developer is running the risk of probably not ensuring good
> quality code, because he/she is:
>  1) Copy-pasting code and not testing it the way it should be tested.
>  2) Unwittingly creating a bloated monster of a system that is going to be
> a costly nightmare to maintain.
> In such cases, one could start looking at:
>  1) Synchronising field ID's across al forms.
>  2) Writing more generic code that can rather be shared and/or data-driven.
>
> HTH.
>
> Best Regards,
> Theo
>
>
> On Wed, Jun 4, 2014 at 4:41 PM, Charlie Lotridge <lotri...@mcs-sf.com>
> wrote:
>
>> **
>> Hi all,
>>
>> Thanks for all your responses.  And, while I didn't get quite what I was
>> looking for, it's certainly my own fault for not starting with the more
>> narrow question I eventually posed.  And even that I should have qualified
>> by stating "assuming perfectly efficient workflow".
>>
>> I fully agree with all of the positions that the quantity of workflow
>> varies significantly with the quality of that workflow, the complexity of
>> the requirements, and many other factors.  I also agree that in isolation,
>> "workflow object count" is a useless number.  I *do* think that as part of
>> a broader set of measurable characteristics it can be used to say something
>> useful about the developer, hopefully to be used constructively.  But this
>> is a conversation that is diverging significantly from what I was looking
>> for.
>>
>> LJ, it's unfortunate that the poker point data was so misunderstood and
>> misused, but I can only imagine that it must have been quite satisfying to
>> the team that drove that point home with the 1000x formula.
>>
>> I'll take you up on your offer to take this offline.  It might take me a
>> while to put something together that makes sense, but please expect
>> something within a day or so.
>>
>> Thanks,
>> Charlie
>>
>>
>> On Wed, Jun 4, 2014 at 7:05 AM, LJ LongWing <lj.longw...@gmail.com>
>> wrote:
>>
>>> **
>>> Charlie,
>>> I have a long standing hatred of performance metrics, that I won't go
>>> into the background for here, but I'll attempt to answer the basis of your
>>> question.
>>>
>>> Where I work currently, we went through an 'Agile transformation' a few
>>> years back.  We all went through training on how to develop in an agile
>>> methodology, we discovered scrum masters, sprints, and all of the
>>> 'wonderfulness' of the agile methodology.  During our grooming sessions we
>>> played Agile Poker (http://en.wikipedia.org/wiki/Planning_poker) to
>>> estimate the level of effort of a given change.  The 'points' assigned to
>>> the modification gave an indication of how hard the change would be, and a
>>> 'velocity' was set that said...ok, during this sprint we can handle '50'
>>> points of effort, with a sprint typically lasting 2 weeks, it would be
>>> agreed by all parties involved that the team could develop and test those
>>> 50 points in that 2 week period...it is typically assumed that given a
>>> general scrum team that the velocity can increase x% each sprint as the
>>> team gets into the groove.
>>>
>>> This process worked well for awhile until the 'metric' folks got a hold
>>> of these numbers.  The metric folks said ok...well, we will start measuring
>>> teams on performance based on these 'points'.  They started saying that
>>> this team was doing more work than that team because they were handling
>>> more points during a sprint...so one team started taking 3 0's onto the end
>>> of all of their points, they were then doing 1000 times more than any other
>>> team, and it became abundantly clear to the metrics folks that a 'point'
>>> system didn't determine how efficient a team was.
>>>
>>> Even within my scrum team our point values varied....if I was doing the
>>> work, I would assign the effort a 2 or 3...but if I knew that I wasn't
>>> going to the be the one doing the work, but instead, a junior member of the
>>> team, I would assign it a 5 or an 8 because they would need to do more
>>> research into the system to figure out how to get it done than I would
>>> because of my time on the team and knowledge of the inner workings of the
>>> app.
>>>
>>> The fact that myself and the junior member of the team might generate
>>> the same code, and I would do it faster, doesn't indicate that I'm better
>>> than them, nor necessarily more productive...just have more background than
>>> another.
>>>
>>> So...this long story is to say that every time I have ever encountered a
>>> performance metric that someone is trying to use to evaluate 'who is
>>> better'...I find that any metric that says 'lines of code per hour' or
>>> 'objects per day', etc don't show enough of the picture to properly
>>> evaluate someone.
>>>
>>> I instead prefer a metric that works on the whole environment/person
>>> instead.  I prefer to look at 'how does the developer interpret
>>> requirements, does the developer ask any questions for clarification, how
>>> efficient is the workflow that is developed, how many defects come back on
>>> the code that is developed, etc.
>>>
>>> As others have pointed out....400 objects that don't work well are worse
>>> than 20 objects that work well.
>>>
>>> Other factors that determine a good developer are ability to communicate
>>> with team mates, ability to communicate with management, and ability to
>>> communicate with the customer.  Some people are so 'heads down' that they
>>> might be able to program anything you want, but if you can't articulate
>>> your 'needs' to them in a way that they understand, and them get you what
>>> you are looking for back out of that...then they aren't a good developer in
>>> certain situations.
>>>
>>> I would be happy to take this offline with you if you would like...maybe
>>> get a bit more into your reasons for looking for this metric.
>>>
>>>
>>> On Tue, Jun 3, 2014 at 5:03 PM, Charlie Lotridge <lotri...@mcs-sf.com>
>>> wrote:
>>>
>>>> **
>>>> LJ says 'performance metrics suck and don't work the way they are
>>>> intended'.  So, do you feel strongly about this?  Yikes! ;)
>>>>
>>>> Really, though, while I didn't participate or even see any of those
>>>> prior conversations about this subject, a couple points occur to me...
>>>>
>>>> First, while you're of course entitled to your opinion, I hope your
>>>> blanket dismissal of the subject doesn't discourage others from voicing
>>>> theirs.  If the topic annoys you - and it seems to - my apologies.  Not my
>>>> intention.
>>>>
>>>> Second, I'd agree that "no one metric can accurately" say anything
>>>> about anyone. My "one metric" examples were just given to spur the
>>>> conversation. And perhaps others have more nuanced answers that involve
>>>> more than one metric and include qualifications.  I'd be interested in
>>>> hearing about those.  As a software engineer (my background), one of
>>>> the metrics that has been used to judge my work has been "lines of code".
>>>>  In and of itself it's not a useful metric, but combine with other factors
>>>> it can help provide a broad picture of the performance of different
>>>> developers.
>>>>
>>>> Third, having such data doesn't make it bad or "wrong" data, it depends
>>>> on how the data is used just like any other data.  If used constructively,
>>>> such metrics could, for example, be used to help assess a developer's
>>>> strengths and weaknesses with perhaps the goal of working/educating the
>>>> developer to shore up those weaknesses.  And while it's certainly true that
>>>> information like this can be misused, it doesn't mean we shouldn't have the
>>>> conversation.
>>>>
>>>> Fourth, there ARE clear differences in the performance of different
>>>> developers.  Sometimes there are very valid reasons to judge the relative
>>>> performance of developers.  Sometimes it's because hard choices have to be
>>>> made like downsizing.  Is it better in these situations for the manager to
>>>> just pick the individual(s) they like the least?  Or who they *think* are
>>>> the least productive?  I smell a lawsuit.  Wouldn't hard metrics be useful
>>>> in these cases?
>>>>
>>>> Finally, a disclaimer: I don't now or have any near future plans to use
>>>> such metrics to evaluate anyone...I don't have anyone to evaluate.  And
>>>> while my interest in the topic is more than just idle curiosity, I won't be
>>>> using it to fire anyone soon.  For me, this information is more for
>>>> research purposes.
>>>>
>>>> Thanks,
>>>> Charlie
>>>>
>>>>
>>>>  On Tue, Jun 3, 2014 at 3:03 PM, LJ LongWing <lj.longw...@gmail.com>
>>>> wrote:
>>>>
>>>>> **
>>>>> My opinion is that 'performance metrics suck and don't work the way
>>>>> they are intended'.  There has been healthy debate over the years 
>>>>> regarding
>>>>> exactly that subject, and every time it's happened, either on the list or
>>>>> otherwise, it ends up being that no one 'metric' can accurately say that
>>>>> this developer is doing 'better' than another developer.
>>>>>
>>>>>
>>>>> On Tue, Jun 3, 2014 at 3:46 PM, Charlie Lotridge <lotri...@mcs-sf.com>
>>>>> wrote:
>>>>>
>>>>>> **
>>>>>> Hi all,
>>>>>>
>>>>>> I'm curious...what are your opinions about what might be useful
>>>>>> metrics to use to judge the performance of Remedy developers?  To narrow
>>>>>> the conversation a bit, let's just talk about during the creation of a 
>>>>>> new
>>>>>> custom application, or custom module to an existing application.  In 
>>>>>> other
>>>>>> words for code generation.
>>>>>>
>>>>>> So for example, you might tell me that a good developer can create at
>>>>>> least 50 logic objects (active links/filters/escalations) in a day.  Or
>>>>>> create & format one form/day.
>>>>>>
>>>>>> What are you opinions?
>>>>>>
>>>>>> Thanks,
>>>>>> Charlie
>>>>>> _ARSlist: "Where the Answers Are" and have been for 20 years_
>>>>>
>>>>>
>>>>> _ARSlist: "Where the Answers Are" and have been for 20 years_
>>>>>
>>>>
>>>> _ARSlist: "Where the Answers Are" and have been for 20 years_
>>>>
>>>
>>> _ARSlist: "Where the Answers Are" and have been for 20 years_
>>>
>>
>> _ARSlist: "Where the Answers Are" and have been for 20 years_
>
>
> _ARSlist: "Where the Answers Are" and have been for 20 years_

_______________________________________________________________________________
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
"Where the Answers Are, and have been for 20 years"

Reply via email to