<?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>Learn Software Development &#187; Definition</title>
	<atom:link href="http://learnsoftwareprocesses.com/category/definition/feed/" rel="self" type="application/rss+xml" />
	<link>http://learnsoftwareprocesses.com</link>
	<description>All about the processes involved in software development</description>
	<lastBuildDate>Tue, 07 Feb 2012 19:53:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>How to incorporate UI design as part of Scrum work, collaboration between Product Owner and UI Designer</title>
		<link>http://learnsoftwareprocesses.com/2011/10/18/how-to-incorporate-ui-design-as-part-of-scrum-work-collaboration-between-product-owner-and-ui-designer/</link>
		<comments>http://learnsoftwareprocesses.com/2011/10/18/how-to-incorporate-ui-design-as-part-of-scrum-work-collaboration-between-product-owner-and-ui-designer/#comments</comments>
		<pubDate>Tue, 18 Oct 2011 19:16:37 +0000</pubDate>
		<dc:creator>ashish</dc:creator>
				<category><![CDATA[Definition]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Document]]></category>
		<category><![CDATA[Product]]></category>
		<category><![CDATA[Product Backlog]]></category>
		<category><![CDATA[Product Management]]></category>
		<category><![CDATA[Product Owner]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[Scrum tram]]></category>
		<category><![CDATA[Sprint]]></category>
		<category><![CDATA[UI]]></category>
		<category><![CDATA[UI designer]]></category>
		<category><![CDATA[UI in advance]]></category>
		<category><![CDATA[Wireframe]]></category>
		<category><![CDATA[Workflow]]></category>

		<guid isPermaLink="false">http://learnsoftwareprocesses.com/?p=906</guid>
		<description><![CDATA[<p>If you want to ensure that your product / software application is successful, there are a number of things you need to care of. If you look at the success of many of Apple&#8217;s products such as the iPod, the iPad, iTunes, and the iPhone, it is about ensuring that your workflow appeals to customers, [...]]]></description>
			<content:encoded><![CDATA[<p>If you want to ensure that your product / software application is successful, there are a number of things you need to care of. If you look at the success of many of Apple&#8217;s products such as the iPod, the iPad, iTunes, and the iPhone, it is about ensuring that your workflow appeals to customers, that they find using it so easy that they are even willing to pay a premium for such products. What this brings out is the importance of ensuring that you have workflows that appeal to customers, and this means that you need to get your UI designer into the product development process. However, it is not easy to integrate the working of processes with the working style of UI designers. In my experience, getting them to work with the kind of deadlines and schedules that you can impose on engineers and QE can be a difficult task, and this process can interfere with their creative juices.<br />
So, what happens in the case of Scrum ? Well, for Scrum work, we typically say that features should be worked upon when you get close to the Sprint, since that is when the prioritization of features for a Sprint actually happens. However, when the sprint starts, the team starts working on the tasks, which means that the UI for those tasks should be ready. Which automatically means that the UI for tasks should start before the Sprint planning activities (seems a bit strange that some activities for tasks should occur before the Sprint in which the task should be worked on, but there is no other way to get the UI in place).<br />
For this to happen, it is also necessary that there is a parallel planning process underway, whereby the Product Owner has a list of prioritized tasks (already there as part of the Product Backlog); with the difference being that the tasks for the next Sprint should be confirmed during the previous Sprint. In addition, there should be a schedule in place which tracks the work being done by the UI designer, and this planning needs to happen with the Product Backlog, so that it should never happen that the UI designer is getting too many tasks. If this happens, then the UI will not be ready when the team is starting work on the tasks in the Sprint.<br />
So, in the Sprint before a particular Sprint, the Product Owner, one or 2 assigned team members, and the UI designer should be working on a list of tasks for which the UI is required at the start of the subsequent Sprint, and should aim to get a high level workflow document and a UI wireframe in place. Once the actual Sprint starts, the Scrum team will start working with the UI designer to get the final UI based on the User Stories outlined by the Product Owner. </p>
]]></content:encoded>
			<wfw:commentRss>http://learnsoftwareprocesses.com/2011/10/18/how-to-incorporate-ui-design-as-part-of-scrum-work-collaboration-between-product-owner-and-ui-designer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What is scrum ? &#8211; A simple (non-technical) definition</title>
		<link>http://learnsoftwareprocesses.com/2009/10/23/what-is-scrum-a-simple-non-technical-definition/</link>
		<comments>http://learnsoftwareprocesses.com/2009/10/23/what-is-scrum-a-simple-non-technical-definition/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 20:19:35 +0000</pubDate>
		<dc:creator>ashish</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Definition]]></category>
		<category><![CDATA[Explanation]]></category>
		<category><![CDATA[Methods]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[Agile Software Development]]></category>
		<category><![CDATA[Backlog]]></category>
		<category><![CDATA[Cross Functional Team]]></category>
		<category><![CDATA[Development Methodology]]></category>
		<category><![CDATA[Iterative]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Sprint]]></category>
		<category><![CDATA[Team]]></category>

		<guid isPermaLink="false">http://learnsoftwareprocesses.com/?p=430</guid>
		<description><![CDATA[<p>Well, for those of you who play rugby, it&#8217;s not what you think. In software development, scrum (of as some people like to call it with capital letters, SCRUM) is a relatively newer technique, a part of agile development methodologies. Scrum aims to merge the differences between the different constituents of a software development team [...]]]></description>
			<content:encoded><![CDATA[<p>Well, for those of you who play rugby, it&#8217;s not what you think. In software development, scrum (of as some people like to call it with capital letters, SCRUM) is a relatively newer technique, a part of agile development methodologies. Scrum aims to merge the differences between the different constituents of a software development team (primarily the Dev and QE), and make them into one single solid team that works together to develop the software. This helps in reducing some of the tension that normally builds up between team members, and fosters a much higher degree of communication between the team members.<br />
Scrum also takes pride in being a technique which allows for very fast incorporation of changing requirements, accepting that demanding that requirements be frozen before the start of the development process may not be a realistic approach. Instead, you break the work down into 2-4 week long development timelines, and at the start of every new such cycle, you review the requirements at that point of time.<br />
Some of the terms that appear during scrum are &#8216;backlog&#8217;, &#8216;sprint&#8217;, &#8216;ScrumMaster&#8217;, &#8216;ProductOwner&#8217;, &#8216;Team&#8217;, &#8216;User Story&#8217;, &#8216;Daily Scrum&#8217;, &#8216;Sprint Planning Meeting&#8217;, etc. (these will be explained in future posts).</p>
]]></content:encoded>
			<wfw:commentRss>http://learnsoftwareprocesses.com/2009/10/23/what-is-scrum-a-simple-non-technical-definition/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Extended Memory (XMS)</title>
		<link>http://learnsoftwareprocesses.com/2009/09/14/the-extended-memory-xms/</link>
		<comments>http://learnsoftwareprocesses.com/2009/09/14/the-extended-memory-xms/#comments</comments>
		<pubDate>Mon, 14 Sep 2009 11:30:09 +0000</pubDate>
		<dc:creator>ashish</dc:creator>
				<category><![CDATA[Definition]]></category>
		<category><![CDATA[Explanation]]></category>
		<category><![CDATA[Extended Memory]]></category>
		<category><![CDATA[Memory]]></category>
		<category><![CDATA[Uses of Extended Memory]]></category>
		<category><![CDATA[XMS]]></category>

		<guid isPermaLink="false">http://learnsoftwareprocesses.com/?p=357</guid>
		<description><![CDATA[<p>The extended memory refers to memory above the first megabyte of address space in an IBM PC or compatible with an 80286 or later processor. The term is mainly used under the DOS and Windows operating systems. DOS programs, running in real mode or virtual x86 mode, cannot directly access this memory, but are able [...]]]></description>
			<content:encoded><![CDATA[<p>The extended memory refers to memory above the first megabyte of address space in an IBM PC or compatible with an 80286 or later processor. The term is mainly used under the DOS and Windows operating systems. DOS programs, running in real mode or virtual x86 mode, cannot directly access this memory, but are able to do so through an application programming interface called the eXtended Memory Specification (XMS).<br />
With the exception of the first 65,520 bytes, extended memory is not accessible to a PC when running in real mode. This means that under normal DOS operation, extended memory is not available at all; protected mode must be used to access extended memory. </p>
<p>Note: Extended memory is different from expanded memory (EMS), which uses bank switching and a page frame in the upper memory area to access memory over 1 MB.</p>
<p>There are two ways that extended memory is normally used. A true, full protected mode operating system like Windows NT, can access extended memory directly. However, operating systems or applications that run in real mode, including DOS programs that need access to extended memory, Windows 3.x, and also Windows 95, must coordinate their access to extended memory through the use of an extended memory manager. The most commonly used manager is HIMEM.SYS, which sets up extended memory according to the extended memory specification (XMS). XMS is the standard that PC programs use for accessing extended memory.<br />
The main uses extended memory are:<br />
- RAM-disks : It is a chunk of semiconductor memory that behaves like an ordinary disk but is extremely fast. It also loses its data instantly once power is turned off but is great for temporary files such as index files, extracted data from Lotus to be imported into another application etc.<br />
- Disk caches : It is a program to speed up disk access by storing the most frequently use information in the computer&#8217;s memory and reading ahead from the disk in anticipation.<br />
-  Print spoolers : It utilizes the computer&#8217;s memory as a high speed buffer so that a fast computer is not slowed down by a slow printer. For example you can print a 100 page database report and then load a spread sheet program, print reports and graphs, then use your word processor while the database report is still printing. Print spoolers that use extended memory usually come with the memory card.<br />
- OS/2 : The operating system OS/2 can make good use of extended memory.<br />
- UNIX : UNIX is another operating system that can use extended memory.</p>
]]></content:encoded>
			<wfw:commentRss>http://learnsoftwareprocesses.com/2009/09/14/the-extended-memory-xms/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick Tech Tip: Encapsulation &#8211; What does it mean ?</title>
		<link>http://learnsoftwareprocesses.com/2009/07/29/quick-tech-tip-encapsulation-what-does-it-mean/</link>
		<comments>http://learnsoftwareprocesses.com/2009/07/29/quick-tech-tip-encapsulation-what-does-it-mean/#comments</comments>
		<pubDate>Wed, 29 Jul 2009 17:46:50 +0000</pubDate>
		<dc:creator>ashish</dc:creator>
				<category><![CDATA[Definition]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Object Oriented]]></category>

		<guid isPermaLink="false">http://learnsoftwareprocesses.com/?p=261</guid>
		<description><![CDATA[<p>Encapsulation is not a common word in the English language; however, it is an important phrase in the word of software design, especially in the world of Object Oriented Programming. So what does encapsulation mean ? In computer science, the principle of information hiding means the hiding of design decisions in a computer program, those [...]]]></description>
			<content:encoded><![CDATA[<p>Encapsulation is not a common word in the English language; however, it is an important phrase in the word of software design, especially in the world of Object Oriented Programming. So what does encapsulation mean ?<br />
In computer science, the principle of information hiding means the hiding of design decisions in a computer program, those decisions that are most likely to change, thus protecting other parts of the program from change; especially if the design decision is changed. The protection involves providing a stable interface which shields the remainder of the program from the implementation (the details that are most likely to change). The purpose is to achieve potential for change: the internal mechanisms of the component can be improved without impact on other components, or the component can be replaced with a different one that supports the same public interface.<br />
The term encapsulation is often used interchangeably with information hiding, while some make distinctions between these two terms (although to most people these terms seem the same). It seems that people, however, fail to agree on the distinctions between information hiding and encapsulation though one can think of information hiding as being the principle and encapsulation being the technique. A software module hides information by encapsulating the information into a module or other construct which presents an interface.<br />
The concept of encapsulation is a term that is an integral part of object-oriented programming, where the interface to an object is defined by its public methods, while its internal state is represented by private data. Encapsulation is a good principle of object oriented design, and part of well designed systems.</p>
]]></content:encoded>
			<wfw:commentRss>http://learnsoftwareprocesses.com/2009/07/29/quick-tech-tip-encapsulation-what-does-it-mean/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick Tip: URLs &#8211; Uniform Resource Locator</title>
		<link>http://learnsoftwareprocesses.com/2009/07/09/quick-tip-urls-uniform-resource-locator/</link>
		<comments>http://learnsoftwareprocesses.com/2009/07/09/quick-tip-urls-uniform-resource-locator/#comments</comments>
		<pubDate>Thu, 09 Jul 2009 09:21:49 +0000</pubDate>
		<dc:creator>ashish</dc:creator>
				<category><![CDATA[Definition]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[IP address]]></category>
		<category><![CDATA[Protocol]]></category>
		<category><![CDATA[Uniform Resource Locator]]></category>
		<category><![CDATA[URL]]></category>
		<category><![CDATA[Web Applications]]></category>
		<category><![CDATA[Web page]]></category>
		<category><![CDATA[World wide web]]></category>
		<category><![CDATA[WWW]]></category>

		<guid isPermaLink="false">http://learnsoftwareprocesses.com/?p=228</guid>
		<description><![CDATA[<p>URLs, or Uniform Resource Locators, are the method by which documents or data are addressed in the World Wide Web. The URL contains the following information: </p> <p>- the protocol. - the DNS name of the machine on which the page is located. - the local name uniquely indicating the specific page. - the location [...]]]></description>
			<content:encoded><![CDATA[<p>URLs, or Uniform Resource Locators, are the method by which documents or data are addressed in the World Wide Web. The URL contains the following information: </p>
<p>- the protocol.<br />
- the DNS name of the machine on which the page is located.<br />
- the local name uniquely indicating the specific page.<br />
- the location of the resource in the directory structure of the server.</p>
<p>To make a piece of text clickable, the page writer must provide two items of information : the clickable text to be displayed and the URL of the page to go to if the text is selected. Once the text is selected, the browser looks up the host name using DNS. Now armed with the host&#8217;s IP address, the browser establish TCP connection to host. Over that connection, it sends the file name using the specified protocol.<br />
The URL scheme is open to have protocols other than HTTP also. In short, URL&#8217;s have been designed to not only allow users to navigate the Web, but to deal with FTP, news, Gopher, email, and telnet as well, making all the specialized user interface programs for those other services unnecessary, and thus integrating nearly all Internet access into a single program, the Web Browser.<br />
The growing use of the Web has turned up an weakness in URL scheme. A URL points to one specific host. For pages that are heavily referenced, it is desirable to have multiple copies far apart, to reduce network traffic. The advent of systems such as Akami are meant to meet that need, distributing content over multiple servers on a global level. </p>
]]></content:encoded>
			<wfw:commentRss>http://learnsoftwareprocesses.com/2009/07/09/quick-tip-urls-uniform-resource-locator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

