[consulting] Drupal Certification and Requirements
paola.dimaio at gmail.com
paola.dimaio at gmail.com
Sun Dec 23 02:12:38 UTC 2007
HI Victor
I am glad that my post gave you the chance to share some interesting
information and links
thanks for that
regarding the waterfall approach, no - there is nothing of a waterfall
in my approach as I describe it below - so that I would say is 'wrong
answer'
my account was somehow cursory and anecdtotal, and you twist the approximation
into your own story!
I work with a variety of approaches, and I dont know where you get
this idea that
i 'fail' (I dont think I ever failed a project!),
I do however struggle with finding people who grasp what I say on the spot
and prefer to work with those who understand instantly what I mean,
as that saves me time
luckily every now and then someone turns up with whome communication is
immediate - and these are the people I work well with, although
admittedly only a few
some developers who I have come across dont understand specifications
irrespective of what language I write it in, but I can still work with
them, as long as I can keep an eye on what they are doing...
think also that we are talking 'standard drupal implementation' -
which means we are not inventing anything too new, when I say I need
'advanced search', there are a variety of ways that this can be set
up, and I am happy with either of those, depending on how the team
suggests we do things - this is why I generalise a little sometimes
of course someone with experience will do it well and quickly, and
someone with less experience will take two weeks to work it out and
then when something doesnt work
will say that my developemtn method is not good, and the specification
was not clear etc
(which they should have said before accepting the job, if this was the case)
that leads me to the 'ceertification of the client' provocation of yours
The certification of the client is done upfront: after talking to me
once the developer can simply not accept the job
There are a few other things in your answer (what you say about
funding, black box testing and a few other bits) that you come up with
that show you are making a few things up,maybe you misinterpret what
I said - or perhaps my exposition was unclear
I also know how much a project takes in terms of people hour -
function point analysis was just an example of a standard method. what
I mean is I can work out pretty precisely how much a job takes for a
developer who knows how to do things, for someone who needs to work
things out, its okay as long as they dont charge me for their learning
curve!
No amount of words would be enough to make things clearer as you
obviously intend to twist
what I say, so but I dont feel the need to discuss these further, the
arguments are of no consequence
for the rest you may also have some interesting points !
best
pdm
On Dec 22, 2007 6:25 PM, Victor Kane <victorkane at gmail.com> wrote:
> I think this is a very interesting and very revealing exchange.
>
>
> On Dec 21, 2007 9:57 PM, <paola.dimaio at gmail.com> 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 at drupal.org
> > http://lists.drupal.org/mailman/listinfo/consulting
> >
>
>
> _______________________________________________
> consulting mailing list
> consulting at drupal.org
> http://lists.drupal.org/mailman/listinfo/consulting
>
>
--
Paola Di Maio
School of IT
www.mfu.ac.th
*********************************************
More information about the consulting
mailing list