I would like to propose a new innovative mechanism for agile programming. Fortunately we all know this mechanism, which has been widely used and extremely successful in designing and building complex newly invented or one of a kind product such as experimental Jet-fighter or spacecraft. For example, please kindly see design and development of a simple newly invented product at: http://real-software-components.com/CBD/CBD_of_new_product.html
The physical products are designed as component-hierarchies (or CBD-structure), where each component can be designed and tested individually outside of the product. Once all the components are ready, the total cost of disassembling or reassembling could never be more that 5% of the total cost of the product throughout the life of the complex product (i.e. in step-1 or step-3 of CBD-process). Please let me summarize two essential aspects CBD-Structure and CBD-process of real-CBD of physical products in separate web pages:
It is extremely important to recognize two irrefutable facts about the CBD-design:
- It is not necessary that even a single large functional component in the CBD-structure (or component-hierarchy) of a complex product conform to any known so called component models or have any useful properties (e.g. reuse or standardized) erroneously attributed to software components today.
- Either complexity or uniqueness of one-of-a-kind product (e.g. experimental spacecraft) can’t prevent the designers from partitioning the product as component-hierarchy.
Please kindly look at design of a sample application that is designed as hierarchy of real-software-components that are equivalent to the physical functional-components for achieving CBD-structure (or component-hierarchy): http://real-software-components.com/CBD/City_GIS.html
Of course, pre-requisite to this mechanism is discovering innate nature and essential properties that are uniquely and universally shared by the physical functional components. This discovery is essential not only to expose huge error in the existing software engineering paradigm but also to invent real-software-components equivalent to the physical functional components capable of achieving CBD-structure: http://real-software-components.com/RSCC/Real-Components.html
The software engineering researchers committed a huge mistake not analyzing all the facts and valid observations for discovering the innate nature and essential properties of the physical functional components. It is not a small error: http://real-software-components.com/forum_blogs/year2013/IsItSmallError.html
I have been doing research on this unknown area of software engineering for nearly 12 years, and made fascinating discoveries. I openly published all the evidence in my website: http://www.real-software-components.com/moredocs.html
The componentization is the most effective and efficient method known to mankind for addressing a complex problem (i.e. by a team of experts) by partitioning the complex problem in smaller (or components) and smaller (or subcomponents) self-contained problems, where each smaller self-contained problem can be addressed individually (by each member of the team in manner consistent with his domain expertise, knowledge and skills): http://real-software-components.com/technologies/componentization_purpose.html
Stating the fact that “the Sun is at the center” offended common sense or insulted deeply entrenched collective conventional wisdom of respected scientists 500 years ago. Likewise, unfortunately few software researchers might feel offended, when I try to point out certain errors. At any time since 1970s tens of thousands of researchers have been working very hard (e.g. applying brute force) with passion for advancing the software engineering by relying on this unsubstantiated flawed root postulation (without ever validating or even aware of the huge error). This brute force resulted in evolution of complex paradoxical paradigm with ecosystem comprising 3-dimensional web of interdependent concepts (many of them are no different from epicycles & retrograde motions resulted form the error in the root postulation).
Please kindly remember, the software engineering paradigm has been evolving since 1960s, by relying on a huge undetected error. Mankind not made this kind of error in basic seed axiomatic premises since exposing the error of then deeply entrenched Geocentric-paradigm 400 years ago. Please kindly remember, it is invalid circular logic to use any thing (e.g. epicycles and retrograde motion) derived from geocentric-paradigm to discredit heliocentric-paradigm.
Any real scientist must agree: the scientific progress is discovering new facts for expanding the boundaries of human knowledge. Pursuit of the absolute truths (or facts) is the basic responsibility and sacred duty of each and every real scientist or researcher. Unfortunately, many software researchers abdicated their sacred responsibility. So I decided to openly publish all the evidence and irrefutable proof on the web and respectfully challenge the brilliant minds around the world to find a flaw: http://www.real-software-components.com/moredocs.html
Please kindly don’t forget basic scientific principles: Any real science ends up in a contradiction or paradox if and only if there is an error in the reasoning or basic facts. It is an error to rely on any subjective concept without sound basis in reality and fact, since any error certainly leads to a paradox.
"By denying scientific principles, one may maintain any paradox" ---Galileo Galilee
The real scientific progress depends on researchers pursuing Truth (objective facts) with passion, since no real scientific progress is possible by relying flawed subjective concepts. For example, this error in CBSD made in 1960s might have a cost of a trillion dollars to the world economy (so far). Each and every concept in computer science can be and must be objective facts, but today computer science ended up with many subjective concepts (many of them contradict reality).
I shall standby and can defend each and every concept in my website. In fact, an irrefutable proof is provided for each and every concept in one or more web-pages in website: http://www.real-software-components.com/moredocs.html. I am more than happy to explain any questions by using only objective facts (I shall not use subjective reasoning and excuses). My commitment is, I will never abdicate my basic duty to perusing the truth. Is it wrong to expect that other researchers to not abdicate their basic duty to only rely on facts?