<?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; Performance</title>
	<atom:link href="http://learnsoftwareprocesses.com/category/performance/feed/" rel="self" type="application/rss+xml" />
	<link>http://learnsoftwareprocesses.com</link>
	<description>All about the processes involved in software development</description>
	<lastBuildDate>Sun, 20 May 2012 19:17:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Not pushing the team too hard – a fine balance that can be easy to miss – Part 2 ..</title>
		<link>http://learnsoftwareprocesses.com/2012/01/17/not-pushing-the-team-too-hard-a-fine-balance-that-can-be-easy-to-miss-part-2/</link>
		<comments>http://learnsoftwareprocesses.com/2012/01/17/not-pushing-the-team-too-hard-a-fine-balance-that-can-be-easy-to-miss-part-2/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 15:34:14 +0000</pubDate>
		<dc:creator>ashish</dc:creator>
				<category><![CDATA[Capacity]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Problems]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Push]]></category>
		<category><![CDATA[Pushing the team]]></category>
		<category><![CDATA[Risk]]></category>
		<category><![CDATA[Risk Calculation]]></category>
		<category><![CDATA[Risk Factor]]></category>
		<category><![CDATA[Software team]]></category>
		<category><![CDATA[Team]]></category>
		<category><![CDATA[Team performance]]></category>
		<category><![CDATA[Working on weekends]]></category>
		<category><![CDATA[Working overtime]]></category>

		<guid isPermaLink="false">http://learnsoftwareprocesses.com/?p=962</guid>
		<description><![CDATA[<p>The previous post (Pushing the team, maybe too hard) detailed some of the problems that a team that was under-performing started experiencing when it decided that it would not longer under-perform and started to move up the performance chain, but in the end, the focus on productivity started taking a toll on the team members. [...]]]></description>
			<content:encoded><![CDATA[<p>The previous post (<a href="http://learnsoftwareprocesses.com/2012/01/13/not-pushing-the-team-too-hard-a-fine-balance-that-can-be-easy-to-miss-part-1/" target="_blank">Pushing the team, maybe too hard</a>) detailed some of the problems that a team that was under-performing started experiencing when it decided that it would not longer under-perform and started to move up the performance chain, but in the end, the focus on productivity started taking a toll on the team members. There were a number of factors that were not considered when it started becoming a bit more clear that the team was getting fatigued.<br />
One of the biggest factors that we had to re-consider was the notion that we would not say no to a request or a project without doing a lot of deliberation, and if there was a chance, then we would be aggressive and push for doing the project. This worked beautifully for a while, since earlier we would be conservative, and when we would do a resource and risk assessment, if there was a chance of some risk (around 20-30%), we would say no to the project. This was giving the group the title as a No saying group. So, we worked hard at this aspect. Over a period of time, when a project was proposed and we were evaluating the project, we would do a calculation of the risk, but we would also do a strong focus on seeing whether the risks could be mitigated. So, when there were risks, senior members of the team which was doing the evaluation would be encouraged to take a look at the risks, and see whether there were steps that could be taken to manage these risks, and even if this required extra effort, it would be worthwhile to take the extra effort and get these things done. In addition, an incentive was given to the team, in terms of promises of higher rewards for higher productivity, and with differentiation between team members based on the effort that they would undertake (and this was a big deal in terms of encouraging people &#8211; if many team members felt that extra effort was being recognized, you had several of them putting in an hour or two of extra effort on a daily basis in order to show that they were capable of doing more effort).<br />
Well, all this had the desired effort. This factor about being more aggressive had an important effect on the reputation of the team, and we were being known as the team that could get work done that seemed more difficult for the other teams. But, at the same time, there was a risk in terms of what we were doing. Since we were taking more chances on the risk front, we were pushing the envelope, and this did hit us in a couple of occasions where we ended up taking last minute risks with the project, and in one case, had to get people from other groups, else the project was a goner. These cases did cause some amount of re-thinking, but not a drastic change in policy, and we continued on. So, what were some of the pointers to the fact that we were heading towards a case where we were trying to chew more than we could do ? Well, for one, we had people from other teams and from senior management asking the team management whether we knew our limits / constraints, and was our risk calculations on the right side of sanity ? These queries were coming up more recently, and these also started a re-think on the level of aggressiveness we were following.</p>
<p>Continued in the next part &#8230;</p>
<table>
<tr>
<td>Outswim the Sharks: How to Quadruple Your Team&#8217;s Productivity with Kindness</td>
<td>How to Unleash the Collaborative Genius of Teams for Increased Engagement, Productivity, and Results</td>
<td>Visual Meetings: How Graphics, Sticky Notes and Idea Mapping Can Transform Group Productivity</td>
</tr>
<tr>
<td><iframe src="http://rcm.amazon.com/e/cm?t=learnsoftware-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=0979939402&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></td>
<td>
<iframe src="http://rcm.amazon.com/e/cm?t=learnsoftware-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=0071746749&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></td>
<td>
<iframe src="http://rcm.amazon.com/e/cm?t=learnsoftware-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=0470601787&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></td>
</tr>
</table>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://learnsoftwareprocesses.com/2012/01/17/not-pushing-the-team-too-hard-a-fine-balance-that-can-be-easy-to-miss-part-2/' addthis:title='Not pushing the team too hard – a fine balance that can be easy to miss – Part 2 .. '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></content:encoded>
			<wfw:commentRss>http://learnsoftwareprocesses.com/2012/01/17/not-pushing-the-team-too-hard-a-fine-balance-that-can-be-easy-to-miss-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scrum failure &#8211; trying to get a Business Analyst to play the role of a Product Owner</title>
		<link>http://learnsoftwareprocesses.com/2011/06/19/scrum-failure-trying-to-get-a-business-analyst-to-play-the-role-of-a-product-owner/</link>
		<comments>http://learnsoftwareprocesses.com/2011/06/19/scrum-failure-trying-to-get-a-business-analyst-to-play-the-role-of-a-product-owner/#comments</comments>
		<pubDate>Sun, 19 Jun 2011 15:34:23 +0000</pubDate>
		<dc:creator>ashish</dc:creator>
				<category><![CDATA[Challenge]]></category>
		<category><![CDATA[Issues]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Product Management]]></category>
		<category><![CDATA[Product Owner]]></category>
		<category><![CDATA[Project Manager]]></category>
		<category><![CDATA[Relationships]]></category>
		<category><![CDATA[Responsibility]]></category>
		<category><![CDATA[Role]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[Scrum Problems]]></category>
		<category><![CDATA[Business Analyst]]></category>
		<category><![CDATA[Business Analyst becoming a Product Owner]]></category>
		<category><![CDATA[Converting Project Manager to Scrum Master]]></category>
		<category><![CDATA[ScrumMaster]]></category>

		<guid isPermaLink="false">http://learnsoftwareprocesses.com/?p=829</guid>
		<description><![CDATA[<p>One of the biggest problems in trying to do Scrum projects is when an existing team is sought to be converted to using Scrum methodology. Consider the case where the team has a Project Manager to run the project, and Business Analysts to convert the requirements into specific documentation that the developer team can use. [...]]]></description>
			<content:encoded><![CDATA[<p>One of the biggest problems in trying to do Scrum projects is when an existing team is sought to be converted to using Scrum methodology. Consider the case where the team has a Project Manager to run the project, and Business Analysts to convert the requirements into specific documentation that the developer team can use. Now, when the team wants to start doing Scrum, the Project Manager would typically become the Scrum Master (although the roles vary drastically between the Project Manager and the Scrum Master), and the Business Analyst takes on the role of the Product Owner.<br />
However, in a couple of projects, after discussion across the organization, we found that these conversions were not so simple. Taking on the role of the Scrum Master from that of the Project Manager was a challenge of its own. The Project Manager has absolute authority over the project, and over the team members; the Project Manager works with the leads to ensure that work is broken down into different tasks and these tasks are assigned to different team members. Typically, there is a big MS Project sheet that the Project Manager tracks along with the leads and uses that like the Bible for the execution of the project. When the Project Manager starts working on the Scrum methodology as the Scrum Master, there is a perceived huge loss of authority. The tracking of the tasks is done in terms of how much effort is still pending, with many tools not even trying to track how much the project is running over the time limit (this can be very jarring for the Project Manager when they are introduced to Scrum and tracking as part of Scrum). In a couple of cases, I have found that the Project Manager found the change in role so jarring that they decided to change teams and move over to other projects which were not based on Scrum.<br />
The bigger problems was when the Product Owner role was seen as the perfect place for the Business Analysts to do. Now, typically the Business Analysts were expected to take the client requirements and convert these into a form that the Development team can use. Now, the role of the Product Owner in Scrum is a specific role, which requires a certain amount of skills. They have the flexibility to make changes to the priorities of the features, and also to modify the scope of the features of the projects. This is typically not what a Business Analyst does, and it was strange to see the Business Analyst converted into the Product Owner trying to do these part of the roles. The team had got the training, and seen role plays and examples, and expected their Product Owner to work the same way. However, like anybody doing the role for the first time, the first few Sprints was very difficult for the Business Analyst and the required responsibilities were difficult to acquire. The team saw these issues, especially the clear inability to re-scope the work and put some amount of pressure on the Business Analyst. It was also getting realized that this pressure was reducing the credibility of the Product Owner with the team claiming that decisive actions were not being taken. Eventually the concerned Business Analyst made their way off the team, something that we tried to prevent (it is hard to get a person who is readymade for a role &#8211; in most cases, you get a person and try to fit them into a role, and it takes some time to be ready).</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://learnsoftwareprocesses.com/2011/06/19/scrum-failure-trying-to-get-a-business-analyst-to-play-the-role-of-a-product-owner/' addthis:title='Scrum failure &#8211; trying to get a Business Analyst to play the role of a Product Owner '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></content:encoded>
			<wfw:commentRss>http://learnsoftwareprocesses.com/2011/06/19/scrum-failure-trying-to-get-a-business-analyst-to-play-the-role-of-a-product-owner/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Testing of Web Applications</title>
		<link>http://learnsoftwareprocesses.com/2009/03/01/testing-of-web-applications/</link>
		<comments>http://learnsoftwareprocesses.com/2009/03/01/testing-of-web-applications/#comments</comments>
		<pubDate>Sun, 01 Mar 2009 17:35:38 +0000</pubDate>
		<dc:creator>ashish</dc:creator>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[Load]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Web Applications]]></category>
		<category><![CDATA[WebApp]]></category>

		<guid isPermaLink="false">http://learnsoftwareprocesses.com/?p=163</guid>
		<description><![CDATA[<p>The quality of a web application can be pretty evident right from the onset (from the beginning of testing). Some of the key things to check for, and that are visible right in the beginning are: - Slow response time, - Problems with the accuracy of information, - Bad design / workflow problems or not [...]]]></description>
			<content:encoded><![CDATA[<p>The quality of a web application can be pretty evident right from the onset (from the beginning of testing). Some of the key things to check for, and that are visible right in the beginning are:<br />
- Slow response time,<br />
- Problems with the accuracy of information,<br />
- Bad design / workflow problems or not having ease of use will compel the user<br />
to click to a competitor&#8217;s site<br />
Problems such as these that are easily visible directly translate into loss of users, declining or stagnant sales and a very poor image of the company.</p>
<p>These are outcomes that companies seek to avoid at any costs, and that is why there is the need for a strong QE effort. As a part of this, the following techniques can be used to do a more thorough checking:<br />
1. Good Functionality testing &#8211; This sort of testing makes sure that the features that are visible to a user and affect interactions are working properly and as desired.<br />
Some of these objects in a WebApp include: User enterable forms, Searches and their results, Pop-up windows (most users hate them because of their heritage), shopping carts.</p>
<p>2. Usability testing &#8211; Many users have a low tolerance for anything that is difficult to use, making having a usability testing program a critical part of the testing of any WebApp. You need to ensure that a user&#8217;s first impression is very important; what makes this more complex is that now-a-days applications have become complicated and cluttered with an increasing number of features. </p>
<p>The main steps involved in usability testing are:<br />
    &#8211; Identify the purpose of WebApp.<br />
    &#8211; Identify the intended users.<br />
    &#8211; Define the tests, review them for thoroughness and conduct usability testing.<br />
    &#8211; Collect information through various mechanisms.<br />
    &#8211; Carry out an analysis of the acquired information.<br />
    &#8211; Make the necessary changes based on the acquired information.</p>
<p>3. Navigation testing &#8211;  Navigation testing makes sure that all navigation syntax and semantics are exercised to uncover any navigation errors. It should not happen that a user clicks on a navigation aid and then either reaches a dead end or goes off into a wrong direction.</p>
<p>4. Forms testing &#8211; WebApps that use forms requires tests to ensure that each field is working properly (including the validations such as not allowing users to enter more than a certain amount of text, fields not being left blank, etc) and that the form posts all the data as intended by the designer.</p>
<p>5. Content testing &#8211; Content is evaluated at both a syntactic and semantic level.At the syntactic level, spelling, punctuation, and grammar are assessed. At semantic level, correctness, consistency, and lack of ambiguity are all assessed. It creates a very bad impression if the user finds spelling mistakes (user assumes that there must be something wrong if the company put wrong spellings or wrong grammar and did not find it till now, or the company does not care that there are problems on the site)</p>
<p>6. Compatibility testing &#8211; This testing is done by executing the webApp under every browser/ platform combination to ensure that the web applications are working properly under different environments. This sort of testing is easier said than done, since the number of browsers and operating systems in the market are huge.</p>
<p>7. Performance testing &#8211; This testing evaluates the system performance under normal and heavy usage. An application that takes long to respond may frustrate the user which could result to move to a competitor&#8217;s site. This testing ensures that the website server responds to browser requests within defined parameters. The system should work perfectly and speedily under normal expected usage, and if possible, should be handle some amount of extra load.</p>
<p>8. Load testing &#8211; The purpose of this testing is to present real world experiences, typically by generating many users simultaneously accessing the web application. Typically, companies use automated test tools to increase the ability to conduct<br />
a valid load test as it emulates thousand of users by sending requests simultaneously to the application. Critical, as failure under heavy loads does not convey a good impression, and may make the system susceptible to attacks by recreating heavy loads.</p>
<p>9. Security testing &#8211; Security is one of the primary concerns when communicating and conducting businesses over internet. One break-in can spoil the reputation of a company and lead to loss of business, stealing of user data, and other such cases with horrible consequences. Finding the vulnerabilities in an application that could grant an unauthorized user to access the system is important. Equally important is being able to track all access to the system, and do a frequent scan of these accesses.</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://learnsoftwareprocesses.com/2009/03/01/testing-of-web-applications/' addthis:title='Testing of Web Applications '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></content:encoded>
			<wfw:commentRss>http://learnsoftwareprocesses.com/2009/03/01/testing-of-web-applications/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

