A developer should be able to make informed decisions about the tools and techniques appropriate to the task in hand. These will differ, from task to task.
MichaelJackson has identified ProblemFrames which recur (they are, I think, somewhat like patterns) and have known collections of effective techniques associated with them. One such ProblemFrame is the JspFrame. If your problem fits that frame, then the techniques of JacksonStructuredProgramming will be well suited to your problem. Otherwise, maybe they will not.
I submit that there is, for example, an XpFrame. If your problem does not fit the XP frame, then the particular collection of techniques and mode of organizing them given in ExtremeProgrammingExplained will not be optimal for your problem. A quick example: on my current project the use community is spread all over the world, and we are contractually obliged to give them forty-eight hours notice of any questions we ask them. This would seem to break a lot of the XP approach: a bad fit with the XpFrame, therefore not all of the XP practices are appropriate (others may be).
And there may well be (corresponding to the RationalUnifiedProcess) a RupFrame?, and so on and so on. And there may be frames that cut across those frames (these are, I think, the more useful abstractions), thus enabling the wise developer to select the techniques (from XP, from RUP, from DesignByContract, from the CatalysisMethod...) and the mode of organizing those techniques most likely to be effective for the problem in hand. If there is to be a name for that sort of activity, the selecting and organizing of techniques, it should be "methodology".
All developers should be able to perform this task. AllDevelopersShouldBeMethodologists -- KeithBraithwaite
Is this a reduction from EveryoneShouldBeaMethodologist -??? No. maybe more recognition that that page is somewhat mis-named (although I've got time for the idea that everyone on Wiki is a methodologist, like it or not), and an expansion of one of the ideas on that page.
Although, thinking in Deming terms, then yes, everyone in the world should be a methodologist, since we should all be seeking to do whatever we do better. This requires some study of method. -- KB
This differs somewhat from my understanding of Dr Deming. He identified "Everyone doing his best" as a problem, not a solution. He also stated that "New knowledge must come from outside the system." This would indicate a problem with developers (users of methods) identifying new methods. Defining new methods is difficult and the lack of dedicated methodologists is part of the reason that software development is in the state it is in. -- WayneMack
Funny, I thought the over abundance of dedicated methodologists is part of the reason that software development is in the state it's in. When I see a methodology like Catalysis I'm left wishing D'Souza would apply his energy to writing a programming language that made it easier to implement his ideas. -- EricHodges
I don't think AllDevelopersShouldBeMethodologists. No one would be left to work.
Methodology (in the sense used here) is not a time-consuming activity, and pays dividends if done correctly.