<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Building an Application Development Team- New Ideas</title>
	<atom:link href="http://www.andrewpmoore.com/intraprenurship/building-an-application-development-team-new-ideas/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.andrewpmoore.com/intraprenurship/building-an-application-development-team-new-ideas/</link>
	<description>Inside Out Leadership</description>
	<lastBuildDate>Sun, 18 Jul 2010 00:58:33 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>By: Craig Mayer</title>
		<link>http://www.andrewpmoore.com/intraprenurship/building-an-application-development-team-new-ideas/comment-page-1/#comment-69</link>
		<dc:creator>Craig Mayer</dc:creator>
		<pubDate>Thu, 31 Dec 2009 15:55:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.andrewpmoore.com/?p=81#comment-69</guid>
		<description>Sorry - one last comment about automating testing . . . . setting a goal of trying to automate as much as possible can be very dangerous, if you don&#039;t have well-formed requirements-designs-code, because you&#039;ll just end up getting more crap faster than if you had not automated. 

Additionally, somewhat arbitrarily setting up to automate testing can be self-defeating when you don&#039;t have solid requirements/design docs, because then it&#039;s tough to figure out if the errors are being caused by poor reqs/design or because the tool itself (or the test environment or the data being used) wasn&#039;t properly set-up.

If your team embarks on test-driven development at the unit level (&quot;test as you go&quot;), chances are you&#039;re going to get higher quality code than using more traditional dev methods, so that when the app reaches a higher level of testing (integration or system test), you&#039;ll be more likely to get good results using a tool, because higher quality code is being feed into it. 

Again, if you work with a tight, high quality SDLC methodology and use approaches designed to ensure high quality output code - from the very beginning of the project - you&#039;ll have far fewer quality issues to deal with at higher levels of application integration (especially if your app has to interface with external or 3rd party apps) and as you get closer to production.

