<?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>Dataplex Technology Solutions Blog &#187; AgileBCS</title>
	<atom:link href="http://dataplex.org/blog/category/agilebcs/feed/" rel="self" type="application/rss+xml" />
	<link>http://dataplex.org/blog</link>
	<description>Web Development, Network Administration, Informaton Security</description>
	<lastBuildDate>Wed, 24 Aug 2011 15:36:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Motivation &#8211; A High Five in Agile and Exercise</title>
		<link>http://dataplex.org/blog/2011/07/motivation-a-high-five-in-agile-and-exercise/</link>
		<comments>http://dataplex.org/blog/2011/07/motivation-a-high-five-in-agile-and-exercise/#comments</comments>
		<pubDate>Wed, 13 Jul 2011 17:06:44 +0000</pubDate>
		<dc:creator>dpx</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[AgileBCS]]></category>
		<category><![CDATA[Exercise]]></category>
		<category><![CDATA[Family]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://dataplex.org/blog/?p=224</guid>
		<description><![CDATA[I&#8217;ve been exercising the last 4 weeks and today I had a bit of a ah-ha moment on my morning run. Starting a running routine is tough work, and I get frustrated often when I cannot make my goal and have to slow down. However, there are a few things I do that have helped [...]]]></description>
			<content:encoded><![CDATA[<div class="al2fb_like_button"><div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=170888536311777&amp;xfbml=1" type="text/javascript"></script>
<fb:like href="http://dataplex.org/blog/2011/07/motivation-a-high-five-in-agile-and-exercise/" layout="button_count" show_faces="true" width="450" action="like" font="arial" colorscheme="light" ref="AL2FB"></fb:like></div><div class="al2fb_send_button"><div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=170888536311777&amp;xfbml=1" type="text/javascript"></script>
<fb:send ref="AL2FB" font="arial" colorscheme="light" href="http://dataplex.org/blog/2011/07/motivation-a-high-five-in-agile-and-exercise/"></fb:send></div><p>I&#8217;ve been exercising the last 4 weeks and today I had a bit of a ah-ha moment on my morning run. Starting a running routine is tough work, and I get frustrated often when I cannot make my goal and have to slow down. However, there are a few things I do that have helped me stick with it more this time than any other time I&#8217;ve attempted to run seriously. These few simple steps have been a great help and I&#8217;m on track with my goals. These steps also have parallels in Agile development, and I&#8217;d like to share my experience and insight with you, dear reader.</p>
<h3>Commit with a Team</h3>
<p>The first thing I did was to make a commitment with friends to exercise together and to sign up for Tough Mudder. The registration fee for this event is $150, so it&#8217;s an end goal that has both financial and health strings attached to it. Difficult exercise of any kind is very hard to do solo, but in a team &#8211; we have 3 regular people who are doing this now &#8211; it is much easier to stay motivated.</p>
<p>I associate this with the end goal of a software development project. Someone has invested some serious time and money commitments to see a project through, but it will often fail if attempted alone. It&#8217;s very easy to lose motivation on a difficult or long project when working solo. It is also easy to lose sight of that longer term goal and find it just too difficult to move forward. And, we all know that stress is bad for you, so it too has health implications (okay that&#8217;s a stretch, but go with it). Working with a small team of dedicated team members help keep everyone motivated and in the game. The team has a collective goal and when someone loses sight of the end goal, others are there for support and guidance.</p>
<h3>Set a Goal, Form a Plan, Meet the Goal, Evaluate, Rinse and Repeat</h3>
<h3><span class="Apple-style-span" style="font-size: 14px; font-weight: normal;">As I mentioned above, I&#8217;ve committed myself to completing the Tough Mudder event. This is my goal, and it&#8217;s a very defined set of physical requirements that must be met. Now there is no way I could achieve what I need to without a plan. I could run, and I could workout, but I don&#8217;t know the best way to do those things, so I sought advice and found a great workout that is both challenging and meets my requirements. This makes me much more likely to stick with it &#8211; I have a time boxed goal and I know what I have to do to reach that goal.</span></h3>
<h3><span class="Apple-style-span" style="font-size: 14px; font-weight: normal;">In our exercise routine, we measure success by the week, and being in the 4th week of a 9 week initial program (the Navy Seal BUD/S Warning Order Workout) and on target is making me feel great. At the end of the week we realize and discuss our accomplishments, discuss what we could change, and then plan for the next week. For our exercise routine, this may mean changing the order in which we complete our daily workout, or it may mean adjusting meeting times or places to allow us to complete the next set of goals. In either case, this gives us short, measurable time periods in which to track our progress and readjust as necessary. This week we run a total of 9 miles (3 miles / 3 days a week), and we&#8217;re right on target! Rock on! </span></h3>
<p>In agile software projects, we do much the same thing. We commit ourselves to an end goal and typically the clients have a time boxed window for the project to fit into. In some other methodologies, a lot of up front planning is done to document the whole project, and it&#8217;s not until the end that success is truly measured. I find this difficult to deal with because going such long periods without reflecting on the current state of things seems like a bad idea. So in agile, we do sprints &#8211; my current project is doing 2 week sprints &#8211; in which we bite off a small chuck of the overall goal, commit to it, and at the end we look back and measure our successes and failures. This brings failures and areas to improve upon to the surface much quicker and ultimately keeps the team on track for the end goal. It also feels good to meet these goals (in exercise and software development), and it keeps the motivation high.</p>
<h3>High Five Those Who Are In It With You</h3>
<p>I have a habit now of reaching my hand out to high five other runners (strangers) I see on our path! Some respond and smile, some ignore me, but I will continue to do this. I also make it a point to high five those who exercise with me &#8211; at the end of a hard workout, and at the end of a week. A salute to their hard work, and a confirmation of my hard work.</p>
<p>I feel it&#8217;s a recognition of their dedication and effort, and it&#8217;s a motivation for me to keep up the hard work &#8211; if they can do it, so can I! I don&#8217;t mind those who don&#8217;t respond in this context &#8211; maybe they are very focused, or just afraid to touch a sweaty overweight guy. But I really enjoy those who do respond. It gives me a burst of energy to know that I can help someone else feel good about their accomplishments (and running at 6 am in Texas is an accomplishment at any distance!), and I hope it does the same for them. I also get energy from the fact that they are encouraging me as well.</p>
<p>I see this as the same thing as the task board, daily standups, and retrospectives in an agile project. It feels really good to move a task from backlog to in progress to completed. It feels really good to tell everyone about the accomplishment during the standup and receive typically very positive feedback. And at the end of the sprint, these things are recognized again in the retrospective. It all goes towards the idea that small accomplishments can be recognized and motivate the team to keep going. Even if I&#8217;m really tired from a hard workout, getting positive feedback in my daily standup gives me the strength to give it my all for that days work. And during the retrospective, we make it a point to highlight the positive efforts of the team and address the negatives.</p>
<h3>Fin</h3>
<p>So, those are my thoughts on exercise and agile! Now if only I could apply this to nutrition and agile, I&#8217;d really be rocking! Anyway, the next time someone does something that deserves a positive acknowledgement &#8211; in any part of your day &#8211; give them a smile and a high five! It may seem pretty goofy to high five (that&#8217;s old school cool right?) &#8211; my wife is constantly embarrassed when I do it with her &#8211; but I guarantee the person receiving and you will walk off with a hint of a smile on your face! <img src='http://dataplex.org/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://dataplex.org/blog/2011/07/motivation-a-high-five-in-agile-and-exercise/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Brain Dump Post</title>
		<link>http://dataplex.org/blog/2009/03/brain-dump-post/</link>
		<comments>http://dataplex.org/blog/2009/03/brain-dump-post/#comments</comments>
		<pubDate>Fri, 27 Mar 2009 14:36:33 +0000</pubDate>
		<dc:creator>dpx</dc:creator>
				<category><![CDATA[AgileBCS]]></category>
		<category><![CDATA[Consulting]]></category>
		<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://dataplex.org/blog/?p=171</guid>
		<description><![CDATA[I don&#8217;t have anything really planned for this post so I&#8217;m just gong to brain dump for a while. I could start with some interesting weather updates &#8211; it&#8217;s been raining. This is really good for our area and I think I&#8217;ll get out tomorrow (weather allowing) and burn some stuff I&#8217;ve had in the [...]]]></description>
			<content:encoded><![CDATA[<div class="al2fb_like_button"><div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=170888536311777&amp;xfbml=1" type="text/javascript"></script>
<fb:like href="http://dataplex.org/blog/2009/03/brain-dump-post/" layout="button_count" show_faces="true" width="450" action="like" font="arial" colorscheme="light" ref="AL2FB"></fb:like></div><div class="al2fb_send_button"><div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=170888536311777&amp;xfbml=1" type="text/javascript"></script>
<fb:send ref="AL2FB" font="arial" colorscheme="light" href="http://dataplex.org/blog/2009/03/brain-dump-post/"></fb:send></div><p>I don&#8217;t have anything really planned for this post so I&#8217;m just gong to brain dump for a while. I could start with some interesting weather updates &#8211; it&#8217;s been raining. This is really good for our area and I think I&#8217;ll get out tomorrow (weather allowing) and burn some stuff I&#8217;ve had in the back for a while.</p>
<p>I also attended<a href="http://refreshbcs.org"> RefreshBCS</a> last night and had a great time getting together with local entrepreneurs as well as some speakers from Austin. The speakers were from a company called <a href="http://www.techranchaustin.com">TechRanchAustin</a>, which totes itself as a business accelerator. They made the distinction between acceleration and incubation, which I found interesting. I also got a boatload of book recommendations &#8211; the best of which I think will be <a href="http://www.amazon.com/exec/obidos/ASIN/0887307280/bookstorenow57-20">The E-Myth Revisited</a>. Several people in the crowd had read it, and re-read it, and re-re-read it, and found insight each time. It must be good if it&#8217;s got that kind of capacity to affect business over a long term.</p>
<p>I&#8217;ve also been rushing to get some of my consulting projects wrapped up before the baby is born. My wife is having more and more contractions each day and having a harder time getting around and taking care of things. You too can try this at home &#8211; take a full sized watermelon (~ 6 lbs), tape it to your stomach, and walk around for an hour. I guarantee you&#8217;re going to be thankful it&#8217;s not you caring that around 24/7! I know I don&#8217;t help her as much as I could with the house and whatnot, but I&#8217;m trying to get our credit cards and other debts paid off before we take on the new baby.</p>
<p>Back to the consulting &#8211; I&#8217;ve been learning more new systems than I can throw a stick at. <a href="http://www.joomla.org/">Joomla</a>, <a href="http://wordpress.org/">WordPress Templating</a>, <a href="http://www.drupal.org">Drupal</a>, <a href="http://www.zend.com">Zend Framework</a>, <a href="http://www.ncover.com">NCover</a>, and a few more I&#8217;m forgetting I&#8217;m sure. Even with learning all these in and out I&#8217;ve been feeling like I&#8217;m neglecting other technologies and skillsets I cherish. I&#8217;ve been looking for a good way to keep my security skills up to date, but it is very difficult to stay on top of that.</p>
<p>I know and will always have a great foundation to build on here but the security industry as it is relies heavily on 0-day exploit knowledge. If you don&#8217;t know the exploits exist, how can you possibly protect against them? And if you concentrate on building security systems in depth for you products, how much does it end up costing you neglecting the product itself? This is something I&#8217;m struggling with currently and it&#8217;s getting the best of me at the moment. I have been balancing the projects I&#8217;m getting paid to do with the realization that I&#8217;m neglecting my business administration and my network administration. I&#8217;ts a terrible feeling. Anyone volunteer to help with this? <img src='http://dataplex.org/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>My motorcycle is still in the shop and they have ordered some new clutch plates for it. I&#8217;m wondering why the hell it&#8217;s taking so long &#8211; a bike shouldn&#8217;t be anywhere near complicated as a car. Especially the older ones that rely on good old nuts and bolts rather than computers and cooling systems. I&#8217;m hoping to get it back soon so I can grab a motorcycle permit up on campus and save a boatload on gas each month (again, weather permitting). The motorcycle permit costs $35/yr (with a primary vehicle permit already) and it would cost me about $5 every two weeks to fill it up. That&#8217;s in contrast to the old 2004 v6 Ford Ranger I&#8217;m driving around now which takes (at minimum) $20/week.</p>
<p>And finally, it&#8217;s with a sad heart that I have to say I shaved my beard. I had a good 2 weeks going on it and it was filling out nicely, but my wife really hated it. It was too short to get soft enough for her sensitive skin. We&#8217;ve made a compromise. When the baby is born, I can grow it out. I plan on documenting the process on my Picasa Web account.</p>
<p>Well, that&#8217;s it. By the way, all of this brain dumping idea was due to the book <a href="http://www.pragprog.com/titles/ahptl/pragmatic-thinking-and-learning">Pragmatic Thinking and Learning: Refactor Your Wetware</a>. Go get your copy (I have to return this one to the AgileBCS library and get my own)!</p>
]]></content:encoded>
			<wfw:commentRss>http://dataplex.org/blog/2009/03/brain-dump-post/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reusing Tools From Subversion Controlled Directories</title>
		<link>http://dataplex.org/blog/2009/02/reusing-tools-from-subversion-controlled-directories/</link>
		<comments>http://dataplex.org/blog/2009/02/reusing-tools-from-subversion-controlled-directories/#comments</comments>
		<pubDate>Sat, 21 Feb 2009 19:12:28 +0000</pubDate>
		<dc:creator>dpx</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[AgileBCS]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[reuse]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://dataplex.org/blog/?p=156</guid>
		<description><![CDATA[Sometimes I want to take a tool from one project that is under subversion and use it in another. The problem is with the existing .svn directories. Because the files are already in one repository, copying directly from there to another project will cause conflicts in the other repository. There are quick and easy ways [...]]]></description>
			<content:encoded><![CDATA[<div class="al2fb_like_button"><div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=170888536311777&amp;xfbml=1" type="text/javascript"></script>
<fb:like href="http://dataplex.org/blog/2009/02/reusing-tools-from-subversion-controlled-directories/" layout="button_count" show_faces="true" width="450" action="like" font="arial" colorscheme="light" ref="AL2FB"></fb:like></div><div class="al2fb_send_button"><div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=170888536311777&amp;xfbml=1" type="text/javascript"></script>
<fb:send ref="AL2FB" font="arial" colorscheme="light" href="http://dataplex.org/blog/2009/02/reusing-tools-from-subversion-controlled-directories/"></fb:send></div><p>Sometimes I want to take a tool from one project that is under subversion and use it in another. The problem is with the existing .svn directories. Because the files are already in one repository, copying directly from there to another project will cause conflicts in the other repository.</p>
<p>There are quick and easy ways to solve this in both Windows and Linux. To get around this in Windows copy the directory to a temporary folder and use Windows find to search the directory for &#8220;.svn&#8221; and delete all the directories it finds. From there just move the folder to the new project and add it to source control.</p>
<p>On Linux it is even easier. Copy the folder to a temporar location and run &#8220;find . -type d -name .svn -exec rm -rf {}\;&#8221; . This will delete all .svn directories. Then move the tool directory to your new project and add it to source control.</p>
]]></content:encoded>
			<wfw:commentRss>http://dataplex.org/blog/2009/02/reusing-tools-from-subversion-controlled-directories/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting Started with Basic Agile Development &#8211; The Technical</title>
		<link>http://dataplex.org/blog/2009/02/getting-started-with-basic-agile-development-the-technical/</link>
		<comments>http://dataplex.org/blog/2009/02/getting-started-with-basic-agile-development-the-technical/#comments</comments>
		<pubDate>Sat, 21 Feb 2009 04:11:00 +0000</pubDate>
		<dc:creator>dpx</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[AgileBCS]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[ant]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[NAnt]]></category>
		<category><![CDATA[nunit]]></category>
		<category><![CDATA[phpundercontrol]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[test driven development]]></category>

		<guid isPermaLink="false">http://dataplex.org/blog/?p=154</guid>
		<description><![CDATA[I recently helped a friend out with the technical side of going &#8220;agile&#8221;. This meant setting up some project source control and automation for build and test. I have a pretty advanced automation setup on most of my projects right now. It&#8217;s far from perfect (I don&#8217;t have nightly releases being tagged, etc), but it [...]]]></description>
			<content:encoded><![CDATA[<div class="al2fb_like_button"><div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=170888536311777&amp;xfbml=1" type="text/javascript"></script>
<fb:like href="http://dataplex.org/blog/2009/02/getting-started-with-basic-agile-development-the-technical/" layout="button_count" show_faces="true" width="450" action="like" font="arial" colorscheme="light" ref="AL2FB"></fb:like></div><div class="al2fb_send_button"><div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=170888536311777&amp;xfbml=1" type="text/javascript"></script>
<fb:send ref="AL2FB" font="arial" colorscheme="light" href="http://dataplex.org/blog/2009/02/getting-started-with-basic-agile-development-the-technical/"></fb:send></div><p>I recently helped a friend out with the technical side of going &#8220;agile&#8221;. This meant setting up some project source control and automation for build and test. I have a pretty advanced automation setup on most of my projects right now.  It&#8217;s far from perfect (I don&#8217;t have nightly releases being tagged, etc), but it gets the job done. But I sometimes forget how long it&#8217;s taken me to learn the lessons and get things set up correctly (AFAIK &#8211; I&#8217;m no expert). I may be missing a lot but I always try to improve what I&#8217;m doing and review it often for lessons learned.</p>
<p>As I said previously I had about 2 hours with my friend to set up an automated build, and teach him the virtues of Test Driven Development and Continuous Integration. We set up a project with a simple NAnt build file that had the basic targets &#8211; init, clean, compile, test, and build &#8211; and then got into some code with a 3 tier project (presentation, BLL, DAL) and a test project. This all went well and he caught on quickly which was nice. I sometimes have a hard time teaching things because the ideas are so ingrained into me that they are difficult to explain to others.</p>
<p>I raised a red flag with him because he was trying to introduce a lot of new technology at once. I asked him to really think about which technologies he wanted to implement and get started with. The obvious ones to start with are automated build (Ant/NAnt), unit testing (PHPUnit/NUnit), and Continuous Integration (phpUnderControl/CruiseControl.NET). Beyond this I asked him to wait until he was comfortable with these before adding things like an ORM he was unfamiliar with.</p>
<p>One of the worst things to do is jump into a new project with 100% new technologies that first have to be learned. We always want to play with the latest and greatest and there&#8217;s a good reason for many of them to exist. But taking on too much at once and not coming away with a good understanding of any of the technologies can also be harmful. Pick your new technologies for the value they will bring, not for the coolness factor.</p>
<p>The other side of this coin is that with a good automated build, testing, and continuous integration, later down the line it is much easier to introduce these new technologies that may have real benefits. Your code will be much more flexible, and your team will be much more comfortable switching out older technologies for new ones because the tests will tell the truth. And with a good source control setup, you can always branch new technology development and merge it later if the team deems it worthy enough to add into the mainline development.</p>
<p>I would like to write up a series of posts covering the very basics of the technical side of agile, with this post being the first. Agile development encompasses everything from technical issues  to management to customer interaction. It can be difficult to jump into without knowing the how or the why of each part. There are also several different ways to implement agile development. But it is often easy to start with simple and sound technical practices. A grass roots technical movement can have a great effect on changing a teams culture. And, it&#8217;s usually easier to ask for forgiveness than permission, and definitely easier to ask for it when your project is wildly successful because of some small steps taken in the right direction.</p>
<p>Another good way to get involved with agile development is to find a local user group or a development shop that may be willing to have regular meetings with you to show you the ropes and review what you&#8217;re doing. My office has been good about allowing me to do this through community training and user group interaction. Part of the reason for this is that my projects are on sound foundations and they value the fact that I don&#8217;t waste time developing terrible code&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://dataplex.org/blog/2009/02/getting-started-with-basic-agile-development-the-technical/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CodeKata Blog</title>
		<link>http://dataplex.org/blog/2009/02/codekata-blog/</link>
		<comments>http://dataplex.org/blog/2009/02/codekata-blog/#comments</comments>
		<pubDate>Sat, 14 Feb 2009 16:13:58 +0000</pubDate>
		<dc:creator>dpx</dc:creator>
				<category><![CDATA[AgileBCS]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[code dojo]]></category>
		<category><![CDATA[code kata]]></category>
		<category><![CDATA[peer programming]]></category>

		<guid isPermaLink="false">http://dataplex.org/blog/?p=148</guid>
		<description><![CDATA[A friend of mine recently mentioned the idea of doing a code dojo &#8211; getting together with other professional programmers and writing code to throw away. The code is not written to address any specific problem, but to teach everyone good programming practices. It&#8217;s great to know theory in computer science, but to practice it [...]]]></description>
			<content:encoded><![CDATA[<div class="al2fb_like_button"><div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=170888536311777&amp;xfbml=1" type="text/javascript"></script>
<fb:like href="http://dataplex.org/blog/2009/02/codekata-blog/" layout="button_count" show_faces="true" width="450" action="like" font="arial" colorscheme="light" ref="AL2FB"></fb:like></div><div class="al2fb_send_button"><div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=170888536311777&amp;xfbml=1" type="text/javascript"></script>
<fb:send ref="AL2FB" font="arial" colorscheme="light" href="http://dataplex.org/blog/2009/02/codekata-blog/"></fb:send></div><p>A <a href="http://geekswithblogs.net/rstackhouse">friend of mine</a> recently mentioned the idea of doing a code dojo &#8211; getting together with other professional programmers and writing code to throw away. The code is not written to address any specific problem, but to teach everyone good programming practices. It&#8217;s great to know theory in computer science, but to practice it is to embody and internalize it. The <a href="http://codekata.pragprog.com/">CodeKata blog</a> has several good posts about the idea. I&#8217;d be interested to hear from others about doing this &#8211; what outcomes did you have, or what would you like to see them address if we started one?</p>
]]></content:encoded>
			<wfw:commentRss>http://dataplex.org/blog/2009/02/codekata-blog/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Bring Out Your Extrovert</title>
		<link>http://dataplex.org/blog/2009/01/bring-out-your-extrovert/</link>
		<comments>http://dataplex.org/blog/2009/01/bring-out-your-extrovert/#comments</comments>
		<pubDate>Wed, 14 Jan 2009 14:06:20 +0000</pubDate>
		<dc:creator>dpx</dc:creator>
				<category><![CDATA[AgileBCS]]></category>
		<category><![CDATA[Social Networking]]></category>
		<category><![CDATA[user groups]]></category>

		<guid isPermaLink="false">http://dataplex.org/blog/?p=112</guid>
		<description><![CDATA[The guys at LifeHacker just put up a post about starting conversations with strangers. Now, I&#8217;m a pretty introverted guy &#8211; which actually helps me as a programmer look inside to find solutions to problems. But recently since I started consulting again I&#8217;ve had to find my extroverted side and start up those difficult conversations. [...]]]></description>
			<content:encoded><![CDATA[<div class="al2fb_like_button"><div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=170888536311777&amp;xfbml=1" type="text/javascript"></script>
<fb:like href="http://dataplex.org/blog/2009/01/bring-out-your-extrovert/" layout="button_count" show_faces="true" width="450" action="like" font="arial" colorscheme="light" ref="AL2FB"></fb:like></div><div class="al2fb_send_button"><div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=170888536311777&amp;xfbml=1" type="text/javascript"></script>
<fb:send ref="AL2FB" font="arial" colorscheme="light" href="http://dataplex.org/blog/2009/01/bring-out-your-extrovert/"></fb:send></div><p>The guys at <a href="http://lifehacker.com/">LifeHacker</a> just put up a post about <a href="http://lifehacker.com/5130253/take-the-fear-out-of-talking-to-strangers">starting conversations with strangers</a>. Now, I&#8217;m a pretty introverted guy &#8211; which actually helps me as a programmer look inside to find solutions to problems. But recently since I started consulting again I&#8217;ve had to find my extroverted side and start up those difficult conversations. I&#8217;ve found things like JellyBCS (<a href="http://www.facebook.com/pages/JellyBCS/49297321213">Facebook</a>, <a href="http://twitter.com/JellyBCS">Twitter</a>, and <a href="http://jelly.thecreativespace.org/">old fashion web</a>) and user groups (<a href="http://aggielanddnug.org/">.NET</a>, <a href="http://bcsphp.org/">PHP</a>, and <a href="http://groups.google.com/group/agilebcs">AgileBCS</a>) have helped with this.</p>
<p>My challenge for you is to start up conversations with at least 3 random people a week!</p>
]]></content:encoded>
			<wfw:commentRss>http://dataplex.org/blog/2009/01/bring-out-your-extrovert/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Project Estimation</title>
		<link>http://dataplex.org/blog/2008/09/project-estimation/</link>
		<comments>http://dataplex.org/blog/2008/09/project-estimation/#comments</comments>
		<pubDate>Fri, 12 Sep 2008 03:39:36 +0000</pubDate>
		<dc:creator>dpx</dc:creator>
				<category><![CDATA[AgileBCS]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[a]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[project estimation]]></category>

		<guid isPermaLink="false">http://dataplex.org/blog/?p=46</guid>
		<description><![CDATA[I have the luxury of working in an office that does not do cost recovery. We do, however, still have to give our clients time estimates from time to time. It helps us plan out our release cycles and give our customers some expectations. More often than not though, our &#8220;estimations&#8221; come from clients who [...]]]></description>
			<content:encoded><![CDATA[<div class="al2fb_like_button"><div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=170888536311777&amp;xfbml=1" type="text/javascript"></script>
<fb:like href="http://dataplex.org/blog/2008/09/project-estimation/" layout="button_count" show_faces="true" width="450" action="like" font="arial" colorscheme="light" ref="AL2FB"></fb:like></div><div class="al2fb_send_button"><div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=170888536311777&amp;xfbml=1" type="text/javascript"></script>
<fb:send ref="AL2FB" font="arial" colorscheme="light" href="http://dataplex.org/blog/2008/09/project-estimation/"></fb:send></div><p>I have the luxury of working in an office that does not do cost recovery. We do, however, still have to give our clients time estimates from time to time. It helps us plan out our release cycles and give our customers some expectations. More often than not though, our &#8220;estimations&#8221; come from clients who say they need a project done by x/x/xx because of factors a, b, and c.</p>
<p>I have seen a lot of talk within the <a title="AgileBCS Google Group" href="http://groups.google.com/group/agilebcs" target="_blank">AgileBCS group</a> about project estimation, and usually it ends with &#8220;yea&#8230;it&#8217;s a tough problem.&#8221; Indeed, it is, and usually every project seems to be unique in some way or another with regards to estimation.</p>
<p>Anyway, I ran across a reposted TechRepublic article today titled <a title="TechRepublic Article" href="http://blogs.techrepublic.com.com/tech-manager/?p=592&amp;tag=nl.e106" target="_blank">Estimate a project&#8217;s bottom line using top-down techniques</a>. The interesting thing about this article is that it was originally posted in June of 2001. A lot of the techniques are still in use and come with different names now, usually correlated to a specific methodology it promotes.</p>
<p>An interesting read and an interesting discovery that in business terms, tech projects really have not gone a really long way to becoming more accurate.</p>
]]></content:encoded>
			<wfw:commentRss>http://dataplex.org/blog/2008/09/project-estimation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Upcoming Presentation on PHP Unit Testing and Project Automation</title>
		<link>http://dataplex.org/blog/2008/09/upcoming-presentation-on-php-unit-testing-and-project-automation/</link>
		<comments>http://dataplex.org/blog/2008/09/upcoming-presentation-on-php-unit-testing-and-project-automation/#comments</comments>
		<pubDate>Wed, 10 Sep 2008 04:25:35 +0000</pubDate>
		<dc:creator>dpx</dc:creator>
				<category><![CDATA[AgileBCS]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[presentations]]></category>
		<category><![CDATA[unit testing]]></category>

		<guid isPermaLink="false">http://dataplex.org/blog/?p=38</guid>
		<description><![CDATA[I will be giving a presentation on PHP Unit testing on Thursday for the BCS PHP Users Group. I&#8217;m fairly new to the new PHP world (object oriented, well designed PHP apps), but my pursuit of pragmatic programming skills has led me to bring a lot of my .NET experience to the table as well. [...]]]></description>
			<content:encoded><![CDATA[<div class="al2fb_like_button"><div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=170888536311777&amp;xfbml=1" type="text/javascript"></script>
<fb:like href="http://dataplex.org/blog/2008/09/upcoming-presentation-on-php-unit-testing-and-project-automation/" layout="button_count" show_faces="true" width="450" action="like" font="arial" colorscheme="light" ref="AL2FB"></fb:like></div><div class="al2fb_send_button"><div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=170888536311777&amp;xfbml=1" type="text/javascript"></script>
<fb:send ref="AL2FB" font="arial" colorscheme="light" href="http://dataplex.org/blog/2008/09/upcoming-presentation-on-php-unit-testing-and-project-automation/"></fb:send></div><p>I will be giving a presentation on PHP Unit testing on Thursday for the <a title="BCS PHPUG" href="http://bcsphp.org/" target="_blank">BCS PHP Users Group</a>. I&#8217;m fairly new to the new PHP world (object oriented, well designed PHP apps), but my pursuit of pragmatic programming skills has led me to bring a lot of my .NET experience to the table as well. I&#8217;m going to be covering a broad range of topics and hopefully bring the audience into the mix as well.</p>
<p>My topics include PHP Unit testing with PHPUnit, project automation with Ant, and automated documentation generation using <a title="PhpDocumentor Homepage" href="http://www.phpdoc.org" target="_blank">PhpDocumentor</a>. I&#8217;m also going to introduce <a title="Php CodeSniffer Package" href="http://pear.php.net/package/PHP_CodeSniffer" target="_blank">Php CodeSniffer</a> for styling.</p>
<p><span id="more-38"></span></p>
<p>These topics, while being shown in a PHP environment, carry easily to other languages. In fact, projects such as <a title="Django Project Homepage" href="http://www.djangoproject.com" target="_blank">Django</a> incorportated a lot of the ideas I&#8217;m going to present directly into their programming environment. They even go a bit further and automate database synchronization and access.</p>
<p>My point for this blog post is this: good programming practices are not rooted in a specific language or methodology. They transcend language and become instilled as best practices for any project. And, I hope to see you there for the PHP presentation, because I&#8217;m really hoping to raise the bar for programmers in the area.</p>
]]></content:encoded>
			<wfw:commentRss>http://dataplex.org/blog/2008/09/upcoming-presentation-on-php-unit-testing-and-project-automation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Continuous Integration with PHPUnit and Friends</title>
		<link>http://dataplex.org/blog/2008/07/continuous-integration-with-phpunit-and-friends/</link>
		<comments>http://dataplex.org/blog/2008/07/continuous-integration-with-phpunit-and-friends/#comments</comments>
		<pubDate>Wed, 09 Jul 2008 02:37:24 +0000</pubDate>
		<dc:creator>dpx</dc:creator>
				<category><![CDATA[AgileBCS]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Continuous Integration]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[TDD]]></category>

		<guid isPermaLink="false">http://dataplex.org/blog/?p=11</guid>
		<description><![CDATA[Well I haven&#8217;t blogged lately and I thought I would throw something out there about my current efforts. I&#8217;ve been at work doing a lot of PHP stuff lately and I&#8217;ve been really unsatisfied with the setup I had. The code I&#8221;m working with is mostly legacy PHP 4 code, so I&#8217;m rewriting it using [...]]]></description>
			<content:encoded><![CDATA[<div class="al2fb_like_button"><div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=170888536311777&amp;xfbml=1" type="text/javascript"></script>
<fb:like href="http://dataplex.org/blog/2008/07/continuous-integration-with-phpunit-and-friends/" layout="button_count" show_faces="true" width="450" action="like" font="arial" colorscheme="light" ref="AL2FB"></fb:like></div><div class="al2fb_send_button"><div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=170888536311777&amp;xfbml=1" type="text/javascript"></script>
<fb:send ref="AL2FB" font="arial" colorscheme="light" href="http://dataplex.org/blog/2008/07/continuous-integration-with-phpunit-and-friends/"></fb:send></div><p>Well I haven&#8217;t blogged lately and I thought I would throw something out there about my current efforts. I&#8217;ve been at work doing a lot of PHP stuff lately and I&#8217;ve been really unsatisfied with the setup I had. The code I&#8221;m working with is mostly legacy PHP 4 code, so I&#8217;m rewriting it using PHP 5 OOP techniques. This includes a TDD approach using PHPUnit, a well though out project layout, and a simple shell script to run the test runner.</p>
<p>However, I have been looking for an even better solution. I&#8217;ve been experimenting a little on my own time with things such as <a title="Phing" href="http://phing.info/trac/">Phing</a>, <a title="Xinc" href="http://code.google.com/p/xinc/">Xinc</a>, <a title="phpUnderControl" href="http://www.phpundercontrol.org/about.html">phpUnderControl</a>, and CruiseControl. I&#8217;ve found a lot of good resources at <a title="Planet PHPUnit" href="http://planet.phpunit.de/">Planet PHPUnit</a>.</p>
<p>As I find a good solution to move code between development, staging, and production while designing with orthogonality in mind, I will post them here. Within 6 months I hope to have a seamless, repeatable process for developing PHP projects using truly agile methods.</p>
]]></content:encoded>
			<wfw:commentRss>http://dataplex.org/blog/2008/07/continuous-integration-with-phpunit-and-friends/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>First AgileBCS Meeting</title>
		<link>http://dataplex.org/blog/2008/06/first-agilebcs-meeting/</link>
		<comments>http://dataplex.org/blog/2008/06/first-agilebcs-meeting/#comments</comments>
		<pubDate>Wed, 25 Jun 2008 03:51:39 +0000</pubDate>
		<dc:creator>dpx</dc:creator>
				<category><![CDATA[AgileBCS]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[methodology]]></category>

		<guid isPermaLink="false">http://dataplex.org/blog/?p=5</guid>
		<description><![CDATA[Today was the first meeting of the AgileBCS group. About 12 people showed up, and I knew most of them from previous community events. I have noticed that people with a passion for development are typically the first and only ones to come to meetings like this. They are looking to share their successes in [...]]]></description>
			<content:encoded><![CDATA[<div class="al2fb_like_button"><div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=170888536311777&amp;xfbml=1" type="text/javascript"></script>
<fb:like href="http://dataplex.org/blog/2008/06/first-agilebcs-meeting/" layout="button_count" show_faces="true" width="450" action="like" font="arial" colorscheme="light" ref="AL2FB"></fb:like></div><div class="al2fb_send_button"><div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=170888536311777&amp;xfbml=1" type="text/javascript"></script>
<fb:send ref="AL2FB" font="arial" colorscheme="light" href="http://dataplex.org/blog/2008/06/first-agilebcs-meeting/"></fb:send></div><p>Today was the first meeting of the <a title="AgileBCS Google Group" href="http://groups.google.com/group/agilebcs" target="_blank">AgileBCS group</a>. About 12 people showed up, and I knew most of them from previous community events. I have noticed that people with a passion for development are typically the first and only ones to come to meetings like this. They are looking to share their successes in software development and learn from others who have had success as well.</p>
<p><span id="more-5"></span></p>
<p>It was a good meeting and I met a few people I can learn from and reminisced about working with a few of the others. I&#8217;m really interested in working with a few of the guys who have done Continuous Integration and automated deployment of PHP applications. I have a nice system &#8211; svn, NAnt, NUnit, CruiseControl.NET &#8211; that I use for .NET development, but the PHP world is now foreign to me and I&#8217;m really putting it to the test with the demands of an enterprise level development platform.</p>
<p>The meeting was very informal and I was rather disappointed that no one took charge and really opened up a topic to the whole group. As such, about 4 different groups split off conversations on everything from homebrewing beer to introducing customers to agile practices. I&#8217;m hoping that next meeting will have a focused purpose and will bring more value to the stated mission of the group.</p>
<p>We also decided to review <em>The Pragmatic Programmer</em> at the next meeting. I&#8217;m pretty excited about this, and my copy came in the mail today. After reading the preface and foreword, I am hooked. This looks like just the key to increasing my ability by learning successful habits and practices from other people&#8217;s experience. When all is said and done I hope to integrate the new knowledge into my every day learning and development as well.</p>
<p>So, I have hope that this group will become strong and will not die off like so many others I&#8217;ve recently been involved with. Development groups in this area are typically small and scattered and if they survive more than 2 or 3 meetings I would consider them a success. Here&#8217;s looking forward to another AgileBCS meeting!</p>
]]></content:encoded>
			<wfw:commentRss>http://dataplex.org/blog/2008/06/first-agilebcs-meeting/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

