<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://weblogs.asp.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Jonathan Cogley&amp;#39;s Blog</title><link>http://weblogs.asp.net/jcogley/default.aspx</link><description>C#, Test Driven Development, Pair Programming, MVP C#, ASPInsider, Secret Server</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>Pair Programming and Pandemics</title><link>http://weblogs.asp.net/jcogley/archive/2009/06/25/pair-programming-and-pandemics.aspx</link><pubDate>Thu, 25 Jun 2009 18:29:37 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7134257</guid><dc:creator>thycotic</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/jcogley/rsscomments.aspx?PostID=7134257</wfw:commentRss><comments>http://weblogs.asp.net/jcogley/archive/2009/06/25/pair-programming-and-pandemics.aspx#comments</comments><description>&lt;p&gt;Pouya has &lt;a href="http://www.thycotic.com/pair-programming-and-pandemics"&gt;posted about the dangers of illnesses when Pair Programming&lt;/a&gt; on our team blog.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Jonathan Cogley is the CEO of Thycotic Software, an agile software consulting and product development company based in Washington DC.&amp;#160; Secret Server is our flagship &lt;/em&gt;&lt;a href="http://www.thycotic.com/products_secretserver_overview.html"&gt;web password management&lt;/a&gt;&lt;em&gt;&lt;/em&gt;&lt;em&gt; product.&lt;/em&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7134257" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/jcogley/archive/tags/Extreme+Programming/default.aspx">Extreme Programming</category><category domain="http://weblogs.asp.net/jcogley/archive/tags/Test+Driven+Development/default.aspx">Test Driven Development</category><category domain="http://weblogs.asp.net/jcogley/archive/tags/Pair+Programming/default.aspx">Pair Programming</category><category domain="http://weblogs.asp.net/jcogley/archive/tags/Software+Development/default.aspx">Software Development</category><category domain="http://weblogs.asp.net/jcogley/archive/tags/General+Software+Development/default.aspx">General Software Development</category><category domain="http://weblogs.asp.net/jcogley/archive/tags/Agile/default.aspx">Agile</category></item><item><title>The Facade Pattern - Don’t Talk to Strangers</title><link>http://weblogs.asp.net/jcogley/archive/2009/06/18/the-facade-pattern-don-t-talk-to-strangers.aspx</link><pubDate>Thu, 18 Jun 2009 14:31:59 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7129005</guid><dc:creator>thycotic</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/jcogley/rsscomments.aspx?PostID=7129005</wfw:commentRss><comments>http://weblogs.asp.net/jcogley/archive/2009/06/18/the-facade-pattern-don-t-talk-to-strangers.aspx#comments</comments><description>&lt;p&gt;Ben has &lt;a href="http://www.thycotic.com/the-facade-pattern-dont-talk-to-strangers"&gt;posted about the Facade Pattern&lt;/a&gt; on the team blog.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Jonathan Cogley is the CEO of Thycotic Software, an agile software consulting and product development company based in Washington DC.&amp;#160; Secret Server is our flagship &lt;/em&gt;&lt;a href="http://www.thycotic.com/products_secretserver_overview.html"&gt;web password management&lt;/a&gt;&lt;em&gt;&lt;/em&gt;&lt;em&gt; product.&lt;/em&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7129005" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/jcogley/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/jcogley/archive/tags/Software+Development/default.aspx">Software Development</category><category domain="http://weblogs.asp.net/jcogley/archive/tags/General+Software+Development/default.aspx">General Software Development</category></item><item><title>Do you have Truth Tables in your programming toolbox?</title><link>http://weblogs.asp.net/jcogley/archive/2009/05/22/do-you-have-truth-tables-in-your-programming-toolbox.aspx</link><pubDate>Fri, 22 May 2009 17:17:24 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7094808</guid><dc:creator>thycotic</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/jcogley/rsscomments.aspx?PostID=7094808</wfw:commentRss><comments>http://weblogs.asp.net/jcogley/archive/2009/05/22/do-you-have-truth-tables-in-your-programming-toolbox.aspx#comments</comments><description>&lt;p&gt;David has &lt;a href="http://www.thycotic.com/creating-truth-tables-a-simple-truth-table-for-programming-purposes"&gt;posted about how Truth Tables can be used to make it easier&lt;/a&gt; to consider all variations of input and output for your programming logic.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Jonathan Cogley is the CEO of Thycotic Software, an agile software consulting and product development company based in Washington DC.&amp;#160; Secret Server is our flagship &lt;/em&gt;&lt;a href="http://www.thycotic.com/products_secretserver_overview.html"&gt;&lt;em&gt;enterprise password management&lt;/em&gt;&lt;/a&gt;&lt;em&gt; product.&lt;/em&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7094808" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/jcogley/archive/tags/Software+Development/default.aspx">Software Development</category><category domain="http://weblogs.asp.net/jcogley/archive/tags/General+Software+Development/default.aspx">General Software Development</category></item><item><title>Stinky PartialMocks?</title><link>http://weblogs.asp.net/jcogley/archive/2009/05/14/stinky-partialmocks.aspx</link><pubDate>Fri, 15 May 2009 02:56:17 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7087544</guid><dc:creator>thycotic</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/jcogley/rsscomments.aspx?PostID=7087544</wfw:commentRss><comments>http://weblogs.asp.net/jcogley/archive/2009/05/14/stinky-partialmocks.aspx#comments</comments><description>&lt;p&gt;Jimmy has &lt;a href="http://www.thycotic.com/who-left-the-partialmock-out-in-the-sun-it-stinks"&gt;posted about PartialMocks on the team blog&lt;/a&gt;.&amp;#160; This has been a recurring discussion on our team and it is worthwhile thinking careful about whether to use PartialMocks and if so, what is an appropriate usage …&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Jonathan Cogley is the CEO of Thycotic Software, an agile software consulting and product development company based in Washington DC.&amp;#160; Secret Server is our flagship &lt;/em&gt;&lt;a href="http://www.thycotic.com/products_secretserver_overview.html"&gt;&lt;em&gt;enterprise password management&lt;/em&gt;&lt;/a&gt;&lt;em&gt; product.&lt;/em&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7087544" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/jcogley/archive/tags/Test+Driven+Development/default.aspx">Test Driven Development</category><category domain="http://weblogs.asp.net/jcogley/archive/tags/Software+Development/default.aspx">Software Development</category><category domain="http://weblogs.asp.net/jcogley/archive/tags/General+Software+Development/default.aspx">General Software Development</category><category domain="http://weblogs.asp.net/jcogley/archive/tags/Refactoring/default.aspx">Refactoring</category><category domain="http://weblogs.asp.net/jcogley/archive/tags/Agile/default.aspx">Agile</category></item><item><title>Registration Forms – are you asking for too much information?</title><link>http://weblogs.asp.net/jcogley/archive/2009/05/07/registration-forms-are-you-asking-for-too-much-information.aspx</link><pubDate>Thu, 07 May 2009 23:11:05 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7076543</guid><dc:creator>thycotic</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/jcogley/rsscomments.aspx?PostID=7076543</wfw:commentRss><comments>http://weblogs.asp.net/jcogley/archive/2009/05/07/registration-forms-are-you-asking-for-too-much-information.aspx#comments</comments><description>&lt;p&gt;Read my latest post about Registration Forms on our team blog &lt;a href="http://www.thycotic.com/registration-forms-breaking-down-the-barriers-between-your-web-visitor-and-your-product"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Jonathan Cogley is the CEO of Thycotic Software, an agile software consulting and product development company based in Washington DC.&amp;#160; Secret Server is our flagship &lt;/em&gt;&lt;a href="http://www.thycotic.com/products_secretserver_overview.html"&gt;&lt;em&gt;enterprise password management&lt;/em&gt;&lt;/a&gt;&lt;em&gt; product.&lt;/em&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7076543" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/jcogley/archive/tags/Software+Development/default.aspx">Software Development</category><category domain="http://weblogs.asp.net/jcogley/archive/tags/General+Software+Development/default.aspx">General Software Development</category></item><item><title>Crossing the Chasm - a must read for any software product company</title><link>http://weblogs.asp.net/jcogley/archive/2009/04/18/crossing-the-chasm-a-must-read-for-any-software-product-company.aspx</link><pubDate>Sun, 19 Apr 2009 00:30:13 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7049936</guid><dc:creator>thycotic</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/jcogley/rsscomments.aspx?PostID=7049936</wfw:commentRss><comments>http://weblogs.asp.net/jcogley/archive/2009/04/18/crossing-the-chasm-a-must-read-for-any-software-product-company.aspx#comments</comments><description>&lt;p&gt;Josh has posted an &lt;a href="http://www.thycotic.com/thoughts-on-geoffrey-moores-crossing-the-chasm"&gt;interesting review of Geoffrey Moore's classic &amp;quot;Crossing the Chasm&amp;quot;&lt;/a&gt; - this is a must read for any software product company.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Jonathan Cogley is the CEO of Thycotic Software, an agile software consulting and product development company based in Washington DC.&amp;#160; Secret Server is our flagship &lt;/em&gt;&lt;a href="http://www.thycotic.com/products_secretserver_overview.html"&gt;&lt;em&gt;enterprise password management&lt;/em&gt;&lt;/a&gt;&lt;em&gt; product.&lt;/em&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7049936" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/jcogley/archive/tags/Software+Development/default.aspx">Software Development</category><category domain="http://weblogs.asp.net/jcogley/archive/tags/General+Software+Development/default.aspx">General Software Development</category><category domain="http://weblogs.asp.net/jcogley/archive/tags/Books/default.aspx">Books</category></item><item><title>Name a variable like you name your first born</title><link>http://weblogs.asp.net/jcogley/archive/2009/04/15/name-a-variable-like-you-name-your-first-born.aspx</link><pubDate>Wed, 15 Apr 2009 23:14:15 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7047255</guid><dc:creator>thycotic</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/jcogley/rsscomments.aspx?PostID=7047255</wfw:commentRss><comments>http://weblogs.asp.net/jcogley/archive/2009/04/15/name-a-variable-like-you-name-your-first-born.aspx#comments</comments><description>&lt;p&gt;There is a &lt;a href="http://www.thycotic.com/name-a-variable-like-you-name-your-first-born"&gt;new post on our team blog&lt;/a&gt; - it is poking fun but still makes you think. :)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Jonathan Cogley is the CEO of Thycotic Software, an agile software consulting and product development company based in Washington DC.&amp;#160; Secret Server is our flagship &lt;/em&gt;&lt;a href="http://www.thycotic.com/products_secretserver_overview.html"&gt;&lt;em&gt;enterprise password management&lt;/em&gt;&lt;/a&gt;&lt;em&gt; product.&lt;/em&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7047255" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/jcogley/archive/tags/Software+Development/default.aspx">Software Development</category><category domain="http://weblogs.asp.net/jcogley/archive/tags/General+Software+Development/default.aspx">General Software Development</category><category domain="http://weblogs.asp.net/jcogley/archive/tags/Refactoring/default.aspx">Refactoring</category></item><item><title>The Code Fairy - solutions/ideas</title><link>http://weblogs.asp.net/jcogley/archive/2009/04/10/the-code-fairy-solutions-ideas.aspx</link><pubDate>Fri, 10 Apr 2009 14:35:39 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7040246</guid><dc:creator>thycotic</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/jcogley/rsscomments.aspx?PostID=7040246</wfw:commentRss><comments>http://weblogs.asp.net/jcogley/archive/2009/04/10/the-code-fairy-solutions-ideas.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://www.markhneedham.com/blog/2009/04/10/pair-programming-the-code-fairy/"&gt;Mark Needham posted about a behavior pattern he has observed and labeled &amp;quot;The Code Fairy&amp;quot;&lt;/a&gt;.&amp;#160; The concept is writing code in off hours (without your pair) when your programming pair didn't want to go along with your changes.&lt;/p&gt;  &lt;p&gt;Being a &lt;a href="http://www.thycotic.com"&gt;fully pair programmed shop&lt;/a&gt;, we come across issues like this a lot.&amp;#160; Typically the solution is to compromise and find the middle ground.&amp;#160; However, this can be difficult if the views are radically different.&lt;/p&gt;  &lt;p&gt;Some possible solutions:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Agree to write a small piece of the code on your own later and present it on your next pairing session as a patch.&amp;#160; This will take good soft skills though since you may be even more defensive of your approach once you have written code and your pair may start feeling forced into the idea.&lt;/li&gt;    &lt;li&gt;Find the smallest possible compromise.&amp;#160; If a pair can't compromise at all, then you have bigger problems.&amp;#160; Remember that each person on the pair has to concede on some things else there is no give and take.&amp;#160; The trick is to concede where it is not detrimental - either way, someone will learn something.&lt;/li&gt;    &lt;li&gt;Mark's mentions the idea of being able to convince someone.&amp;#160; In the business community, it is often recommended to start a business with a partner since if you can't convince one other person of an idea then it probably isn't worth doing.&amp;#160; This holds true in pairing - if you can't convince someone, why not?&amp;#160; Is the idea flawed? Are you conveying it poorly or is the person not compromising at all?&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Pairing is a learning experience and sometimes you learn through debate, other times you learn by doing.&amp;#160; Sometimes you have to fail to learn - just make them small failures. :)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Jonathan Cogley is the CEO of Thycotic Software, an agile software consulting and product development company based in Washington DC.&amp;#160; Secret Server is our flagship &lt;/em&gt;&lt;a href="http://www.thycotic.com/products_secretserver_overview.html"&gt;&lt;em&gt;enterprise password management&lt;/em&gt;&lt;/a&gt;&lt;em&gt; product.&lt;/em&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7040246" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/jcogley/archive/tags/Pair+Programming/default.aspx">Pair Programming</category><category domain="http://weblogs.asp.net/jcogley/archive/tags/Software+Development/default.aspx">Software Development</category><category domain="http://weblogs.asp.net/jcogley/archive/tags/General+Software+Development/default.aspx">General Software Development</category></item><item><title>Refactoring logic from an ASP.NET page - Part 2</title><link>http://weblogs.asp.net/jcogley/archive/2009/04/09/refactoring-logic-from-an-asp-net-page-part-2.aspx</link><pubDate>Thu, 09 Apr 2009 22:55:52 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7038119</guid><dc:creator>thycotic</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/jcogley/rsscomments.aspx?PostID=7038119</wfw:commentRss><comments>http://weblogs.asp.net/jcogley/archive/2009/04/09/refactoring-logic-from-an-asp-net-page-part-2.aspx#comments</comments><description>&lt;p&gt;Kevin has &lt;a href="http://www.thycotic.com/refactoring-code-a-programmers-challenge-part-2"&gt;posted the second part to his refactoring logic in ASP.NET series&lt;/a&gt;.&amp;#160; This time he looks at hand rolling a mock object and also talks about the importance of separating your logic.&lt;/p&gt;  &lt;p&gt;Don't forget to subscribe to the &lt;a href="http://www.thycotic.com/blog.php"&gt;Thycotic Team Blog about Software Development&lt;/a&gt; (regular postings every Thursday).&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Jonathan Cogley is the CEO of Thycotic Software, an agile software consulting and product development company based in Washington DC.&amp;#160; Secret Server is our flagship &lt;/em&gt;&lt;a href="http://www.thycotic.com/products_secretserver_overview.html"&gt;&lt;em&gt;enterprise password management&lt;/em&gt;&lt;/a&gt;&lt;em&gt; product.&lt;/em&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7038119" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/jcogley/archive/tags/Software+Development/default.aspx">Software Development</category><category domain="http://weblogs.asp.net/jcogley/archive/tags/General+Software+Development/default.aspx">General Software Development</category><category domain="http://weblogs.asp.net/jcogley/archive/tags/Refactoring/default.aspx">Refactoring</category></item><item><title>Refactoring logic from an ASP.NET page</title><link>http://weblogs.asp.net/jcogley/archive/2009/04/03/refactoring-logic-from-an-asp-net-page.aspx</link><pubDate>Fri, 03 Apr 2009 14:19:18 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7024325</guid><dc:creator>thycotic</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/jcogley/rsscomments.aspx?PostID=7024325</wfw:commentRss><comments>http://weblogs.asp.net/jcogley/archive/2009/04/03/refactoring-logic-from-an-asp-net-page.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://www.thycotic.com/refactoring-code-a-programmers-challenge"&gt;Kevin has posted about refactoring&lt;/a&gt; some simple logic from an ASP.NET page and breaking it out into a separate class (Single Responsibility Principle) to make the code more maintainable.&lt;/p&gt;  &lt;p&gt;Kevin highlights the classic problem with unmaintainable code and works his way into how to not only improve this code but also how to make it more testable.&lt;/p&gt;  &lt;p&gt;Don't forget to subscribe to the &lt;a href="http://www.thycotic.com/blog.php"&gt;Thycotic Team Blog about Software Development&lt;/a&gt; (regular postings every Thursday).&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Jonathan Cogley is the CEO of Thycotic Software, an agile software consulting and product development company based in Washington DC.&amp;#160; Don't forget - we will be holding our &lt;a href="http://www.thycotic.com/tdd_training.html"&gt;two-day Test Driven Development course&lt;/a&gt; next month - reserve your spot now&lt;/em&gt;&lt;em&gt;.&lt;/em&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7024325" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/jcogley/archive/tags/Test+Driven+Development/default.aspx">Test Driven Development</category><category domain="http://weblogs.asp.net/jcogley/archive/tags/Software+Development/default.aspx">Software Development</category><category domain="http://weblogs.asp.net/jcogley/archive/tags/Blogging/default.aspx">Blogging</category><category domain="http://weblogs.asp.net/jcogley/archive/tags/General+Software+Development/default.aspx">General Software Development</category><category domain="http://weblogs.asp.net/jcogley/archive/tags/Refactoring/default.aspx">Refactoring</category></item><item><title>SRP with the DC ALT.NET User Group in Alexandria, VA</title><link>http://weblogs.asp.net/jcogley/archive/2009/03/31/srp-with-the-dc-alt-net-user-group-in-alexandria-va.aspx</link><pubDate>Wed, 01 Apr 2009 03:39:20 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7018334</guid><dc:creator>thycotic</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/jcogley/rsscomments.aspx?PostID=7018334</wfw:commentRss><comments>http://weblogs.asp.net/jcogley/archive/2009/03/31/srp-with-the-dc-alt-net-user-group-in-alexandria-va.aspx#comments</comments><description>&lt;p&gt;Last Wednesday (3/25/2009), I presented at the DC ALT.NET User Group in Alexandria.&amp;#160; Thank you to the groups organizer, &lt;a href="http://weblogs.asp.net/Podwysocki/"&gt;Matt Podwysocki&lt;/a&gt; for inviting me.&lt;/p&gt;  &lt;h3&gt;Writing Code with the Thycotic Team&lt;/h3&gt;  &lt;p&gt;The presentation was &lt;strong&gt;TDD with C# and Mocks&lt;/strong&gt; - which is a hands-on coding session with the audience working on a real application (our online store codebase) - the new code is designed to track website visitors for marketing purposes and it has lots of external dependencies (cookies, database persistence).&amp;#160; The goal of the session is to demonstrate how the Thycotic team would write code using C#, RhinoMocks and the &lt;a href="http://www.objectmentor.com/resources/articles/srp.pdf"&gt;Single Responsibility Principle&lt;/a&gt; (SRP).&amp;#160; &lt;/p&gt;  &lt;h3&gt;Single Responsibility Principle&lt;/h3&gt;  &lt;p&gt;SRP involves writing mostly new classes since everything is almost always a new responsibility and therefore gets its own class (see also the &lt;a href="http://www.objectmentor.com/resources/articles/ocp.pdf"&gt;Open Closed Principle&lt;/a&gt; since SRP works well with the concept of open for extension, closed for modification).&amp;#160; This makes it easy to work in legacy code if you adopt SRP as you seldom modify the existing code but rather spend most of your time developing the tests and behavior in new classes and then wire them in where necessary.&amp;#160; There are many other benefits to SRP including testability and reduced coupling.&lt;/p&gt;  &lt;p&gt;The audience at the event was engaged and asked lots of interesting questions.&amp;#160; There were questions regarding the wire up of dependencies which led to some tangents on Inversion of Control containers and so on.&lt;/p&gt;  &lt;h3&gt;&lt;/h3&gt;  &lt;h3&gt;Fishbowl Conversation&lt;/h3&gt;  &lt;p&gt;Matt also held a &lt;a href="http://en.wikipedia.org/wiki/Fishbowl_(conversation)"&gt;fishbowl conversation&lt;/a&gt; in the beginning of the meeting which seemed like a fun way to get attendees engaged and sharing opinions. I hadn't seen this used before but I was impressed with the concept.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Jonathan Cogley is the CEO of Thycotic Software, an agile software consulting and product development company based in Washington DC.&amp;#160; Don't forget - we will be holding our &lt;a href="http://www.thycotic.com/tdd_training.html"&gt;two-day Test Driven Development course&lt;/a&gt; next month - reserve your spot now&lt;/em&gt;&lt;em&gt;.&lt;/em&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7018334" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/jcogley/archive/tags/.NET+User+Groups/default.aspx">.NET User Groups</category><category domain="http://weblogs.asp.net/jcogley/archive/tags/Test+Driven+Development/default.aspx">Test Driven Development</category><category domain="http://weblogs.asp.net/jcogley/archive/tags/Software+Development/default.aspx">Software Development</category><category domain="http://weblogs.asp.net/jcogley/archive/tags/General+Software+Development/default.aspx">General Software Development</category><category domain="http://weblogs.asp.net/jcogley/archive/tags/Agile/default.aspx">Agile</category></item><item><title>Thycotic Team Blog On Software Development</title><link>http://weblogs.asp.net/jcogley/archive/2009/03/31/thycotic-team-blog-on-software-development.aspx</link><pubDate>Wed, 01 Apr 2009 03:17:40 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7018258</guid><dc:creator>thycotic</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/jcogley/rsscomments.aspx?PostID=7018258</wfw:commentRss><comments>http://weblogs.asp.net/jcogley/archive/2009/03/31/thycotic-team-blog-on-software-development.aspx#comments</comments><description>&lt;p&gt;This is my first post to this blog in almost a year !&amp;#160; I have actually been blogging the last few months but not on this blog.&amp;#160; We decided to create a blog for our whole development team so individuals could post interesting items without having to commit to being a total blogger.&lt;/p&gt;  &lt;p&gt;We have also committed to a regular posting schedule and Josh (our graphic designer) has assumed the role of 'editor in chief' ensuring that a post from someone on the team goes out every week on Thursday.&amp;#160; &lt;/p&gt;  &lt;h3&gt;Where is this new team blog then?&lt;/h3&gt;  &lt;p&gt;You can get to the blog here:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.thycotic.com/blog.php"&gt;http://www.thycotic.com/blog.php&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;And don't forget to subscribe to the RSS feed here:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.thycotic.com/feed"&gt;http://www.thycotic.com/feed&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;What's been posted?&lt;/h3&gt;  &lt;p&gt;There are already 15 posts from the team with topics such as:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.thycotic.com/fun-with-anonymous-types-and-linq"&gt;Fun with Anonymous Types and LINQ&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.thycotic.com/my-2-and-a-half-cents-pitfalls-with-rounding"&gt;Bankers Rounding in .NET&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.thycotic.com/the-power-of-code-yield-return-code"&gt;The Power of Yield Return&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.thycotic.com/a-developers-uphill-journey-from-custom-development-to-software-vendor"&gt;Developer's Uphill Journey from Custom Development to Software Vendor&lt;/a&gt; (this discusses the hurdles Thycotic encountered when starting our product group).&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.thycotic.com/how-sleeping-through-my-phone-alarm-taught-me-a-lesson-in-software-usability"&gt;How sleeping through my alarm taught me a lesson in software usability&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.thycotic.com/writing-silverlight-apps-with-dynamic-languages-like-ironruby-and-ironpython"&gt;Writing Silverlight apps with Dynamic Languages like IronRuby and IronPython&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The topics will always have a software development focus but will vary from agile topics, to new tools/techniques to software usability and software marketing depending on the poster.&lt;/p&gt;  &lt;h3&gt;What's going to happen to this blog?&lt;/h3&gt;  &lt;p&gt;I will be resuming my posting to this blog which will continue to focus on mostly team lead issues and best practices for Test Driven Development, Pair Programming and Agile in general.&amp;#160; Most of my encounters these days are from the perspective of a software development manager but I do still write a decent amount of code every day.&lt;/p&gt;  &lt;p&gt;I will still be posting on our team blog from time to time but this blog will be used for smaller, more informal meanderings.&lt;/p&gt;  &lt;p&gt;I am happy to be back - thanks for reading!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Jonathan Cogley is the CEO of Thycotic Software, an agile software consulting and product development company based in Washington DC.&amp;#160; Secret Server is our flagship &lt;/em&gt;&lt;a href="http://www.thycotic.com/products_secretserver_overview.html"&gt;&lt;em&gt;enterprise password management&lt;/em&gt;&lt;/a&gt;&lt;em&gt; product.&lt;/em&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7018258" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/jcogley/archive/tags/Software+Development/default.aspx">Software Development</category><category domain="http://weblogs.asp.net/jcogley/archive/tags/Blogging/default.aspx">Blogging</category><category domain="http://weblogs.asp.net/jcogley/archive/tags/General+Software+Development/default.aspx">General Software Development</category></item><item><title>Secret Server on the Treo 700</title><link>http://weblogs.asp.net/jcogley/archive/2008/04/18/secret-server-on-the-treo-700.aspx</link><pubDate>Fri, 18 Apr 2008 22:47:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6111203</guid><dc:creator>thycotic</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/jcogley/rsscomments.aspx?PostID=6111203</wfw:commentRss><comments>http://weblogs.asp.net/jcogley/archive/2008/04/18/secret-server-on-the-treo-700.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/jcogley/WindowsLiveWriter/SecretServerontheTreo700_10824/image_2.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 10px 0px 0px; border-right-width: 0px" height="244" alt="image" src="http://weblogs.asp.net/blogs/jcogley/WindowsLiveWriter/SecretServerontheTreo700_10824/image_thumb.png" width="173" align="left" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Secret Server has supported a &amp;quot;Mobile Edition&amp;quot; for over a year now but it is always tricky making sure that it works correctly on all devices.&lt;/p&gt;  &lt;p&gt;Our approach was to bake mobile support into the base product (ASP.NET based) so it simply scales down to the capability of the device.&amp;#160; That sounds simple but unfortunately it depends on making sure that functionality will work with all the limitations of various devices.&lt;/p&gt;  &lt;p&gt;My own favorite BlackBerry 8820 does a reasonable job of helping me get to the password I need in emergencies but it is hardly a pleasant browsing experience.&amp;#160; In fairness, no browsing on the device is particularly pleasant since it is slow, struggles with most layouts and has a small screen.&amp;#160; That said, I love it dearly and browsing has never been a core requirement for me since email, contacts and calendar are definitely my most essential.&lt;/p&gt;  &lt;p&gt;Today we had a customer ask about the Treo 700 so I tried out the emulator from the Palm website.&amp;#160; It seems to work fine with Secret Server and I was able to browse around and access passwords.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Do your web applications support mobile devices and if so how do you test them?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Jonathan Cogley is the CEO and founder of Thycotic Software, a .NET consulting company and ISV in Washington DC.&amp;#160; Our product, &lt;/em&gt;Secret Server &lt;em&gt;is a &lt;a href="http://thycotic.com/products_secretserver_overview.html"&gt;enterprise password manager&lt;/a&gt; system for teams to secure their passwords.&amp;#160; &lt;strong&gt;Is your team still storing passwords in Excel?&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6111203" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/jcogley/archive/tags/Software+Development/default.aspx">Software Development</category><category domain="http://weblogs.asp.net/jcogley/archive/tags/ISV/default.aspx">ISV</category><category domain="http://weblogs.asp.net/jcogley/archive/tags/General+Software+Development/default.aspx">General Software Development</category></item><item><title>A sign that you are no longer a startup.</title><link>http://weblogs.asp.net/jcogley/archive/2008/04/10/a-sign-that-you-are-no-longer-a-startup.aspx</link><pubDate>Fri, 11 Apr 2008 03:20:09 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6085344</guid><dc:creator>thycotic</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/jcogley/rsscomments.aspx?PostID=6085344</wfw:commentRss><comments>http://weblogs.asp.net/jcogley/archive/2008/04/10/a-sign-that-you-are-no-longer-a-startup.aspx#comments</comments><description>&lt;a href="http://weblogs.asp.net/blogs/jcogley/WindowsLiveWriter/Asignthatyouarenolongerastartup_14827/100_0455.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; margin: 0px 10px 0px 0px; border-left: 0px; border-bottom: 0px" height="184" alt="100_0455" src="http://weblogs.asp.net/blogs/jcogley/WindowsLiveWriter/Asignthatyouarenolongerastartup_14827/100_0455_thumb.jpg" width="244" align="left" border="0" /&gt;&lt;/a&gt;   &lt;p&gt;Ok, so it is a really bad pun.&amp;#160; It is tough writing blog post titles sometimes. :)&lt;/p&gt;  &lt;p&gt;Anyway, we finally got a &lt;a href="http://www.behrendsbronze.com/"&gt;beautiful metallic official sign&lt;/a&gt; for our office after inhabiting our office space for almost two years.&amp;#160; (Now if we could just do something about that door!).&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;In our first office suite in Vienna (VA) we had a good excuse for not having a sign since it was shared space and we weren't allowed sign-age.&lt;/p&gt;  &lt;p&gt;In our current space, we actually lasted almost two years with this paper sign.&amp;#160; Not exactly glamorous but it did the job.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/jcogley/WindowsLiveWriter/Asignthatyouarenolongerastartup_14827/100_0453_1.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="184" alt="100_0453" src="http://weblogs.asp.net/blogs/jcogley/WindowsLiveWriter/Asignthatyouarenolongerastartup_14827/100_0453_thumb_1.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;This got me thinking ... when is the moment that you are no longer a startup?&amp;#160; &lt;/p&gt;  &lt;p&gt;A few facts about Thycotic's beginnings:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;We were profitable from day one.&lt;/li&gt;    &lt;li&gt;Our software development consulting business has always been a stable, profitable area.&lt;/li&gt;    &lt;li&gt;On the product side, Secret Server is self funded, started small and has slowly built a solid customer base.&lt;/li&gt;    &lt;li&gt;The company was officially formed in 1996 but only hired its first employee other than me in 2004.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;So how do we identify a change from startup to mature company?      &lt;br /&gt;&lt;/strong&gt;(if it is has even really happened to us yet)&lt;/p&gt;  &lt;p&gt;Could it be?&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The day you finally turn off the email that tells you when someone bought your product.&lt;/li&gt;    &lt;li&gt;The day the founder can take more than one consecutive week of vacation.&lt;/li&gt;    &lt;li&gt;The day you don't know how many employees are in the company (this has already happened but that is just because I have a hard time figuring it out on the fly).&lt;/li&gt;    &lt;li&gt;The day that the company hires someone the founder didn't hire or even meet.&lt;/li&gt;    &lt;li&gt;The day you walk by someone in the hall you have seen often but have no idea who they are.&lt;/li&gt;    &lt;li&gt;The day you are bought out by some monster corporation. (assuming you want to be bought out ... which we don't)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;What would you define as the tipping point?&lt;/strong&gt;&amp;#160; In the meantime, we are going to continue admiring our new sign. :)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Jonathan Cogley is the CEO and founder of Thycotic Software, a .NET consulting company and ISV in Washington DC.&amp;#160; Our product, &lt;/em&gt;Secret Server &lt;em&gt;is a &lt;a href="http://thycotic.com/products_secretserver_overview.html"&gt;enterprise password manager&lt;/a&gt; system for teams to secure their passwords.&amp;#160; &lt;strong&gt;Is your team still storing passwords in Excel?&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6085344" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/jcogley/archive/tags/Fun/default.aspx">Fun</category><category domain="http://weblogs.asp.net/jcogley/archive/tags/Software+Development/default.aspx">Software Development</category><category domain="http://weblogs.asp.net/jcogley/archive/tags/ISV/default.aspx">ISV</category><category domain="http://weblogs.asp.net/jcogley/archive/tags/General+Software+Development/default.aspx">General Software Development</category></item><item><title>Code Camps this weekend!</title><link>http://weblogs.asp.net/jcogley/archive/2008/04/10/code-camps-this-weekend.aspx</link><pubDate>Fri, 11 Apr 2008 02:54:04 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6085244</guid><dc:creator>thycotic</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/jcogley/rsscomments.aspx?PostID=6085244</wfw:commentRss><comments>http://weblogs.asp.net/jcogley/archive/2008/04/10/code-camps-this-weekend.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/jcogley/WindowsLiveWriter/CodeCampsthisweekend_14205/CodeCampLogo_2.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; margin: 0px 10px 0px 0px; border-left: 0px; border-bottom: 0px" height="53" alt="CodeCampLogo" src="http://weblogs.asp.net/blogs/jcogley/WindowsLiveWriter/CodeCampsthisweekend_14205/CodeCampLogo_thumb.png" width="244" align="right" border="0" /&gt;&lt;/a&gt; There are two code camps this weekend:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.cmap-online.org/home/Code%20Camps/Default.aspx"&gt;CMAP Code Camp&lt;/a&gt; in Maryland&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.pghdotnet.org/CodeCamp/"&gt;Pittsburgh Code Camp&lt;/a&gt; in Pennsylvania&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I will be speaking at the Pittsburgh Code Camp on &lt;strong&gt;Refactoring&lt;/strong&gt; - a topic that is very dear to me.&lt;/p&gt;  &lt;p&gt;Register now and come along to talk code.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;We are hiring!&amp;#160; Do you want to write beautiful code in a &lt;/strong&gt;&lt;a href="http://www.thycotic.com/"&gt;&lt;strong&gt;Test Driven, Refactored, Agile .NET software company&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; in the heart of Washington DC and work on &lt;/strong&gt;&lt;a href="http://thesecretserver.com/"&gt;&lt;strong&gt;cool products&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;?&amp;#160; Take the &lt;a href="http://www.thycotic.com/codetest.txt"&gt;code test&lt;/a&gt; and send your resume along with why you want to join Thycotic to &lt;/strong&gt;&lt;a href="mailto:tddjobs@thycotic.com"&gt;&lt;strong&gt;tddjobs@thycotic.com&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6085244" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/jcogley/archive/tags/Software+Development/default.aspx">Software Development</category><category domain="http://weblogs.asp.net/jcogley/archive/tags/Code+Camp/default.aspx">Code Camp</category><category domain="http://weblogs.asp.net/jcogley/archive/tags/General+Software+Development/default.aspx">General Software Development</category><category domain="http://weblogs.asp.net/jcogley/archive/tags/Refactoring/default.aspx">Refactoring</category></item></channel></rss>