⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 minimalmethodologies.html

📁 极限编程 Extream Programing
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<head><title>Minimal Methodologies</title></head><body><h1><img src="logo.gif"> Minimal Methodologies</h1>(Note from <a href="http://c2.com/cgi/wiki?AlistairCockburn">AlistairCockburn</a>, I edited down my sections of this page jan 8, '98 to incorporate later comments, and on oct 26, 1998 added the link
<PRE> <a href="http://members.aol.com/acockburn/papers/methyspace/methyspace.htm">http://members.aol.com/acockburn/papers/methyspace/methyspace.htm</a>
<p></PRE>The reason I like <a href="ExtremeProgramming.html">ExtremeProgramming</a> is that it is an example of what I am after in a methodology - ultra simplicity or minimalism. It is my reasoned position that every new methodological component adds large extra cost, as it attempts to replace face-to-face communication with a lower grade form of communication.  
<p>I am working out a series of such methodologies, and suffering for a name.  I am currently using the working name Crystal.  A <a href="http://c2.com/cgi/wiki?CrystalMethodology">CrystalMethodology</a> should use the maximum amount of human potential and the minimum number of methodological components.  You will instantly see that <a href="ExtremeProgramming.html">ExtremeProgramming</a> fits the bill for a candidate Crystal methodology.  
<p>I have divided up the methodology space into two dimensions, one Potential for Damage or Criticality, where a mistake results in loss of comfort up through loss of life, and Size or staffing level, in number of people.  Each point in the space zone has its appropriate methodology characteristics.  
I tend to live in the area from loss of comfort up occasionally through loss of essential moneys, but not loss of life, in the Damage direction, and 3-50 developers in the Size direction.  
<p><a href="ExtremeProgramming.html">ExtremeProgramming</a> is one valid candidate in the small staff up through loss of discretionary moneys zones, but is missing the publicly evidenced correctness needed for a life-critical project.  The base methodology in my book Surviving Object Oriented Projects handles damage up through loss of essential moneys, up to 50 people, but is missing the testing needed for a life-critical, and is heavier than needed for smaller staff, comfort-only projects.
<p>I am trying to find one or more minimal methodologies for each region, or ways to characterize the needs of the regions.
<p>--<a href="http://c2.com/cgi/wiki?AlistairCockburn">AlistairCockburn</a>
<hr>
I like the space. I'm curious if you divided it into quadrants what you would find for money/year invested and money/year returned.
<p>I'm a bit leery of number of people as a measure, however. Some people stop listening to me when they see that what I'm talking about can't possibly work for teams larger than about 10-12. The question they should be asking is how big a system will <a href="ExtremeProgramming.html">ExtremeProgramming</a> work for, but measured in functionality, not how many COBOL programmers it would take to do the same thing.
<p>Ah, maybe the problem is one of scale. Since the incremental productivity of additional programmers drops so rapidly, I'd like red=1, orange=2-3, yellow=4-6, green=7-10, blue=11-100, and violet=100+.
<p>I'm curious about your statement that you couldn't use <a href="ExtremeProgramming.html">ExtremeProgramming</a> for life critical projects. I swiped the <a href="http://c2.com/cgi/wiki?FunctionalTesting">FunctionalTesting</a> ideas and <a href="http://c2.com/cgi/wiki?WorstThingsFirst">WorstThingsFirst</a> directly from JonHopkins<a href="http://c2.com/cgi/wiki?edit=JonHopkins">?</a> (the most underrated object thinker on the planet) who was reporting on a PacemakerProject<a href="http://c2.com/cgi/wiki?edit=PacemakerProject">?</a>.
<hr>
You couldn't use out-of-the-box <a href="ExtremeProgramming.html">ExtremeProgramming</a> for a life critical project for several reasons:
1. most regulatory agencies want more in the way of requirements analysis and documentation;
2. you'd need to add some hazard and safety analysis;
3. you need to prove requirements traceability; and
4. you need to insert various safety mechanisms to detect and safely handle exceptional conditions.
That said, you could use many of the core practices of <a href="ExtremeProgramming.html">ExtremeProgramming</a> in such a project to enhance both quality and maintainability, among other things.
<a href="http://c2.com/cgi/wiki?KenBoyer">KenBoyer</a>
<hr>
For number of people, you exactly named the methodology trap - of thinking that a certain size problem has to be addressed by a certain number of people.  There is <a href="http://c2.com/cgi/wiki?NoSuchThingAsSize">NoSuchThingAsSize</a>.  I agree with you that people think <a href="ExtremeProgramming.html">ExtremeProgramming</a> won't scale, and their mistake is in thinking that a certain problem 'needs' a certain number of people.  Don't make that same mistake when staring at a methodology.  The grid does not assert how many people you need, only takes as input how many people you have.
<p>What I am comfortable asserting is that if you have more people, there is going to be an additional communications burden.  If you choose to put more people on the project then you have to take that into account in the methodology.  If you are you, then you choose to put less people on, in order to lower the communications burden, in order to get more done, in order to deliver a larger project with fewer people.  If you are me, then you argue that the same project should use a smaller-staff methodology, because the additional cost burden of a larger-staff methodology is way higher. (it seems clear from the murkiness of those last sentences why I am struggling for a name and a metaphor for the space).
<p><p>I think Jon's pacemaker had only 3-4 people on the project, so it would qualify for smallest-staff.  I don't know enough about the system to comment on the size of the problem or what actually goes wrong when the thing hits a defect, or what they did to ensure that there really were no defects.  I should like to know.  I currently think that at the essential moneys potential damage, regression testing and design and code walk throughs are a minimum, and that at loss-of-life damage, more than that is needed - pre- and post-conditions and public inspections and stuff.  I have never worked on such a project so I don't know.
<p>I have been finding that there is typically a lot less damage on software error than people initially think.  Also that there are different sorts of failure, e.g., bad calculation not so bad (comfort) but downtime intolerable (irreplaceable loss of money).
<p>all comments welcome...
<a href="http://c2.com/cgi/wiki?AlistairCockburn">AlistairCockburn</a>
<hr>
I currently have a GridOfThirtyFive<a href="http://c2.com/cgi/wiki?edit=GridOfThirtyFive">?</a> methodology cells. For each cell, there are several possible methodologies depending on your fears (as Kent correctly points out) and philosophy.  I shall probably never address all 35, but perhaps other people will. -p.s. Jan 8, 1998, I have bunched cells together, so there would only be perhaps 6 total, 4 running up the diagonal, and one each for the extreme top and extreme right. 
<p>--<a href="http://c2.com/cgi/wiki?AlistairCockburn">AlistairCockburn</a>
<p><hr>
Not really a suggestion for a name, but perhaps a suggestion that might inspire a name...
<a href="http://c2.com/cgi/wiki?AlbertEinstein">AlbertEinstein</a> said something to the effect that &quot;a scientific theory should be as simple as possible, but no simpler.&quot; 
<p>Replace <em>scientific theory</em> with 
<em>class</em> or 
<em>component</em> or 
<em>module</em> and you have the <a href="http://c2.com/cgi/wiki?EinsteinPrinciple">EinsteinPrinciple</a> of software design which I quote frequently.
<p>Replace it with <em>methodology</em> and you have <a href="MinimalMethodologies.html">MinimalMethodologies</a>. It nicely covers the goal of simplicity while accomodating the situations where HighCeremony<a href="http://c2.com/cgi/wiki?edit=HighCeremony">?</a> may be justified.
<p><p>As for the name, perhaps Einstein carries too much baggage...

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -