<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Oxagile Software Development Company Web Application Development Blog &#187; development process</title>
	<atom:link href="http://blog.oxagile.com/tag/development-process/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.oxagile.com</link>
	<description>Web and Mobile Application Development Services</description>
	<lastBuildDate>Wed, 21 Dec 2011 20:11:04 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>The iterative model</title>
		<link>http://blog.oxagile.com/2007/12/14/the-iterative-model/</link>
		<comments>http://blog.oxagile.com/2007/12/14/the-iterative-model/#comments</comments>
		<pubDate>Fri, 14 Dec 2007 15:14:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Project management in IT]]></category>
		<category><![CDATA[Software development methodologies]]></category>
		<category><![CDATA[agile software development]]></category>
		<category><![CDATA[development process]]></category>
		<category><![CDATA[methodology]]></category>
		<category><![CDATA[model]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[prototype]]></category>

		<guid isPermaLink="false">http://blog.oxagile.com/?p=134</guid>
		<description><![CDATA[ 
   The iterative development model is a cyclic software development process, developed to oppose the waterfall model and its weaknesses. It is an essential part of the agile software development and often is used in web application development.
The main idea of the iterative methodology is to produce a software system incrementally, allowing [...]]]></description>
			<content:encoded><![CDATA[ 
   <span class = "facebook-like-this" style = "height: px"><iframe src="http://www.facebook.com/plugins/like.php?href=http://blog.oxagile.com/2007/12/14/the-iterative-model/&layout=standard&show_faces=false&width=100%&action=like&colorscheme=light&locale=en_US&font=" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:100%px; height:px"></iframe></span><p>The iterative development model is a cyclic software development process, developed to oppose the <a href="http://blog.oxagile.com/2007/10/17/the-waterfall-model/">waterfall model</a> and its weaknesses. It is an essential part of the <a href="http://www.oxagile.com/">agile software development</a> and often is used in web application development.</p>
<p>The main idea of the iterative methodology is to produce a software system incrementally, allowing the web developers to take advantage of what was being learned during the earlier software development, and produce incremental, deliverable builds of the system. Learning comes from QA, testing, programming and coding, and use of the system. The process itself looks like that: start of the web development with a simple implementation of a subset of main and the most important requirements and iteratively enhance it with additional features until the full system is implemented. At each iteration, design modifications are or may be made and new features are added.</p>
<p><span id="more-134"></span></p>
<p>The development process consists of the following steps: initialization, iteration, and the project control list. The initialization step creates a prototype of the system or a base version. The main goal for this initial implementation is to create a software build to which the customer can react and if necessary give the development team new requirements or enhance the existing ones.</p>
<p>To manage and guide the development process, a project control list is created, which contains a set of all tasks that need to be implemented. It includes new features to be implemented and areas of redesign of the existing application. As a result of the analysis phase the control list is constantly being revised to improve the functionality on next iteration.</p>
<p>Each iteration involves the implementation of the needed features form a control list, redesign of the needed functionality, and the analysis of the current version of the system. The goal for the implementation and design of any iteration is to be simple and modular, supporting redesign if needed. Design detail level in such model is subject to discuss and should be chosen for the project specifically, depending on the project itself. In this case the iterative model doesn’t dictate the needed level of detail.<br />
The analysis of iteration is based upon customer’s feedbacks. Also, it involves the analysis of the interface usability, reliability, efficiency, structure, modularity and achievement of the main goals. When the analysis is over, the IT project control list may be modified, depending on the results.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.oxagile.com/2007/12/14/the-iterative-model/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The waterfall model</title>
		<link>http://blog.oxagile.com/2007/10/17/the-waterfall-model/</link>
		<comments>http://blog.oxagile.com/2007/10/17/the-waterfall-model/#comments</comments>
		<pubDate>Wed, 17 Oct 2007 15:01:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Project management in IT]]></category>
		<category><![CDATA[Software development methodologies]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[development process]]></category>
		<category><![CDATA[model]]></category>
		<category><![CDATA[requirements]]></category>
		<category><![CDATA[source code]]></category>

		<guid isPermaLink="false">http://blog.oxagile.com/?p=132</guid>
		<description><![CDATA[ 
   The waterfall model (one of the approaches to software development or web development project) describes a linear development method that is often considered the classic approach to the systems development life cycle. This model is a sequential model, used to create different kinds of software, where project development is seen as [...]]]></description>
			<content:encoded><![CDATA[ 
   <span class = "facebook-like-this" style = "height: px"><iframe src="http://www.facebook.com/plugins/like.php?href=http://blog.oxagile.com/2007/10/17/the-waterfall-model/&layout=standard&show_faces=false&width=100%&action=like&colorscheme=light&locale=en_US&font=" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:100%px; height:px"></iframe></span><p>The waterfall model (one of the approaches to software development or <a href="http://www.oxagile.com/skill_set.html">web development project</a>) describes a linear development method that is often considered the classic approach to the systems development life cycle. This model is a sequential model, used to create different kinds of software, where project development is seen as flowing steadily downwards (like a waterfall) through the phases of software development requirements analysis, UI design, software implementation, project verification and software maintenance. The process itself can be divided into different  phases, depending on the IT project or other <a href="http://www.oxagile.com/">web development</a> requirements.</p>
<p><span id="more-132"></span></p>
<p>The main idea of the waterfall model is that software development proceeds from one phase to the next step in a purely sequential manner or way. For example, the wed development team first completes requirements and  when all the desired requirements are fully completed, reviewed and approved, the IT team proceeds to GIU design phase. So, the waterfall model means that the programming team should move to a next following step only when previous phase is completed and everything is approved. However in some model modifications some slight or major variations and even changes  may be included.</p>
<p>The most important advantage of the waterfall idea is that it allows for departmentalization and managerial control. In the common practice a schedule with deadlines for each phase of project development is made and a product can proceed through the development process under the created schedule.</p>
<p>The next argument for the waterfall model is that it puts solid requirements on theproject documentation (design documents and requirements specs) as well as the source code. And if any of team members left the project, less knowledge would be lost in comparison to a project with less designed and documented methodologies. In the waterfall model a fully working design document should be present so, that a new team member or even the entire new team will easily familiarize themselves with a project by reading the documents.</p>
<p>In common practice waterfall methodologies result in a project schedule with 20-40% of the time invested for the first two phases, 30-40% of the time to coding, and the rest dedicated to testing and implementation time. The actual project organization needs to be highly structured. Most medium and large projects will include a detailed set of procedures and controls, which regulate every process on the project.<br />
In theory, such process leads to the project being delivered on time because of detailed plan for each phase, created previously.</p>
<p>However, in practice it’s often impossible to follow the pure waterfall model, because it does not consider the inevitable changes and revisions that become necessary in the development process. Also, many specialists argue on the waterfall model as a bad idea in practice, generally because of the inability to perfect one stage of a software product, before moving to another stage and learning something new from them for any non-trivial project.<br />
For example, customers may not be sure of what requirements exactly they want before they see a working prototype and can comment upon it; they may change their requirements constantly after seeing a result of development, and program designers and implementers may have little or no control over this. If customers change their requirements after a design document is finished, then the document must be modified to correspond to the new requirements. Also, project designers may not be aware of future implementation or development difficulties when writing a design for an unimplemented software product. For example, it may become clear on the implementation phase that a particular area of product functionality is extraordinarily difficult to implement. In this situation, it is better to revise and change the design document rather to persist in using a conception, that was made based on incorrect predictions and that does not consider the newly discovered problem areas. This is one of the reasons, why the waterfall model isn’t commonly used in agile software development.</p>
<p>So, to conclude – the most significant weakpoint of the waterfall model is the possibility that a poor or wrong design choice will not be discovered until the final stages of implementating or testing.  The risk of this happening will increase as the project duration and size go up.  Even competent people make simple mistakes and considering the solid waterfall timetable, mistakes made in the design or requirements documents may not be discovered until half of a year of programming have been completed and the system is being tested.<br />
From the author’s point of view the waterfall model in its pure form can be successfully used either on small projects or on trivial projects, where all requirements are known before the project starts and they won’t change over the time. For example, in mobile games development industry all requirements are usually developed and perfected before the project starts, what allows the development team to work on the pure waterfall model. However if there is even a miserable chance that the project is non-trivial or there are non-completed requirements the waterfall model won’t be the best one to work on.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.oxagile.com/2007/10/17/the-waterfall-model/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

