<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Software Methodology</title><link>https://sourceforge.net/p/sharpulator/wiki/Software%2520Methodology/</link><description>Recent changes to Software Methodology</description><atom:link href="https://sourceforge.net/p/sharpulator/wiki/Software%20Methodology/feed" rel="self"/><language>en</language><lastBuildDate>Mon, 19 Nov 2012 01:39:28 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/sharpulator/wiki/Software%20Methodology/feed" rel="self" type="application/rss+xml"/><item><title>WikiPage Software Methodology modified by Charles Nadolski</title><link>https://sourceforge.net/p/sharpulator/wiki/Software%2520Methodology/</link><description>&lt;pre&gt;--- v3
+++ v4
@@ -2,7 +2,7 @@
 
 To ensure consistent quality, usable software at any point of the development cycle, low maintenance, and high extensibility, this software project will adhere to the following software methodologies and philosophies.
 
-* *[Agile Development](http://en.wikipedia.org/wiki/Agile_software_development)*: The software will be functional (if not feature complete) early in the development process.  Some guidelines will be laid out as [Sprints] for development into the future, which are then broken down into [stories](http://www.agilemodeling.com/artifacts/userStory.htm).  Features will be added as stories into future sprints, and re-prioritized as resources and need permit.
+* *[Agile Development](http://en.wikipedia.org/wiki/Agile_software_development)*: The software will be functional (if not feature complete) early in the development process.  Some guidelines will be laid out as [milestones](https://sourceforge.net/p/sharpulator/tickets/milestones) for development into the future, which are then broken down into [stories](http://www.agilemodeling.com/artifacts/userStory.htm).  Features will be added as stories into future sprints, and re-prioritized as resources and need permit.
 
 * *[Test-driven Development](http://en.wikipedia.org/wiki/Test-driven_development)*: Also known as TDD, this means that tests are written before code is written, driving the writing of code.  This may seem like it would slow the development process, but actually saves time long term by encouraging elegant, bug-free code.  It also has the side-effect of making the application fully regressible.
 
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Charles Nadolski</dc:creator><pubDate>Mon, 19 Nov 2012 01:39:28 -0000</pubDate><guid>https://sourceforge.net4f61200c9c4e8f7ede06a6515433441f8e41fdb0</guid></item><item><title>WikiPage Software Methodology modified by Charles Nadolski</title><link>https://sourceforge.net/p/sharpulator/wiki/Software%2520Methodology/</link><description>&lt;pre&gt;--- v2
+++ v3
@@ -7,3 +7,5 @@
 * *[Test-driven Development](http://en.wikipedia.org/wiki/Test-driven_development)*: Also known as TDD, this means that tests are written before code is written, driving the writing of code.  This may seem like it would slow the development process, but actually saves time long term by encouraging elegant, bug-free code.  It also has the side-effect of making the application fully regressible.
 
 * *[SOLID](http://en.wikipedia.org/wiki/SOLID)*: These are guidelines for writing testable, clear code.  Without following SOLID, TDD becomes difficult, maintenance is painful, and extending functionality is difficult.
+
+* *[Multi-tier architecture](http://en.wikipedia.org/wiki/Multi-tier_architecture) and [Domain-drive design](http://en.wikipedia.org/wiki/Domain-driven_design)*: The application will have multiple tiers.  At the onset, the application will have an [MVVM](http://en.wikipedia.org/wiki/MVVM) architecture, so that there is a clean separation between the XAML code, view model code, and the underlying electronics emulation code.  The hardware emulation code itself can be cleaved into separated tiers: the gaming console or integrated circuit and the simulation of individual chips can exist in separate dlls/assemblies.
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Charles Nadolski</dc:creator><pubDate>Sun, 18 Nov 2012 18:21:40 -0000</pubDate><guid>https://sourceforge.net58f94d26104f2b65885ad06f5d8428dfd470401e</guid></item><item><title>WikiPage Software Methodology modified by Charles Nadolski</title><link>https://sourceforge.net/p/sharpulator/wiki/Software%2520Methodology/</link><description>&lt;pre&gt;--- v1
+++ v2
@@ -5,3 +5,5 @@
 * *[Agile Development](http://en.wikipedia.org/wiki/Agile_software_development)*: The software will be functional (if not feature complete) early in the development process.  Some guidelines will be laid out as [Sprints] for development into the future, which are then broken down into [stories](http://www.agilemodeling.com/artifacts/userStory.htm).  Features will be added as stories into future sprints, and re-prioritized as resources and need permit.
 
 * *[Test-driven Development](http://en.wikipedia.org/wiki/Test-driven_development)*: Also known as TDD, this means that tests are written before code is written, driving the writing of code.  This may seem like it would slow the development process, but actually saves time long term by encouraging elegant, bug-free code.  It also has the side-effect of making the application fully regressible.
+
+* *[SOLID](http://en.wikipedia.org/wiki/SOLID)*: These are guidelines for writing testable, clear code.  Without following SOLID, TDD becomes difficult, maintenance is painful, and extending functionality is difficult.
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Charles Nadolski</dc:creator><pubDate>Sun, 18 Nov 2012 18:02:59 -0000</pubDate><guid>https://sourceforge.net5041712c710dc351a8b86ff646e0677e6b043cdf</guid></item><item><title>WikiPage Software Methodology modified by Charles Nadolski</title><link>https://sourceforge.net/p/sharpulator/wiki/Software%2520Methodology/</link><description># Software Methodology

To ensure consistent quality, usable software at any point of the development cycle, low maintenance, and high extensibility, this software project will adhere to the following software methodologies and philosophies.

* *[Agile Development](http://en.wikipedia.org/wiki/Agile_software_development)*: The software will be functional (if not feature complete) early in the development process.  Some guidelines will be laid out as [Sprints] for development into the future, which are then broken down into [stories](http://www.agilemodeling.com/artifacts/userStory.htm).  Features will be added as stories into future sprints, and re-prioritized as resources and need permit.

* *[Test-driven Development](http://en.wikipedia.org/wiki/Test-driven_development)*: Also known as TDD, this means that tests are written before code is written, driving the writing of code.  This may seem like it would slow the development process, but actually saves time long term by encouraging elegant, bug-free code.  It also has the side-effect of making the application fully regressible.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Charles Nadolski</dc:creator><pubDate>Sun, 18 Nov 2012 17:59:46 -0000</pubDate><guid>https://sourceforge.net462aa8c177c20f94d454f9777363b96e4a61c9a3</guid></item></channel></rss>