Then, after a first release when the application is stable and whatever defects are present are known, transitioning to more robust test automation (especially when working with a highly complex application, such as a mainframe mortgage banking or insurance app) at that point makes a great deal of sense (it lowers the cost of regression testing as the app is enhanced or updated in various ways).</description>
		<content:encoded><![CDATA[<p>Sorry &#8211; one last comment about automating testing . . . . setting a goal of trying to automate as much as possible can be very dangerous, if you don&#8217;t have well-formed requirements-designs-code, because you&#8217;ll just end up getting more crap faster than if you had not automated. </p>
<p>Additionally, somewhat arbitrarily setting up to automate testing can be self-defeating when you don&#8217;t have solid requirements/design docs, because then it&#8217;s tough to figure out if the errors are being caused by poor reqs/design or because the tool itself (or the test environment or the data being used) wasn&#8217;t properly set-up.</p>
<p>If your team embarks on test-driven development at the unit level (&#8220;test as you go&#8221;), chances are you&#8217;re going to get higher quality code than using more traditional dev methods, so that when the app reaches a higher level of testing (integration or system test), you&#8217;ll be more likely to get good results using a tool, because higher quality code is being feed into it. </p>
<p>Again, if you work with a tight, high quality SDLC methodology and use approaches designed to ensure high quality output code &#8211; from the very beginning of the project &#8211; you&#8217;ll have far fewer quality issues to deal with at higher levels of application integration (especially if your app has to interface with external or 3rd party apps) and as you get closer to production.</p>
<p>Then, after a first release when the application is stable and whatever defects are present are known, transitioning to more robust test automation (especially when working with a highly complex application, such as a mainframe mortgage banking or insurance app) at that point makes a great deal of sense (it lowers the cost of regression testing as the app is enhanced or updated in various ways).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Craig Mayer</title>
		<link>http://www.andrewpmoore.com/intraprenurship/building-an-application-development-team-new-ideas/comment-page-1/#comment-68</link>
		<dc:creator>Craig Mayer</dc:creator>
		<pubDate>Thu, 31 Dec 2009 15:41:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.andrewpmoore.com/?p=81#comment-68</guid>
		<description>Hi Andrew:

Interesting thread - what I&#039;ve learned (the hard way) working with Agile teams is that if the &quot;right&quot; balance is not found between streamlining documentation for agility and not having sufficient / adequate documentation, large rocks lie ahead when your project ship puts out to sea and flips over into production. 

With my own particular specialization on the link between testing and requirements, I&#039;ve found major problems occuring when the app breaks or testing indicates faulty design or code - which then can&#039;t be traced back to original requirements, because of a lack of documentation. 

No need to go nuts on documentation, but having at least well-formed use cases and robustness diagrams (and solid design documents) can help drive better results, so that time-for-testing (which has been squeezed on 100% of the projects I&#039;ve ever worked on) is used to validate that the app meets requirements (the purpose of testing), rather than spending time you don&#039;t have trying to find and report defects (which is not the purpose of testing). 

This is particularly frustrating after an app goes into production, when things break and then you can&#039;t figure out what happened or why - because you don&#039;t have sufficient documentation / requirements to go back to review. 

Better to spend time up-front doing proper documentation than spending time and lots of money chasing things much farther down the road that should have been done right the first time. Good luck with the team.</description>
		<content:encoded><![CDATA[<p>Hi Andrew:</p>
<p>Interesting thread &#8211; what I&#8217;ve learned (the hard way) working with Agile teams is that if the &#8220;right&#8221; balance is not found between streamlining documentation for agility and not having sufficient / adequate documentation, large rocks lie ahead when your project ship puts out to sea and flips over into production. </p>
<p>With my own particular specialization on the link between testing and requirements, I&#8217;ve found major problems occuring when the app breaks or testing indicates faulty design or code &#8211; which then can&#8217;t be traced back to original requirements, because of a lack of documentation. </p>
<p>No need to go nuts on documentation, but having at least well-formed use cases and robustness diagrams (and solid design documents) can help drive better results, so that time-for-testing (which has been squeezed on 100% of the projects I&#8217;ve ever worked on) is used to validate that the app meets requirements (the purpose of testing), rather than spending time you don&#8217;t have trying to find and report defects (which is not the purpose of testing). </p>
<p>This is particularly frustrating after an app goes into production, when things break and then you can&#8217;t figure out what happened or why &#8211; because you don&#8217;t have sufficient documentation / requirements to go back to review. </p>
<p>Better to spend time up-front doing proper documentation than spending time and lots of money chasing things much farther down the road that should have been done right the first time. Good luck with the team.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Adam Pridgen</title>
		<link>http://www.andrewpmoore.com/intraprenurship/building-an-application-development-team-new-ideas/comment-page-1/#comment-45</link>
		<dc:creator>Adam Pridgen</dc:creator>
		<pubDate>Thu, 24 Dec 2009 18:07:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.andrewpmoore.com/?p=81#comment-45</guid>
		<description>Hi Andrew,

I noticed your post on LinkedIn, so I thought I would check this out.  I did not see anything mentioned about security, so I wanted to offer some advice.  My colleagues and I have come across many applications that met their software requirements, but they did not have any formal security processes integrated into their software development lifecycle.  This often leads to high rick vulnerabilities that are found in the architecture or design flaws just before or after the product is in production.  Many times these issues could have been resolved at the start and during the development if security had been integrated into the development process.  Here are some good starter documents, if you have not already become familiar with a Security Development Lifecycle:

* Microsoft, Microsoft SDL, http://www.microsoft.com/downloads/details.aspx?FamilyID=d045a05a-c1fc-48c3-b4d5-b20353f97122&amp;displaylang=en

* B. Sullivan, Agile SDL: Streamline Security Practices For Agile Development, MSDN Magazine, http://msdn.microsoft.com/en-us/magazine/dd153756.aspx

* D. Wichers, Agile Security Breaking the Waterfall Mindset, AppSecEU08, http://www.owasp.org/images/b/b8/AppSecEU08-Agile_and_Secure.ppt</description>
		<content:encoded><![CDATA[<p>Hi Andrew,</p>
<p>I noticed your post on LinkedIn, so I thought I would check this out.  I did not see anything mentioned about security, so I wanted to offer some advice.  My colleagues and I have come across many applications that met their software requirements, but they did not have any formal security processes integrated into their software development lifecycle.  This often leads to high rick vulnerabilities that are found in the architecture or design flaws just before or after the product is in production.  Many times these issues could have been resolved at the start and during the development if security had been integrated into the development process.  Here are some good starter documents, if you have not already become familiar with a Security Development Lifecycle:</p>
<p>* Microsoft, Microsoft SDL, <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=d045a05a-c1fc-48c3-b4d5-b20353f97122&amp;displaylang=en" rel="nofollow">http://www.microsoft.com/downloads/details.aspx?FamilyID=d045a05a-c1fc-48c3-b4d5-b20353f97122&amp;displaylang=en</a></p>
<p>* B. Sullivan, Agile SDL: Streamline Security Practices For Agile Development, MSDN Magazine, <a href="http://msdn.microsoft.com/en-us/magazine/dd153756.aspx" rel="nofollow">http://msdn.microsoft.com/en-us/magazine/dd153756.aspx</a></p>
<p>* D. Wichers, Agile Security Breaking the Waterfall Mindset, AppSecEU08, <a href="http://www.owasp.org/images/b/b8/AppSecEU08-Agile_and_Secure.ppt" rel="nofollow">http://www.owasp.org/images/b/b8/AppSecEU08-Agile_and_Secure.ppt</a></p>
]]></content:encoded>
	</item>
</channel>
</rss>
