« Return to Thread: Drupal Certification and Requirements

Re: Drupal Certification and Requirements

by Victor Kane-2 :: Rate this Message:

Reply to Author | View in Thread

I think this is a very interesting and very revealing exchange.

On Dec 21, 2007 9:57 PM, <paola.dimaio@...> wrote:
HI Liam

I think the skills validation idea may be serious, following whatever
approach suggested below is also an option (whatever works for you).
If someone could help me determine whether a developer has the best
possible skill to do the job, would save me money and time
because someone who knows their stuff can solve a problem real quickly,

I do feel that this should be possible in some way.
 

>
>   1. Is this roughly the process you use for finding job candidates?

Nope- my IT skills are 'high level' (means I do not get anywhere near
implementation)
so I roughly outline the user functionality and coarse artchitectural
layout, then ask
around who could do it within my budget could they make of it - then
leave the rest to the devs

This is, essentially, the waterfall approach... the approach to software development that the US Department of Defense blamed for an 80% failure rate in software projects: get all the requirements up front and have at it.

The reason this fails is that the objectives are of a minimum complexity such that at least 40% of the requirements will change before the project ends.

This has led to the ever widening adoption of iterative and incremental approaches, and more recently centering on agile approaches to software development: divide the project up into recognizable milestones, build frequently, and most importantly, major client involvement in test driven development so that the client is responsible for tests which can prove the required functionality is present in bite sized chunks, which is different "than doing coarse architectural layout and leaving the rest to the devs" 
 
Being drupal developers on average a creative and adventurous bunch, I
have gone through an entire range of experiences

With this method, you will fail every time, even with Einstein
 

>From well wishers, students, would be coders, geeks from all walks of
life,  experienced programmers who want to charge me 60 dollars per
hour but cant tell me for sure how long its going to take them to do
the job,

They are one hundred per cent right: they are being asked to work with a method that is imprecise. And there is no proper feasibility study, vision document, function point analysis, or even their equivalent on a coffee bar paper napkin. There is no clear presentation of the requirements, nor any attempt to do so, nor is there any clear statement of the criteria according to which the work is done (test driven development).

It is not that you do an occasional project. You evidently do many projects frequently. So you are refusing to make the necessary investment in either a functional analyst who can speak to the "devs" (shades of Brave New World) or else in an interactive, pro-active participation in the project yourself (even though you do suggest such below).
 
to people who give me unreasonable time estimates
and very few, only very few were capable of delivering the optimal
configuration within a time/money constraint: say, do the job within
2-3 days, which is what I calculate based on a rough function point
analysis type of estimate

A function point analysis gives just that: points. You have to consider human communication (shoved down some kind of formalization funnel) as well as the team productivity (high level of confidence and trust based on past experience) to get the to 2-3 days.
 


I had to wait for 3 years to find someone who could migrate
content-wire,com and even then I took a leap.

Right, as I have been suspecting, it is not that you have the occasional "brochure" site, your needs have a certain level of complexity. As well as the obvious question of whether or not the objectives are socially useful.
 
Really good consultants
were busy and only considered jobs r 3k up -

That would be because really good consultants understand the complexity of what they are being asked to do.

So, if the objectives are socially useful, you should be able to raise the funds to get the job done, if it is worth doing.
 

I had guys quoting me up to 22 thousand euros for the migration
(krreeeeeeiiiiks)
Friends who offered to do it for free but that could not work within
my time frame requirements


 

all sorts.

Yeah, diversity is a bummer.
 

 I am lucky to have found a consultant who did the job well enough,
but I still have no way of knowing if we have the optimal
configuration and if everything is installed properly, just that they
did their best, the site is up and good enough, and have been always
prompt and professional in their work.

That is because you take it upon yourself to know this, yet have not written a single black box acceptance test which was handed to the consultant previous to starting work on iterations.

If you can do function point analysis (for those that don't know, it can be roughly defined as a very useful, implementation transparent method of estimating complexity and hence time and costs upon flows of data and the complexity of that data into and out of the system) then you can bloody well write black box acceptance tests!!! Including load tests. Then you would know. Of course, testing is expensive (either in yours or someone's time or else in money), isn't it. Do you figure that in when you come up with your 2-3 days estimates?
 


Note: I am not talking much new development! Just roll out a decent
drupal website with minimal customization and ad hoc config, which
should be doable within 6-8 hours of work at the most.

If it were that simple you wouldn't be doing function point analysis. Also, there is no one-to-one relationship in any framework between requirements and implementation. Given a functional requirement, or feature, there is no way of knowing what architectural impact and risk is involved unless a (shudder) "dev" tells you first. For free, of course, I suppose.

(anti flame atmosphere note: Paola, I hope you do not take any of these critiques personally; it is just sooooo fascinating to see all the "failure" signs so clearly spread out, and it does affect the day to day lives of consultants)
 


>   2. Does it work well?
Well - its very time consuming and risky, but I think a more standard
process can be evolved from that - maybe as a combination of the
proposed approaches

