<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://docs-old.ckeditor.com/index.php?action=history&amp;feed=atom&amp;title=FCKeditor_3.x%2FDesign_and_Architecture%2FDevelopment_Methodology</id>
		<title>FCKeditor 3.x/Design and Architecture/Development Methodology - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://docs-old.ckeditor.com/index.php?action=history&amp;feed=atom&amp;title=FCKeditor_3.x%2FDesign_and_Architecture%2FDevelopment_Methodology"/>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=FCKeditor_3.x/Design_and_Architecture/Development_Methodology&amp;action=history"/>
		<updated>2026-04-26T17:26:08Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.29.1</generator>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=FCKeditor_3.x/Design_and_Architecture/Development_Methodology&amp;diff=2018&amp;oldid=prev</id>
		<title>Fredck at 13:28, 5 February 2008</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=FCKeditor_3.x/Design_and_Architecture/Development_Methodology&amp;diff=2018&amp;oldid=prev"/>
				<updated>2008-02-05T13:28:28Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 13:28, 5 February 2008&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l5&quot; &gt;Line 5:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 5:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;There are some things to consider though. One of the most important concepts behind Agile is that the development is driven by face to face communication. In our project instead, it is quite rare to have such kind of personal contact.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;There are some things to consider though. One of the most important concepts behind Agile is that the development is driven by face to face communication. In our project instead, it is quite rare to have such kind of personal contact.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In the other hand, we are constantly working to provide tools that could help us interacting as straight as possible, like our Mailing List, IRC Channel, Forums, IM and e-mail communication. All those communication channels can easily diffuse and dilute our ideas in many separated pieces. To &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;clue &lt;/del&gt;everything together, we have created this web site. It is an ideas repository.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In the other hand, we are constantly working to provide tools that could help us interacting as straight as possible, like our Mailing List, IRC Channel, Forums, IM and e-mail communication. All those communication channels can easily diffuse and dilute our ideas in many separated pieces. To &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;glue &lt;/ins&gt;everything together, we have created this web site. It is an ideas repository.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In these pages you will not find precise low level specifications about each feature to be developed. You will instead find the results of our research, our decisions and a general overview of our objectives.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In these pages you will not find precise low level specifications about each feature to be developed. You will instead find the results of our research, our decisions and a general overview of our objectives.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Fredck</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=FCKeditor_3.x/Design_and_Architecture/Development_Methodology&amp;diff=1933&amp;oldid=prev</id>
		<title>Fredck at 21:35, 23 January 2008</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=FCKeditor_3.x/Design_and_Architecture/Development_Methodology&amp;diff=1933&amp;oldid=prev"/>
				<updated>2008-01-23T21:35:52Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 21:35, 23 January 2008&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l24&quot; &gt;Line 24:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 24:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The code must be written in a way that makes it testable in its small fractions. Modularity is a key factor to help achieving it.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The code must be written in a way that makes it testable in its small fractions. Modularity is a key factor to help achieving it.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== [http://en.wikipedia.org/wiki/KISS_principle KISS]: Keep It Simple, Stupid&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;br&amp;gt; &lt;/del&gt;==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;span id=&amp;quot;KISS&amp;quot;&amp;gt;&lt;/ins&gt;[http://en.wikipedia.org/wiki/KISS_principle KISS]&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/span&amp;gt;&lt;/ins&gt;: Keep It Simple, Stupid ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Our code should be developed, reviewed and refactored to be as simple as possible to achieve our needs. No superfluous code is to be written. No &amp;quot;maybe we gonna need it&amp;quot;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Our code should be developed, reviewed and refactored to be as simple as possible to achieve our needs. No superfluous code is to be written. No &amp;quot;maybe we gonna need it&amp;quot;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key ckeditor_docsold:diff:version:1.11a:oldid:1828:newid:1933 --&gt;
&lt;/table&gt;</summary>
		<author><name>Fredck</name></author>	</entry>

	<entry>
		<id>https://docs-old.ckeditor.com/index.php?title=FCKeditor_3.x/Design_and_Architecture/Development_Methodology&amp;diff=1828&amp;oldid=prev</id>
		<title>Fredck: New page: == Agile ==  Ideally, we should found all our development effort in the [http://en.wikipedia.org/wiki/Agile_software_development Agile] model. It fits well our reality, being a distributed...</title>
		<link rel="alternate" type="text/html" href="https://docs-old.ckeditor.com/index.php?title=FCKeditor_3.x/Design_and_Architecture/Development_Methodology&amp;diff=1828&amp;oldid=prev"/>
				<updated>2008-01-19T00:39:12Z</updated>
		
		<summary type="html">&lt;p&gt;New page: == Agile ==  Ideally, we should found all our development effort in the [http://en.wikipedia.org/wiki/Agile_software_development Agile] model. It fits well our reality, being a distributed...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Agile ==&lt;br /&gt;
&lt;br /&gt;
Ideally, we should found all our development effort in the [http://en.wikipedia.org/wiki/Agile_software_development Agile] model. It fits well our reality, being a distributed, small, and well qualified development team&amp;amp;nbsp;;-)&lt;br /&gt;
&lt;br /&gt;
There are some things to consider though. One of the most important concepts behind Agile is that the development is driven by face to face communication. In our project instead, it is quite rare to have such kind of personal contact.&lt;br /&gt;
&lt;br /&gt;
In the other hand, we are constantly working to provide tools that could help us interacting as straight as possible, like our Mailing List, IRC Channel, Forums, IM and e-mail communication. All those communication channels can easily diffuse and dilute our ideas in many separated pieces. To clue everything together, we have created this web site. It is an ideas repository.&lt;br /&gt;
&lt;br /&gt;
In these pages you will not find precise low level specifications about each feature to be developed. You will instead find the results of our research, our decisions and a general overview of our objectives.&lt;br /&gt;
&lt;br /&gt;
== Feature Driven ==&lt;br /&gt;
&lt;br /&gt;
The project is mainly based on the [http://en.wikipedia.org/wiki/Feature_Driven_Development Feature Driven Development] model (FDD). This model guarantees and incremental evolution of our software, providing working software right from the first stages.&lt;br /&gt;
&lt;br /&gt;
== Test Driven ==&lt;br /&gt;
&lt;br /&gt;
Another important aspect we're pushing during the development is the [http://en.wikipedia.org/wiki/Test_Driven_Development Test Driven Development] model (TDD). Its concept can be defined by a series of tasks to be done when coding:&lt;br /&gt;
&lt;br /&gt;
# Write tests first for all possible cases regarding a piece of code.&lt;br /&gt;
# Check test failure.&lt;br /&gt;
# Write the minimum code to pass the tests.&lt;br /&gt;
# Refactor the code until the final solution is achieved. All tests must pass while refactoring.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The code must be written in a way that makes it testable in its small fractions. Modularity is a key factor to help achieving it.&lt;br /&gt;
&lt;br /&gt;
== [http://en.wikipedia.org/wiki/KISS_principle KISS]: Keep It Simple, Stupid&amp;lt;br&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
Our code should be developed, reviewed and refactored to be as simple as possible to achieve our needs. No superfluous code is to be written. No &amp;quot;maybe we gonna need it&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Great code is the code that solves a task in the simplest way. Code that achieves the same result with a super-complex genial solution is bad code.&lt;br /&gt;
&lt;br /&gt;
== Performance and Profiling ==&lt;br /&gt;
&lt;br /&gt;
This is one of the strongest blocks to build quality software. We must be constantly focused on provide the best performance while coding. We advocate it, being pedants with ourselves to make things run fast, showing others the importance of it, and exciting them about it.&lt;br /&gt;
&lt;br /&gt;
One of the basic tools to achieve high performance is profiling. There are dedicated tools that can be used for that, like Firebug. Another important approach is writing test code that tests for performance, or even compare different coding approaches in dedicated test pages.&lt;br /&gt;
&lt;br /&gt;
== Interface Elements Prototyping ==&lt;br /&gt;
&lt;br /&gt;
For any UI element, develop interface prototypes first, and then the code to achieve the prototype features. In other words, do no start coding before having the definitive HTML+CSS definition of the desired code results.&lt;/div&gt;</summary>
		<author><name>Fredck</name></author>	</entry>

	</feed>