Well, there you are. But not for "certification". Actually, for certification of the client! Because, what is going on with this social software stuff, is that the client must, must, must participate in the development. In order to get a job really done, the one-way vertical hierarchical "here's your job, do it" master-slave relationship has to be broken, not only because it is unjust, but because it cannot get the job done. And for success to be broken, there must be complicity to break down the master-slave relationship, even within the limitations of the capitalist system. Of course, people do not have to agree with my politics at all, and that is a "different subject". But projects fail the more vertical they are, and corporations know that. It is just that most of them are powerless (or else too powerful: too many people with privileges) to change that, most of them spend 22 billion dollars on a proprietary operating system (Vista) only for the Financial Times to suggest that no-one install it.
 


>   3. Would it really help if someone did it for you?
Yes! If you provide me a drupal geek validation service, I ll pay you a fee
to help me select the right geek for the job

You will fail even with Einstein. You, the client must geek it up to get the job done. Or else have a friend on your side you can do it for you. Or else find the right geek who can get someone to proxy for you.
 

Note: the right geek for the job for me is one that can work with me
on messenger,
 
Now here is a glimpse at a possible solution... but it must have method.

 
charges me a honest fee (say, not more than what I earn
per hour/day working as a lecturer)

well, now it is you saying that without socialism we cannot have efficiency, without socialism we cannot have anything but anarchy of production and war. you may be right. The thing is, part of this whole problem is the way added value is "calculated" within the confines of the current crisis of capitalism, the huge waves of speculation, the bubbles growing, then bursting (geeks washing dishes in San Francisco to pay their mortgages 'cause they can't move) ... this objective of yours, for a world in which people are qualified to do what they do and in which everyone receives decent wages, no-one earns that much more than others.... I agree with you.

But the real problem is, and this is why I even bother posting here at all (politics I can discuss in the actual struggle itself) is that we must get a method to work involving client geek complicity breaking all the vertical wall rules in order to get the job done (see http://www.ibm.com/developerworks/java/library/j-beck/ Working smarter, not harder, where there is the great quote "The project had serious problems -- everything from the contractual arrangement, to exhausted people, to lowered voices."). And to get that job done within the confines of the crisis and anarchy of capitalist "production" (waves of hysterical speculation, by which Web 2.0 is partially fueled).
 
and that can set up a website in
the fastes possible way, abides to good coding and development
practices, and that does not get annoyed when I ask for tweaks and
improvements before writing off the task, etc -

certification of the client is the only way to get this done. I always invest a huge amount in attempting (and not always succeeding) in training my clients as part of the work. Takes longer, but the objective you are putting forward there (and it is a laudable one) requires a social method.

> Catching cheats (if the tasks were standard) would mostly consist of a
> Google search, agreed that this wouldn't catch all of them though.

We are all cheats if there is no method.

funny enough, I dont care about cheats at all - I have come across
guys who said they were cheating by scraping the code from somewhere
else. so what? as long as they acnowledge it, isnt this what os is
about? 'reuse'?
but still they need to be able to personalise whatever they scrape
elsewhere - and to bend it to fit the spec/requirement

so it is you who are talking about method as the chief means to success;
 
I have come across very good geeks who did not have the faintest idea
about how to work
following even the remotest software engineering practice, and got all
upset when I asked them to  make well sure they tested their work
themselves  before getting me to check it out

on the basis of tests you refuse to write

here you are confusing black box integration tests with the unit tests the programmers should be doing. but even with the most super duper automated unit tests in the world with every bit of programming, if you don't write black box, detailed acceptance tests based on what you really want to happen (including non-functional constraints like response time, etc) then you will fail even with Einstein.
 


I had to to find all the obvious bugs myself very often, cause the
devs felt that their job was to roll out the code, not to test it
(whoa)

What we have here is a breakdown in communication
 



> Perhaps the best route is somewhere in-between standard tasks and
> contributions; some selection on the bug form to include it as a
> 'certification task', and a list of Drupal concepts involved in
> completing it. Then a View where examinees can select tasks to pick-up
> and complete.

again, Liam (I think it is) is unconsciously giving a PERFECT description of the agile approach to software development: take a user story, pick it up, complete it, run the tests all together...

Liam says I am changing the subject, but the whole sweeping the dust under the carpet trying to funnel the stated problem into a certification program (which already exists and is working fine, in terms of transparent community participation, as Greg explains) is an exercise  in futility. You are stating aims, which are reasonable aims, and then you are saying you will be helped by certification. I am saying that the method of development you are using is destined to guarantee a high failure rate. So I find it a fascinating discussion, which affects our daily lives as consultants, and which affects companies hoping to get it done with Drupal.

I am working on a solution though, as people know, so I will advertise it here when I have time to release it.
 

whatever - it would be nice to be left in the cold when we need to
find a developer
and/or not to have to committ to a full time job or a get a bank loan
to set up a drupal website

next best thing would be learn it myself, but that would be even more
risky in my case
:-)

you don't have to learn how to program; you do have to adopt a viable method
 
Thanks a lot for listening,

Victor Kane
http://awebfactory.com.ar


what about some basic drupal  development training for non geeks? I ll
take that course
>


--
Paola Di Maio
School of IT
www.mfu.ac.th
*********************************************
_______________________________________________


_______________________________________________
consulting mailing list
consulting@...
http://lists.drupal.org/mailman/listinfo/consulting

 « Return to Thread: Drupal Certification and Requirements