<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Increasing Business and Technology Throughput</title>
    <link rel="alternate" type="text/html" href="http://bryancampbell.com/blog2/" />
    <link rel="self" type="application/atom+xml" href="http://bryancampbell.com/blog2/atom.xml" />
   <id>tag:bryancampbell.com,2008:/blog2/1</id>
    <link rel="service.post" type="application/atom+xml" href="http://bryancampbell.com/blog2-mt/mt-atom.cgi/weblog/blog_id=1" title="Increasing Business and Technology Throughput" />
    <updated>2008-08-13T17:46:03Z</updated>
    <subtitle>Real-world techniques to decrease the time to market and increase the quality of business technology solutions</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 3.2ysb5-20051201</generator>
 
<entry>
    <title>Does IT Matter (or how Agile is changing what IT means)</title>
    <link rel="alternate" type="text/html" href="http://bryancampbell.com/blog2/2008/08/does_it_matter_or_how_agile_is.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://bryancampbell.com/blog2-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=27" title="Does IT Matter (or how Agile is changing what IT means)" />
    <id>tag:bryancampbell.com,2008:/blog2//1.27</id>
    
    <published>2008-08-13T17:43:26Z</published>
    <updated>2008-08-13T17:46:03Z</updated>
    
    <summary>In 2003, Nicholas Carr wrote a seminal piece in the Harvard Business Review called Does IT Matter. As we round the corner on 2008, there are a number of trends that point to the fact that the traditional view of...</summary>
    <author>
        <name>Bryan Campbell</name>
        <uri>www.bryancampbell.com</uri>
    </author>
            <category term="Testing" />
    
    <content type="html" xml:lang="en" xml:base="http://bryancampbell.com/blog2/">
        In 2003, Nicholas Carr wrote a seminal piece in the Harvard Business Review called Does IT Matter. As we round the corner on 2008, there are a number of trends that point to the fact that the traditional view of IT is indeed changing and Agile techniques are a reflection of this.
        <![CDATA[When Nicholas Carr wrote <a href="http://www.nicholasgcarr.com/doesitmatter.html">Does IT Matter </a>in the Harvard Business Review in 2003 it had a seismic impact on how many CEOs looked at their IT investments. As it often the case with business trends, many in the IT industry were unaware of this article or the ideas that Carr wrote about, however, six years later these trends are becoming unmistakable. Carr basically described that IT as a strategic investment has diminished as open standards and shared infrastructure have reduced IT to a commodity necessary for competitiveness but not sufficient for advantage. <br /><br /><u><strong>Software As A Service</strong></u> <br />Since Carr wrote his piece alot has happened in the IT industry with many trends pointing to the accuracy of his assessment. <a href="http://en.wikipedia.org/wiki/Software_as_a_Service">Software as a Service </a>(SaaS) solutions, where an application is hosted by a company and users pay a subscription fee to use its features, are now available for almost every software product area. SaaS solutions are becoming part of every new technology assessment companies perform these days and companies like <a href="http://www.salesforce.com/">Salesforce.com </a>are showing they can be serious contenders to established vendors like Oracle and SAP who themselves now have SaaS solutions. The underlying premise of SaaS is that all companies basically use the same product configured for their specific needs. The benefits come from not managing the upgrade/support and enhancement/customization lifecycle that take up a large part of most IT organization budgets and time. Other benefits include the fact that SaaS solutions rely on <em>configuration </em>much of which can be performed by business users without much, if any, IT involvement and companies can easily increase (or decrease) their capacity without worrying about an ever depreciating investment in technology hardware/software. <br /><br /><u><strong>Managed Infrastructure Providers</strong></u> <br />This trend is also being seen with the rapid growth of hosted infrastructure services like those provided by companies like <a href="http://www.rackspace.com/">Rackspace </a>and <a href="http://www.theplanet.com/">thePlanet </a>which offer <a href="http://en.wikipedia.org/wiki/SAS_70#Type_I_and_Type_II_SAS_70_audit_differences">SAS 70 </a>Type II and <a href="http://infotech.aicpa.org/Resources/System+Security+and+Reliability/System+Reliability/Trust+Services/SysTrust/What+Are+Trust+Services+and+Why+Should+I+Get+Involved.htm">SysTrust</a> certifications, complete redundancy, business continuity and a range of other services that even the largest companies have a difficult time providing internally. With the advent of Web Services and XML encoded data transport methods over TCP/IP the ability to share information is increasingly becoming open, accessible and essentially free to any company regardless of size. <br /><br /><u><strong>Cloud Computing</strong></u> <br />The convergence of all of this appears to be coming in the form of Cloud Computing initiatives that <a href="http://www.wired.com/techbiz/it/magazine/16-05/mf_amazon">Amazon </a>and <a href="http://arstechnica.com/news.ars/post/20080729-microsoft-bets-on-cloud-computing-as-amazon-suffers-outage.html">Microsoft </a>are promoting. Cloud Computing introduces another evolution in the multi-tenant, hosted services market by introducing pay-by-transaction services for all of your data center and application needs. The nature of the cloud obscures to some degree the source of the service other than its service level and security obligations. Salesforce.com has a powerful example of this with its <a href="http://www.salesforce.com/appexchange/">AppExchange</a> which leverages the powerful Salesforce.com integration platform to connect applications with little, if any, code. As this model evolves, It will represent the final commoditization of IT functions and has the potential to make IT departments in companies as quaint as the electricity generating departments companies in late 1800s relied on. <br /><br /><u><strong>The Agile Advantage</strong></u> <br />So how does all of this relate to Agile? An interesting aspect of Agile practices is that they are all directed towards increasing business throughput, they have little to do with technology. Granted there are many effective agile engineering techniques such as Test Driven Development/Continuous Integration and Emergent Design but these essentially emphasize quality and effective architecture practices. Agile techniques focus on providing outcomes that yield the highest amount of business value through techniques like prioritization, collaboration and transparency. These agile concepts have helped support the move to the commodity oriented IT vision that Carr described in his article. <br /><br /><u><strong>The Future of IT and Agile</strong></u> <br />In ten years a number of the most forward thinking large organizations will cease to have IT departments in the form most of us our familiar with. The traditional network operations, application development and application support groups will have been absorbed in the types of models described above. I suspect many companies won't even describe these internal groups as &quot;IT&quot; anymore but as the<em><strong> Business Acceleration </strong></em>department or something similar. These groups will be experts in understanding the entire business value chain and will know how to align business processes to technology enablers. They will focus on risk mitigation and enhancing investment returns through contracts/partnerships and alliances with the technology providers that offer the best orchestration of services. However, all of the agile concepts I mentioned will continue to be leveraged and will be the real focus of these Business Acceleration departments of future organizations. <p>&nbsp;</p>]]>
    </content>
</entry>
<entry>
    <title>Using Twitter in an Agile Project Setting</title>
    <link rel="alternate" type="text/html" href="http://bryancampbell.com/blog2/2008/07/post_3.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://bryancampbell.com/blog2-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=26" title="Using Twitter in an Agile Project Setting" />
    <id>tag:bryancampbell.com,2008:/blog2//1.26</id>
    
    <published>2008-07-28T18:30:42Z</published>
    <updated>2008-07-28T18:53:20Z</updated>
    
    <summary><![CDATA[&nbsp; I came across Twitter in a discussion on LinkedIn a few months ago and recently wrote a blog entry on how it might support agile software development practices. However, I've only recently had a chance to explore its actual...]]></summary>
    <author>
        <name>Bryan Campbell</name>
        <uri>www.bryancampbell.com</uri>
    </author>
            <category term="Agile" />
            <category term="Project Management" />
    
    <content type="html" xml:lang="en" xml:base="http://bryancampbell.com/blog2/">
        <![CDATA[<img height="49" src="http://bryancampbell.com/images/twitter.gif" width="210" border="0" />&nbsp; I came across Twitter in a discussion on <a href="http://www.linkedin.com/answers/technology/software-development/TCH_SFT/209619-1077896?goback=%2Eama">LinkedIn </a>a few months ago and recently wrote a <a href="http://it.toolbox.com/blogs/agile-pm/leveraging-web-20-tools-like-twitter-and-pownce-on-agile-projects-24249">blog entry </a>on how it might support agile software development practices. However, I've only recently had a chance to explore its actual effect on a project. ]]>
        <![CDATA[<p>I'm currently the project manager for a global, content management implementation and I've been working with a colleague, Raul Pavon, on how to effectively communicate/colloborate with a team of developers and subject matter experts scattered across the globe and in almost every timezone. <br /><br />One requirement for this project from the executive sponsor was ensuring high degrees of visibility into project progress. We're applying a number of agile principles to support this goal but we were struggling on how best to 'scrum' on the goals we're trying to accomplish during each sprint. The challenge is that many of the team members are more than 8 hours out of alignment in terms of working hours, which made it logistically difficult to get everyone together at the same time. It occurred to me that Twitter might be a useful mechanism to understand what team members were working on and any roadblocks/issues they had encountered. I shared this idea with Raul who rapidly embraced it and we began to explore how to best leverage the tool. <br /><br />One aspect Raul immediately identified was that this moved the daily scrum process into a highly collaborative, real-time model that freed itself of the contraint of gathering a team together every 24 hours to update on progress. Using Twitter, the same scrum updates are being provided without the artificial delay of getting people together in a room and it's also much easier to extend this to a global context. Raul, who is about to get his Black Belt in <a href="http://en.wikipedia.org/wiki/Six_Sigma">6 Sigma </a>coined the term &quot;<strong>Lean Scrumming</strong>&quot; for what we were doing. We also discussed how this technique might also support a <a href="http://en.wikipedia.org/wiki/Swarm_intelligence">'swarm' theory</a> where the project team begins to form an collective awareness of group progress and adapts to priorities and obstacles by responding together (similar to a swarm of bees or school of fish moving in tight formation but in a fluid and adaptive direction). <br /><br />It's early in our experience with this technique but we wanted to share some initial experiences and see if we can harness perspectives/comments from other members of the community. Some suggestions on what we've learned so far: </p><ul><li><strong>Setup</strong>: Twitter itself took a few attempts to setup. It's a good practice to have someone guide each team member on how to configure their cell phone to receive the Twitter text messages. You also need to make sure each member has an SMS enabled phone (I doubt you can even buy phones without that feature these days) and a Text Messaging plan. </li><li><strong>Establish guidelines on what to send as an update</strong>. We're focusing on only project related tasks (we decided that knowing when someone goes to lunch or for a coffee wasn't that important) and issues/problems. This is a bit different from the social interaction aspect of these tools.</li><li><strong>Update regularly</strong>, every 2-4 hours is useful to keep an active pulse to the project. </li></ul><p>Some things we wish Twitter had:</p><ul><li><strong>More integration with task lists/project management tools</strong>. It would be nice if a team member could simply highlight a task in their Outlook task list and it would send a Twitter update. </li><li><strong>Contact groups</strong>. Currently you need to manually add someone in order to follow them, having a list so you can filter the types of messages would be useful. </li><li><strong>Intranet application</strong>. A version that ran inside a corporate firewall and authenticated to a corporate directory would be a big plus for wider corporate usage. </li></ul><p>We'll keep more posts coming on our experience and feel free to share comments and perspectives. </p>]]>
    </content>
</entry>
<entry>
    <title>Agile Thinkers</title>
    <link rel="alternate" type="text/html" href="http://bryancampbell.com/blog2/2008/07/agile_thinkers.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://bryancampbell.com/blog2-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=25" title="Agile Thinkers" />
    <id>tag:bryancampbell.com,2008:/blog2//1.25</id>
    
    <published>2008-07-03T14:18:41Z</published>
    <updated>2008-07-03T14:20:53Z</updated>
    
    <summary><![CDATA[One of the biggest challenges of Agile development is introducing its ideas and techniques beyond the project team using them.&nbsp; Project teams tpically see direct, and often immediate, benefits of using agile techniques but for those outside of the project...]]></summary>
    <author>
        <name>Bryan Campbell</name>
        <uri>www.bryancampbell.com</uri>
    </author>
            <category term="Agile" />
            <category term="Management" />
            <category term="Project Management" />
    
    <content type="html" xml:lang="en" xml:base="http://bryancampbell.com/blog2/">
        <![CDATA[<p><strong>One of the biggest challenges of Agile development is introducing its ideas and techniques beyond the project team using them.&nbsp; Project teams tpically see direct, and often immediate, benefits of using agile techniques but for those outside of the project it takes the right leadership and direction to enable agile adoption across the enterprise.</strong></p><p>&nbsp;</p>]]>
        <![CDATA[Recently a colleague and mentor at <a href="http://www.bmc.com/">BMC Software</a>, Israel Gat, was interviewed for <a href="http://www.agilethinkers.com/2008/06/q1---israel-gat.html">Agile Thinkers </a>regarding his experience in introducing agile techniques at BMC Software. It's an interesting article and provides a good overview of the 'success criteria' required to introduce agile approaches across a large organization. This is one of the more challenging aspects of managing agile projects since oftentimes there are other groups and stakeholders that don't have the same understanding or experiences with agile techniques. Without an effective organizational champion it can be difficult to extend agile beyond the project level which saps it of its real benefits which can be applied across an organizational's entire value chain. The Agile Thinkers blog collects first hand experiences from leaders who have been at the forefront of introducing agile techniques across their organizations. These experiences are invaluable in culling ideas on how to approach the common problems that often confront culture and organizational change. <br /><br />However, what particularly impressed me by the Agile Thinkers blog is it also draws upon agile thinkers that in my opinion see the next progression in agile development (a topic I covered on my personal blog called <a href="http://bryancampbell.com/blog2/2008/05/postagilism_the_next_wave.html#more">Post Agilism</a>). Authors and thinkers like <a href="http://www.agilethinkers.com/alistair_cockburn_qa/index.html">Alistair Cockburn</a>, <a href="http://www.agilethinkers.com/tom_gilb/index.html">Tom Glib</a> and the <a href="http://www.agilethinkers.com/qa_the_poppendiecks/index.html">Poppendiecks</a>, all see agile as focusing on 'business value' and emphasizing discipline and measurement to drive continuous improvements. All of these authors bring some refreshing pragmatism to agile development particularly those of us involved in managing these kinds of initiatives.]]>
    </content>
</entry>
<entry>
    <title>ABCs of SDLCs</title>
    <link rel="alternate" type="text/html" href="http://bryancampbell.com/blog2/2008/07/abcs_of_sdlcs.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://bryancampbell.com/blog2-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=24" title="ABCs of SDLCs" />
    <id>tag:bryancampbell.com,2008:/blog2//1.24</id>
    
    <published>2008-07-02T19:51:08Z</published>
    <updated>2008-07-02T20:30:28Z</updated>
    
    <summary><![CDATA[There is really no limit to the number of ways to create and customize an System Development LifeCycle and to some degree every organization and, to some degree, every project needs its own flavor of an SDLC.&nbsp; However, every SDLC...]]></summary>
    <author>
        <name>Bryan Campbell</name>
        <uri>www.bryancampbell.com</uri>
    </author>
            <category term="Management" />
    
    <content type="html" xml:lang="en" xml:base="http://bryancampbell.com/blog2/">
        <![CDATA[<p>There is really no limit to the number of ways to create and customize an System Development LifeCycle and to some degree every organization and, to some degree, every project needs its own flavor of an SDLC.&nbsp; However, every SDLC should address the following ABCs: </p>]]>
        <![CDATA[<p><strong>A - Adapt the Process:</strong>&nbsp; One size doesn't fit all, IT projects come in many shapes and sizes and its important to adapt the SDLC process to reflect the project's needs.&nbsp; This not only includes ensuring roles, activities and artifacts are adapted but even <a href="http://bryancampbell.com/blog2/2008/03/selecting_the_right_iteration.html" target="_blank">iteration length</a> and communication strategies.</p><p><strong>B - Balance Stakeholder's Priorities:</strong>&nbsp; Projects always have more than one stakeholder, the first stakeholder that springs to mind is the business sponsor but IT is often a stakeholder as it attempts to ensure that the project aligns with standards and architecture goals, Accounting is a stakeholder as it measures the costs and presumably the benefits associated with a project, there could be Regulatory stakeholders who need to ensure that specific rules are adhered to.&nbsp; Identify these stakeholders and ensure that their priorities are understood and balanced across the project.</p><p><strong>C - Collaboration Across Teams:</strong>&nbsp; One of the biggest failings of many projects is that teams don't work together, they simply create work products and 'hand them over the wall' to their counterparts.&nbsp; Foster collaboration through shared goals/objectives, facilitated meetings, tooling and where possible colocation.&nbsp; </p><p><strong>D - Demonstrate Value Iteratively:</strong>&nbsp; Rapid feedback is one of the most important ways to ensure that your project will deliver what its stakeholders need.&nbsp; Emphasize 'value' by showing working software over documents and meetings as quickly as possible.</p><p><strong>E - Elevate the Level of Abstraction:</strong>&nbsp; Often times projects get bogged down in the m<span style="font-size: 7.5pt; font-family: Verdana; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA">inutiae </span>of data tables, interfaces and technical design.&nbsp; Understanding the goals of the project and abstracting to different levels of detail will not only make the project more manageable but go a long way to ensuring buy-in and increasing communication.</p><p>Using these ABCs as principles to guide your SDLC can go a long way to increasing its adoption and improving its effectiveness as well as allowing you to accomplish the next step in sequence <strong>F - Fantastic!</strong></p>]]>
    </content>
</entry>
<entry>
    <title>Finding an IT Job during a Recession</title>
    <link rel="alternate" type="text/html" href="http://bryancampbell.com/blog2/2008/06/post_2.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://bryancampbell.com/blog2-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=23" title="Finding an IT Job during a Recession" />
    <id>tag:bryancampbell.com,2008:/blog2//1.23</id>
    
    <published>2008-06-26T14:53:55Z</published>
    <updated>2008-06-26T17:25:34Z</updated>
    
    <summary><![CDATA[Recently I had to find a new job and for the first time in my 20 year career I was moving not because I wanted to but because I 'had' to.&nbsp; To make matters worse, with a shrinking economy rising...]]></summary>
    <author>
        <name>Bryan Campbell</name>
        <uri>www.bryancampbell.com</uri>
    </author>
            <category term="Jobs" />
    
    <content type="html" xml:lang="en" xml:base="http://bryancampbell.com/blog2/">
        <![CDATA[Recently I had to find a new job and for the first time in my 20 year career I was moving not because I wanted to but because I 'had' to.&nbsp; To make matters worse, with a shrinking economy rising inflation and gas prices, IT is in the cross hairs of 'cost containment' strategies which translates into fewer jobs and&nbsp;longer hiring decisions.&nbsp; However, there are some strategies you can employ to find good jobs quickly and I thought I would share some of my experiences.]]>
        <![CDATA[<p>I've reviewed over a thousand&nbsp;resumes and interviewed hundreds of people in the consulting and management jobs I've had, I've also managed recruiting functions so I have a pretty good understanding on how the model works.&nbsp; To find a job you need a business approach and using a Product/Market/Sales model can greatly increase your odds of finding the right job for your skills and interests.&nbsp;</p><p><strong>Product</strong>:&nbsp; Obviously, you're the 'product' in this case and just like the decisions you make in a supermarket you want employers to see your 'product' in the best possible light.&nbsp; These days it takes more than a resume to stand-out. Here are some quick and relatively easy ways for an IT professional to stand out in the crowd:</p><ul><li><strong>Create a website</strong>:&nbsp; Hosting services for websites range from free to less than $10/month.&nbsp; I use yahoo which for $8.99/month gives me a WYSIWIG web publication tool, email addresses, blogs and FTP.&nbsp; Use a domain name that is professional and easy to remember.&nbsp;&nbsp;I use my own name (<a href="http://www.bryancampbell.com/">www.bryancampbell.com</a>).&nbsp; Avoid&nbsp;services that have 'nagware' or&nbsp;'click-through' advertising&nbsp;(like <a href="http://www.bravenet.com/">www.bravenet.com</a>, great for your cub scout site but not so good to land a six figure&nbsp;job).</li><ul><li>'Add value' to your website by uploading examples of work you've done or papers/presentations you've delivered.&nbsp; Use common sense and your judgement on any Intellectual Property issues.</li><li>Keep the website focused on only professional items.&nbsp; You can create sub-domains for your extensive matchbook collection but keep the focus of your website on its goal of finding you a job.</li></ul><li><strong>Create multiple versions of your resume</strong>.&nbsp; One size doesn't fit all and the same is true for&nbsp;resumes and jobs.&nbsp; I have IT Management,&nbsp;Project Management and Agile experience.&nbsp; I&nbsp;created resumes for each of these skills so I can better emphasize my experience for jobs that need them.</li><li><strong>Know what to emphasize</strong>:&nbsp; People reading your resume are looking at hundreds of others.&nbsp; They need to know <em>education</em>, <em>certifications</em>, <em>years of experience</em> and <em>skills</em>.&nbsp; Give them what they need in big letters at the top of your resume and in the 'overview/goals' section of your resume.&nbsp; Make sure you also have a lot of 'search' friendly references like product names, industry terms etc.&nbsp; These are the terms that will get your resume picked out from&nbsp;Google and job board searches, recruiters will then want to see how much experience and education/certifications you have.</li><li><strong>Learn Word/HTML</strong>:&nbsp; As you'll find out not everyone has the same version of Word and many job boards parse uploaded Word documents in very different (and frustrating) ways.&nbsp; </li><ul><li>Save your resume in Word 97-03 format for the greatest reach.&nbsp; </li><li>Make sure you 'view' your resume in a variety of layouts not just 'Print' layout, use Web Layout and also make sure you print your resume to make sure it doesn't exceed print margins etc.</li><li>If you're using a Mac be warned that about 0% of HR departments and recruiters use Macs, so make absolutely sure what you're sending can be opened in a Windows based Word machine.&nbsp; </li><li>Knowing some simple HTML skills will be very useful when uploading to the job boards, even &lt;b&gt;&lt;/b&gt; to emphasize job titles can help your resume stand out on a job board.</li><li>When creating your resume make sure you have your name and contact information on every page in the footer or header.&nbsp; You want it easy for someone to get a hold of you.</li><li>Cross-link back to your website with examples of work or publications.</li></ul></ul><p><strong>Market:&nbsp; </strong>Once you have your product ready you need to increase the eyeballs that see it.&nbsp; Obviously a website will quickly get you seeded into Google, Yahoo and Live but you'll want to turn to the big boards to get more specific views;</p><ul><li><strong>Job Boards:</strong>&nbsp; There are a lot of job boards available now but for an IT professional your best bets are Monster, Dice, Careerbuilder.&nbsp; Unfortunately each is going to require you to create a customized resumes specific to their sites and they parsing tools each of them use for uploaded resumes work completely differently.&nbsp; Careerbuilder is still in the 'stone-age' of requiring a text only resume but Monster and Dice let you upload HTML based resumes which you can format quite easily.&nbsp; All of these boards have premium services which help you stand-out from the crowd.&nbsp; I paid for a month-to-month subscription for all 3 of these services although I'm skeptical it helped much on the other hand for $10/month its not going to break the bank and you cancel at any time.&nbsp; From my experience, theLadders was next to useless (and I even paid for a premium subscription), hardly any resume views and sixfigurejobs.com (which might be owned by the same company) was similarly ineffective although they might be better for sales/marketing types of jobs.&nbsp; </li><li><strong>Business Networks</strong>:&nbsp; There are a lot of IT specific business network sites but the best from my experience is <a href="http://www.linkedin.com/">www.LinkedIn.com</a>.&nbsp; Create an account and ask some colleagues to give you an endorsement which provides recruiters some immediate references.&nbsp; Also, with your available time, scan the Q&amp;A section of LinkedIn and answer questions.&nbsp; This can not only extend your business network but if your answers are selected as &quot;Best Answers&quot; you get profiled on LinkedIn.&nbsp; Other sites include <a href="http://www.plaxo.com/">www.plaxo.com</a> and <a href="http://www.ittoolbox.com/">www.ittoolbox.com</a>. </li><li><strong>Join User Groups and Special Interest Groups</strong>:&nbsp; Take some time to explore websites that have communities of IT professionals and get active in their discussion forums.&nbsp; It's&nbsp;a great way to stay connected and learn.</li><li><strong>Create a Blog</strong>:&nbsp; Pretty well everyone has a blog these days and with some new-found time they can be a great way to demonstrate your skills/experience beyond what your resume shows.&nbsp; Personally I keep my blog factual and emphasize more objective, empirical topics but you can also use it to sound off about your opinions on IT direction and trends.&nbsp; Remember though your blog is a tool to help prospective employers better understand how you'll fit into their organization, keep a professional tone and make sure what you're publishing aligns with your job goals.</li></ul><p><strong>Sell</strong>:&nbsp; Now you have a product and you've marketed it, you need to sell it.</p><ul><li><strong>Create job agents</strong>:&nbsp; All of the job boards have the ability to create a search agent for&nbsp;the type of job and location you're interested in.&nbsp; Create a few of these and then build some message rules that will place these daily alerts into a directory in your email tool (otherwise you'll quickly fill your email up with&nbsp;these alerts).&nbsp; Also&nbsp;leverage some of the 'meta' search agents like <a href="http://www.simplyhired.com/">www.simplyhired.com</a> which searches all the boards for a specific job&nbsp;attributes.&nbsp;</li><li><strong>Apply/Apply/Apply</strong>:&nbsp; Be aware that those 'perfect'&nbsp;jobs you're going to see on the job boards are never quite what they appear to be.&nbsp; Most have been kicking around with different titles for months and quite a few get 're-branded' by recruiting agencies hoping to find a candidate that they can present to a company with a job opening.&nbsp; However, if you don't apply you won't get interviewed, so leverage the 'one-click' services that most of the job boards have and submit your resume frequently just temper your expectations.&nbsp; Think of this as your 'indirect sales channel', sort of like telesales.&nbsp; Relatively low hit rate but cheap and easy to manage.</li><li><strong>Reach Out to Your Network</strong>:&nbsp; Follow-up with your network letting them know you're available, you have a far better chance of finding a job through someone who knows you than via an emailed resume.&nbsp; You'd be surprised where your next job can come from so cast a wide net and keep your email short and to the point.&nbsp; Indicate you're in the process of a career transition and you're exploring opportunities, highlight your experience and skills and attach a copy of your resume. Don't expect anything and don't harass someone.</li><li><strong>Contact Headhunters/Recruiters</strong>:&nbsp; Recruiters make their money by placing people with companies, however, you also need to give them some confidence that you can present well and deliver what their clients want.&nbsp; The good news is that most of these recruiters have considerably more time that most employers to meet with you and learn about your background and experience.&nbsp; Phone local recruiting companies in your area and ask to speak to a recruiter who specializes in your area and then see if you can meet them for coffee.&nbsp; Remember its critical to make a good impression so come prepared, dress well and be professional, if they think you're someone they can make a placement fee from they'll be a lot more interested in promoting you.&nbsp; <a href="http://www.teksystems.com/">www.Teksystems.com</a> , <a href="http://www.yoh.com/">www.Yoh.com</a> are good national recruiting companies and there are local entities in every market that you can quickly google.&nbsp; Be prepared though that these organizations are opportunistic and even if you've had a good coffee/lunch with a recruiter you can't sit back and wait, they're simply another channel to expand your reach.</li></ul><p>So all of these tips will help you get your job search moving along, however, the final aspect is to <strong>monitor your progress and results</strong>.&nbsp; Your first week should be spent creating your resume, website and joining job boards/networks.&nbsp; From that point on you should spend at least two hours a day applying, emailing and posting blogs/forum messages.&nbsp; By your third week you should start expecting to meet with people and you should be getting at least one or two resume views a day on the job boards and on your website.&nbsp; At that point it's a bit like selling a house, if you get enough traffic eventually someone will make an offer.&nbsp; If you don't get enough traffic you need to start fine tuning your product/marketing and selling techniques.</p><p>The final pieces of advice I would offer would be is leverage some of your new time to catch-up on activities/tasks you have around the house but more importantly spend some quality with your family and friends.&nbsp; You might look back years from now and see that this was the longest vacation you've had so you might as well enjoy it!&nbsp; And like all things remember &quot;<em>Trust your own instinct.&nbsp; Your mistakes might as well be your own, instead of someone else's.&quot;</em></p><p><strong>Note:&nbsp; After two months I recently accepted a job with BMC Software Inc. after receiving&nbsp;four formal offers and countless emails, phone calls and coffees!</strong></p>]]>
    </content>
</entry>
<entry>
    <title>Taking Agile to the Next Level</title>
    <link rel="alternate" type="text/html" href="http://bryancampbell.com/blog2/2008/06/taking_agile_to_the_next_level.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://bryancampbell.com/blog2-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=22" title="Taking Agile to the Next Level" />
    <id>tag:bryancampbell.com,2008:/blog2//1.22</id>
    
    <published>2008-06-10T14:01:38Z</published>
    <updated>2008-06-11T14:38:42Z</updated>
    
    <summary><![CDATA[One of the biggest challenges facing agile development techniques is how to scale them to enterprise and global level initiatives that often have distributed teams, long delivery cycles, complex integrations and massive testing and training needs.&nbsp; While this can be...]]></summary>
    <author>
        <name>Bryan Campbell</name>
        <uri>www.bryancampbell.com</uri>
    </author>
            <category term="Agile" />
            <category term="Management" />
    
    <content type="html" xml:lang="en" xml:base="http://bryancampbell.com/blog2/">
        <![CDATA[<p>One of the biggest challenges facing agile development techniques is how to scale them to enterprise and global level initiatives that often have distributed teams, long delivery cycles, complex integrations and massive testing and training needs.&nbsp; While this can be challenging there are some approaches that can effectively scale agile techniques across the enterprise.</p>]]>
        <![CDATA[<p>Agile projects advocate small co-located teams working closely with customers to build software in short, iterative and incremental pieces.&nbsp; A large number of projects are very good fits for this type of development and, in general, keeping projects small and focused dramatically increases their liklihood of success.&nbsp; However, not all projects can be approached this way, some systems can have multiple customers, multi-year development lifecycles and global distribution requirements, others have heavy regulatory and testing requirements, all of them though can leverage some of the benefits of agile development. </p><p>When an agile project has more than two teams that are remotely distributed you need a different development model for managing and coordinating work.&nbsp; One approach is to implement a <strong>Feature Team</strong> approach which emphasizes small, co-located development teams working on well defined features which can be demonstrated in consistent iterations.&nbsp; To make this work you need a <strong>Program Team</strong> to manage consistency, quality and reporting between the Feature Teams and you also need an <strong>Architecture Team</strong> responsible for building components and frameworks that the Features Teams can use&nbsp;and to ensure a&nbsp;common, scalable architecture.&nbsp; An example framework can be seen below:</p><p align="center"><a href="http://www.bryancampbell.com/images/Agile_Program_Structure.jpg"><img title="Agile Program Structure" height="271" alt="Agile Program Structure" src="http://www.bryancampbell.com/images/Agile_Program_Structure.jpg" width="371" border="0" /></a>&nbsp;</p><p>This model implies several things.&nbsp;&nbsp;Agile techniques are emphasized at the Feature Team level&nbsp;while classic PMI project management knowledge areas (such as Scope/Risk/Change/Communication/Resource Management etc.) are managed at the Program level.&nbsp; It also implies&nbsp;that the agile concept of a single <a href="http://www.think-box.co.uk/blog/2005/08/being-effective-onsite-customer-or.html">'product owner'</a>&nbsp;is broadened to reflect that most large organizations have a collection of individuals with different responsibilities in assessing features and their priorities.&nbsp; The program team would work across the different stakeholder groups to define and prioritize features which implies that on larger agile programs/projects, the Feature teams are formed <em>after</em> the Program team has had an opportunity to lay the groundwork of high level requirements, architecture and overall resources.&nbsp; Although this might sound 'waterfall-ish' it actually reflects more of the tenets found in the Unified Process for the Inception phase which basically advocates a solid understanding of the scope, requirements and risks of a project at level just sufficient that you can begin building software against these attributes.</p><p>Obviously, there's a lot to this model and there are some good other sources you can turn to learn how to scale your agile projects.&nbsp; I presented a powerpoint on this topic last month called <a href="http://www.bryancampbell.com/Files/AgileUP_PM.ppt" target="_blank">Scaling Agile</a> and Philippe Krutchen has an excellent piece that explores this topic in more detail:&nbsp; <a href="http://bryancampbell.com/blog2-mt/Scaling%20down%20large%20projects%20to%20meet%20the%20agile%20sweet%20spot" target="_blank">Scaling Down Large Projects to meet the agile sweet spot</a>.</p><p>&nbsp;</p>]]>
    </content>
</entry>
<entry>
    <title>Agile Unified Process</title>
    <link rel="alternate" type="text/html" href="http://bryancampbell.com/blog2/2008/06/agile_unified_process.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://bryancampbell.com/blog2-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=21" title="Agile Unified Process" />
    <id>tag:bryancampbell.com,2008:/blog2//1.21</id>
    
    <published>2008-06-06T14:56:20Z</published>
    <updated>2008-06-06T15:35:50Z</updated>
    
    <summary>Agile development techniques emphasize a powerful value system that increase productivity and effectiveness of teams, however, they become even more powerful when blended with the full project lifecycle methodology of the Unified Process....</summary>
    <author>
        <name>Bryan Campbell</name>
        <uri>www.bryancampbell.com</uri>
    </author>
            <category term="Agile" />
            <category term="Management" />
            <category term="UP" />
    
    <content type="html" xml:lang="en" xml:base="http://bryancampbell.com/blog2/">
        <![CDATA[<p>Agile development techniques emphasize a powerful value system that increase productivity and effectiveness of teams, however, they become even more powerful when blended with the full project lifecycle methodology of the Unified Process.</p>]]>
        <![CDATA[<p>Managing software projects is one of the more complex endeavors within the IT discipline.&nbsp; Software development relies on individuals collaborating together and as anyone who has been following the recent US presidential nomination process knows this can be unpredictable, chaotic and exhausting.&nbsp; In addition, developing software often means tapping into the only truly infinite resource on the planet, the capacity of the human mind.&nbsp; While this allows for remarkable innovation it can also mean an unending number of requirements/features and enhancements.&nbsp; To address this complexity, projects have often relied on well defined processes and methodologies to guide and control these variables.&nbsp; Unfortunately, in the time it takes to document and follow these processes the market has changed and the project begins to spend more time on version control of its Word documents than it does with software code.&nbsp; It was for this reason that agile techniques began to emerge with their emphasis on collaboration, low ceremony processes, high quality engineering techniques.&nbsp;&nbsp;The backlash against more formal approaches meant many agilists abandoned or minimized the benefits of more formal methodologies as unnecessary or wasteful.</p><p>The reality is that you need both approaches to successfully manage complex software projects (and probably all projects for that matter).&nbsp; Effective project managers know that they need to address the project management knowledge areas defined by the <a href="http://en.wikipedia.org/wiki/Project_management">PMI</a> (Scope, Time, Cost, Resource Management etc) and in the context of a software project they also know they need to understand the business processes, requirements, architecture, code, testing and deployment necessary to create a software solution.&nbsp; One of the best sources for an abstracted, overarching software development process can be found in the <a href="http://en.wikipedia.org/wiki/Unified_Process">Unified Process</a> (which has many variants ranging from <a href="http://en.wikipedia.org/wiki/IBM_Rational_Unified_Process">RUP</a> to <a href="http://epf.eclipse.org/wikis/openup/" target="_blank">OpenUP</a> to <a href="http://www.ivarjacobson.com/products/essup.cfm" target="_blank">EssUP</a>), it provides a natural container for the values/engineering practices of the agile techniques that strengthens their effect.&nbsp; Since the Unified Process also contains all of the knowledge areas of PMI it means you can truly get a lightweight, comprehensive, full project lifecycle methodology by blending these techniques together.</p><p>To get a better sense of how to blend Agile and the Unified Process together, I've put together a powerpoint set of slides that provide some more detail and offer some real-world examples.&nbsp; You can find these slides at <a href="http://www.bryancampbell.com/Files/AgileUP_PM.ppt">http://www.bryancampbell.com/Files/AgileUP_PM.ppt</a>.</p>]]>
    </content>
</entry>
<entry>
    <title>Great Walls of Wonder</title>
    <link rel="alternate" type="text/html" href="http://bryancampbell.com/blog2/2008/06/great_walls_of_wonder.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://bryancampbell.com/blog2-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=20" title="Great Walls of Wonder" />
    <id>tag:bryancampbell.com,2008:/blog2//1.20</id>
    
    <published>2008-06-02T15:08:17Z</published>
    <updated>2008-06-02T16:03:59Z</updated>
    
    <summary><![CDATA[For small, co-located&nbsp;development teams the use of 'information radiators' that illustrate status and progress can be very effective and low cost mechanisms to increase velocity and throughput.&nbsp; One approach is to create a Wall of Wonder using task cards written...]]></summary>
    <author>
        <name>Bryan Campbell</name>
        <uri>www.bryancampbell.com</uri>
    </author>
            <category term="Agile" />
    
    <content type="html" xml:lang="en" xml:base="http://bryancampbell.com/blog2/">
        <![CDATA[For small, co-located&nbsp;development teams the use of 'information radiators' that illustrate status and progress can be very effective and low cost mechanisms to increase velocity and throughput.&nbsp; One approach is to create a <strong>Wall of Wonder</strong> using task cards written on ordinary index cards.]]>
        <![CDATA[<p><img title="Development team with a Wall of Wonder behind them" height="213" alt="Development team with a Wall of Wonder behind them" src="http://www.bryancampbell.com/sitebuilder/images/Project_Team-553x367.jpg" width="308" border="0" /></p><p>I recently wrote an article on <a href="http://blogs.ittoolbox.com/pm/agile/archives/card-cards-everywhere-a-card-24706" target="_blank">ITToolbox.com</a> about the use of Cards in agile oriented development projects.&nbsp; In describing the use of task management cards I referenced the term &quot;Wall of Wonder' which resulted in a number of emails asking for more information about this technique.&nbsp; Essentially, a <a href="http://www.bryancampbell.com/WallofWonder.htm" target="_blank">Wall of Wonder</a> reflects some of Alistair Cockburn's <a href="http://www.amazon.com/Agile-Software-Development/dp/0201699699" target="_blank">writing</a> about creating <a href="http://alistair.cockburn.us/index.php/Information_radiators" target="_blank">information radiators</a> to convey project status that can be easily understood, changes frequently and is visibile to the team and other stakeholders (in XP parlance these are know as <a href="http://www.xprogramming.com/xpmag/BigVisibleCharts.htm" target="_blank">Big Visible Charts</a>).&nbsp; There are many ways to accomplish this from posting project burndown, defects, issues and stories to having green and red lava lamps that show the status of the latest CI build.&nbsp; All of these techniques serve the purpose of lifting information about the project out of databases and proprietary tools like MS Project/Primavera/ReqPro/etc into the 'visual domain' where they act as a scoreboard to help project teams focus on the right outcomes.</p><p>A Wall of Wonder is a visual information radiator that software development teams use to manage their tasks and activities during&nbsp;an iteration.&nbsp; The Wall of Wonder is a highly tactile and visible tool that requires very little in the way of infrastructure or training to implement.&nbsp; The Wall of Wonder reflects activities and tasks associated with your iteration and to convey this, index cards are used.&nbsp;&nbsp; One reason, index cards are so useful in managing complex software development processes is because they're so simple.&nbsp; Index cards are readily available (I've personally driven to many Office Depots to grab cards prior to facilitating planning sessions at client sites), they require little in the way of training, they're highly tactile and they're inexpensive.&nbsp; </p><p>One of the most telling benefits of the Wall of Wonder and leveraging Task Cards is the level of collaboration and engagement that occurs. The cards themselves are an invitation to 'have a conversation' about a feature or requirement, similar to that advocated by <a href="http://www.xprogramming.com/xpmag/expCardConversationConfirmation.htm">Ron Jefferies</a>. Enough information is available on the cards to prioritize and assign work but not so much that a developer will know exactly how to realize the functionality on the card.&nbsp; Another benefit of the cards is that different roles can work together to ensure that all the work on a card is completed.&nbsp; On many of the projects that I have managed the final test of completeness was having a tester walk through the code with a developer to ensure it worked to its specifications and was appropriately documented.&nbsp; The tester was armed with the <strong>Red Marker</strong> and when satisfied that a card was complete would 'approve' it with a mighty swipe of the marker.&nbsp; Developers who claimed they had completed their task card but didn't have the 'official' red marker check were quickly reminded that they weren't really done.&nbsp; The cards also became a fun way to show progress and bring some friendly competition into the development lifecycle.&nbsp; One of the developers on a project I managed once completed five cards in a single day, from that point on he was nicknamed <em>'Five Card'</em>, a name that persisted for several years after the project! </p><p>If this topic sound interesting, I've written a more detailed overview of a real world example of a Wall of Wonder on my <a href="http://www.bryancampbell.com/WallofWonder.htm" target="_blank">website</a>.&nbsp; I'd be interested in hearing more about how others are using Visual Radiators or Walls of Wonders on their projects, so if you have examples or ideas feel free to share them.</p>]]>
    </content>
</entry>
<entry>
    <title>Card, Cards, Everywhere a Card!</title>
    <link rel="alternate" type="text/html" href="http://bryancampbell.com/blog2/2008/05/card_cards_everywhere_a_card.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://bryancampbell.com/blog2-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=19" title="Card, Cards, Everywhere a Card!" />
    <id>tag:bryancampbell.com,2008:/blog2//1.19</id>
    
    <published>2008-05-16T14:25:51Z</published>
    <updated>2008-06-01T22:50:22Z</updated>
    
    <summary><![CDATA[Agile development techniques leverage cards in a variety of ways.&nbsp; Tools for estimating, placeholders for conversations even task management devices.&nbsp; This is a quick exploration of the many ways in which cards can be leveraged in an Agile Development project....]]></summary>
    <author>
        <name>Bryan Campbell</name>
        <uri>www.bryancampbell.com</uri>
    </author>
            <category term="Project Management" />
    
    <content type="html" xml:lang="en" xml:base="http://bryancampbell.com/blog2/">
        <![CDATA[Agile development techniques leverage cards in a variety of ways.&nbsp; Tools for estimating, placeholders for conversations even task management devices.&nbsp; This is a quick exploration of the many ways in which cards can be leveraged in an Agile Development project.]]>
        <![CDATA[<p>If you've been using agile techniques in your development process at some point you've come across the use of 'cards'.&nbsp; Mike Cohn and his company, <a href="http://bryancampbell.com/blog2-mt/wwww.mountaingoatsoftware.com" target="_blank">Mountain Goat Software</a>, have introduced the idea of a <a href="http://bryancampbell.com/blog2-mt/www.planningpoker.com" target="_blank">Planning Poker</a> game to assist in estimating effort.&nbsp; Ron Jefferies emphasizes the 3 Cs, <a href="http://www.xprogramming.com/xpmag/expCardConversationConfirmation.htm" target="_blank">Card/Conversation/Confirmation</a> , as a mechanism to manage requirements and facilitate business stakeholder/developer collaboration.&nbsp; David McLean recently created an online version of this tool at his website, <a href="http://www.cardconversationconfirmation.com/">www.cardconversationconfirmation.com</a>.&nbsp; I've consistently used cards as a task management tool to manage work and provide a <a href="http://leansoftwareengineering.com/2007/08/29/kanban-systems-for-software-development/" target="_blank">kanban</a> style&nbsp;mechanism of&nbsp;identifying priorities and provide a visual radiator on progress.&nbsp; All of these techniques use basic index cards (although these days you can get quite a bit fanicer with <a href="http://www.crisp.se/planningpoker/" target="_blank">custom planning poker cards</a>).</p><p>One reason, index cards are so useful in managing complex software development processes is because they're so simple.&nbsp; Index cards are readily available (I've personally driven to many Office Depots to grab cards prior to facilitating planning sessions at client sites), they require little in the way of training, they're highly tactile and they're inexpensive.&nbsp; </p><p>A frequent response to complex problems like software development is to find a comprehensive 'solution' to manage all of the myriad complexities that get introduced with writing software.&nbsp; Features like&nbsp;a &quot;database of requirements with an index of attributes&quot;, a detailed history of&nbsp;estimates, forecasts and actuals, versioning of every change made to a requirements by author and time... the list goes on.&nbsp; Solutions like Requisite Pro, Doors and Caliber RM all come to mind.&nbsp; All of these features have merit and there are legitimate times when a project might require some of them.&nbsp; However, in most software development efforts the most important goal is creating working software.&nbsp; Index cards become one of the most valuable tools for managing this process.&nbsp; </p><p>This might sound heretical for a project manager but on many of my projects I didn't spend much time analyzing estimates and actuals.&nbsp; At the end of an iteration I simply gathered all the completed cards, put an elastic band around them and they became another brick in the wall of our software development process.&nbsp; If someone wanted to know what had been done from one iteration to another, I would weigh the two bricks in my hands and offer an assessment on whether velocity was increasing or not.&nbsp; My focus was on enabling the teams and increasing their productivity.</p><p>Cards also have other uses.&nbsp; A colleague of mine once said that at his software development company they used the the old cards from previous iterations and projects to wallpaper their meetings rooms.&nbsp; I'd like to see someone do that with ReqPro!</p>]]>
    </content>
</entry>
<entry>
    <title>Energize your Retrospectives</title>
    <link rel="alternate" type="text/html" href="http://bryancampbell.com/blog2/2008/05/energize_your_retrospectives.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://bryancampbell.com/blog2-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=18" title="Energize your Retrospectives" />
    <id>tag:bryancampbell.com,2008:/blog2//1.18</id>
    
    <published>2008-05-02T20:18:16Z</published>
    <updated>2008-06-01T22:50:22Z</updated>
    
    <summary><![CDATA[A well defined practice of agile projects is to conduct a retrospective at the end of each iteration.&nbsp; These support continuous improvement and most projects eagerly embrace the idea.&nbsp; Unfortunately, they can quickly lose their effectiveness when they become boring...]]></summary>
    <author>
        <name>Bryan Campbell</name>
        <uri>www.bryancampbell.com</uri>
    </author>
            <category term="Project Management" />
    
    <content type="html" xml:lang="en" xml:base="http://bryancampbell.com/blog2/">
        <![CDATA[A well defined practice of agile projects is to conduct a retrospective at the end of each iteration.&nbsp; These support continuous improvement and most projects eagerly embrace the idea.&nbsp; Unfortunately, they can quickly lose their effectiveness when they become boring or predictable.&nbsp; If your retrospectives are running out of steam try these techniques to re-energize your retrospectives.]]>
        <![CDATA[<p>Agile development emphasizes continuous improvement along the lines of the Japanese concept of <a href="http://en.wikipedia.org/wiki/Kaizen" target="_blank">Kaizen</a> which focuses on improving the entire process and its end results.&nbsp; One of the most important aspects of these Agile techniques is the <strong>Retrospective</strong>.&nbsp; Retrospectives are intended to gather the entire team (including product owners and even sponsors) together to discuss what went well and what could be improved for the next iteration.&nbsp; The intent is to provide a safe opportunity for all team members to share their perspective on what's working and what's not.&nbsp; For most agile project participants this can be very empowering and it introduces a powerful communication and collaboration technique to enable teams to increase productivity and take pride in their work.</p><p>Unfortunately, most teams get little direction or support beyond the idea of having a retrospective at the end of their iterations.&nbsp; Generally, they start well but over several iterations attendance of product owners start to dwindle, many of the same problems get revisited every retrospective, the sessions either become rife with highly charged/emotional discussions or get bogged down in unactionable or questionable value problem areas (&quot;We need more snack food in the room&quot;).</p><p>A big reason for these problems is that the teams don't receive any guidance or support in running their retrospectives.&nbsp; Here are some tips on keeping your retrospectives working smoothly:</p><ol><li><div align="left"><strong>Establish a facilitator for your retrospective</strong>: This person should have experience and training in facilitation and understand how to maintain the right level of energy in a retrospective.&nbsp; There is a wealth of information on effective facilitation techniques but a good book on the topic is <a href="http://www.amazon.com/Agile-Retrospectives-Making-Teams-Great/dp/0977616649" target="_blank">Agile Retrospectives: Making Good Teams Great</a> by Larsen/Darby and Schwaber.&nbsp; You can review a Google Tech Talk presentation on <a href="http://www.youtube.com/watch?v=qqtPZYigfNI">YouTube</a>.</div></li><li><strong>Give your retrospectives 'themes'</strong>:&nbsp; After the initial excitement of the first few iterations most teams can benefit from having a focus area for their retrospective.&nbsp; Topics like &quot;How Can We Improve Our Teamwork&quot; or &quot;How Can We Increase Code Quality&quot; help focus discussions and can break out of the 'We've discussed this before&quot; syndrome that can accompany retrospectives.</li><li><strong>Get participants engaged</strong>:&nbsp; One key to re-energize your retrospectives is to get participants moving and participating.&nbsp; Have team members write sticky notes with improvement suggestions and put them on whiteboards.&nbsp; Have the team spend time moving the stickies into categories.&nbsp; Use the&nbsp;<a href="http://www.freechild.org/Firestarter/Fist2Five.htm" target="_blank">Fist of Five</a> to facilitate voting on these techniques.</li><li><strong>Change things up</strong>:&nbsp; If your retrospectives are losing their energy and benefits, try moving them to a different location.&nbsp; Holding one outside on a nice day or have a Build a Sundae theme with some ice-cream and condiments can re-establish interest levels.</li></ol><p>These are only a starting point for re-energizing your retrospective and there are lots of good blogs like <a href="http://blog.viocity.com/blog" target="_blank">David McLean's</a> which offer advice and suggestions. I'd be interested in hearing how others are managing their retrospectives too.</p>]]>
    </content>
</entry>
<entry>
    <title>Post-Agilism: The Next Wave</title>
    <link rel="alternate" type="text/html" href="http://bryancampbell.com/blog2/2008/05/postagilism_the_next_wave.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://bryancampbell.com/blog2-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=17" title="Post-Agilism: The Next Wave" />
    <id>tag:bryancampbell.com,2008:/blog2//1.17</id>
    
    <published>2008-05-01T06:27:36Z</published>
    <updated>2008-07-04T16:42:43Z</updated>
    
    <summary>Agile software development has existed in some form for almost ten years and while it&apos;s awareness and benefits are gaining greater market acceptance it&apos;s also becoming clear that Agile itself does not provide any better answers that the ideas that...</summary>
    <author>
        <name>Bryan Campbell</name>
        <uri>www.bryancampbell.com</uri>
    </author>
            <category term="Management" />
    
    <content type="html" xml:lang="en" xml:base="http://bryancampbell.com/blog2/">
        <![CDATA[<p>Agile software development has existed in some form for almost ten years and while it's awareness and benefits are gaining greater market acceptance it's also becoming clear that Agile itself does not provide any better answers that the ideas that had proceeded it.&nbsp;&nbsp;In fact, the time has come to start thinking of <strong>Post-Agilism</strong> and the next wave of ideas and approaches that will prepare and support software development into the future.</p>]]>
        <![CDATA[<p>I presented a topic to the Houston Rational Users Group the other night on <a href="http://www.bryancampbell.com/Opinions/Scaling_Agile.ppt" target="_blank">Scaling Agile</a>.&nbsp; As I prepared for the presentation and afterwards discussed with several colleagues our experience with agile and software development it became clear that a&nbsp;new movement in software development is starting to form.</p><p>For the last 20 years my career has involved software development (in fact if I include all of the software development I completed on my Apple II e/c in High School you could say I have close to 25 years of software development experience!).&nbsp; The last 8 years has been focused on iterative development techniques and what is now widely described as Agile.&nbsp; I came to my understanding of software development and IT in general steeped in a tradition of large process frameworks from the <a href="http://www.pmi.org/" target="_blank">PMI</a>/<a href="http://www.sei.cmu.edu/cmmi/">SEI</a> and <a href="http://www-306.ibm.com/software/awdtools/rup/" target="_blank">RUP</a>.&nbsp; I leanred and applied the <a href="http://www.zifa.com/" target="_blank">Zachman Framework</a> in my early Enterprise Architecture efforts and eagerly absorbed&nbsp;the <a href="http://en.wikipedia.org/wiki/VEE_model" target="_blank">V-Model</a> as a mechanism to manage projects and their complexities.&nbsp; As a project manager, these tools and techniques were invaluable in understanding how to manage the myriad of complex parts that comprise a large project.&nbsp; My early experiences in project management involved introducing time-boxed, iterations and techniques like Domain Modeling and System Sequence Diagrams.&nbsp;</p><p>In 2001 I had an opportunity to apply XP to a project and became familiar with terms like <a href="http://en.wikipedia.org/wiki/YAGNI">YAGNI</a> - Ya Ain't Gonna Need It, Design Patterns, Unit Testing and paired programming.&nbsp; Later I leveraged story cards to manage tasks and established Information Radiators to provide visibility, I saw the benefits of Test Driven Development and Continuous Integration.&nbsp;&nbsp;I read about Scrum and leveraged Daily Stand-ups, introduced burn-down charts and began to leverage retrospectives with my projects.&nbsp; About three years ago I started introducing Executable Requirements (Fit/Fitnesse) into projects and Feature Driven development,&nbsp; All of these techniques were valuable and over the years I've been able to refine most of them through practical experience.</p><p>However, I applied all of these techniques within the context of a larger project management framework.&nbsp; Classic PMP components like budget management, communication, and resourcing needed to come from somewhere,&nbsp; Deployments required coordination with other projects and release windows.&nbsp; Government standards like HIPPA or SOX had to be addressed while also ensuring that integration testing was coordinated with other systems and sometimes other organizations.&nbsp; I learned early on that not receiving early involvement from Enterprise Architecture teams and Network Operations could delay a project more than not getting well defined requirements.&nbsp; The Unified Process helped me manage risk across project phases and structure work across disciplines with roles and responsibilities.&nbsp; The agile techniques I mentioned above seamlessly integrated into these broader models and the results were tangible.</p><p>This is the new face of Agile as I see it, an agile that embraces the value system of the Agile community but within the context and realities of getting something done in large enterprise organizations.&nbsp; In the least few years though, I've come across a number of agile experts (or agilistas) who have 8 to 10 years of experience in agile techniques but little awareness (even at the broadest levels) of discplines outside of Design and Implementation.&nbsp; I'm frequently surprised at the level of dogma that surrounds their interpretation of Agile and the lack of tolerance for anything outside of the realm of Design and Implementation.&nbsp; Most have little appreciation for different roles on a project let alone artifacts or awareness of different stakeholder needs.&nbsp; Increasingly agile is becoming a marketing term and it's being leveraged to justify poor work habits and an exclusively developer centric perspective on building software.&nbsp; </p><p>I'm not alone in these observations and I've noticed others starting to write aobut Post-Agilism like <a href="http://www.kohl.ca/blog/archives/000184.html" target="_blank">Jonathan Kohl</a> and <a href="http://www.itarchitect.co.uk/articles/display.asp?id=280" target="_blank">Jason Gorman</a>.&nbsp; Philippe Krutchen recently wrote a very interesting piece called <a href="http://www.acmqueue.org/modules.php?name=Content&amp;pa=showpage&amp;pid=501&amp;page=1" target="_blank">Voyage in the Agile Memeplex</a> which discusses agile as a culture and the effects this has on software development and effective communication.</p><p>It's time to once again start looking at software development as an engineering discipline, one that requires a balanced perspective which leverages the experience of the past with the new ideas of the future.&nbsp; Post-Agilism is already underway and it's time for the industry to begin adopting these ideas.</p><p>&nbsp;</p>]]>
    </content>
</entry>
<entry>
    <title>Iteration Planning Template</title>
    <link rel="alternate" type="text/html" href="http://bryancampbell.com/blog2/2008/04/iteration_planning_template.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://bryancampbell.com/blog2-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=15" title="Iteration Planning Template" />
    <id>tag:bryancampbell.com,2008:/blog2//1.15</id>
    
    <published>2008-04-29T16:01:34Z</published>
    <updated>2008-06-01T22:50:22Z</updated>
    
    <summary>A good template can make planning your iterations and overall release a lot easier.  </summary>
    <author>
        <name>Bryan Campbell</name>
        <uri>www.bryancampbell.com</uri>
    </author>
            <category term="Design" />
            <category term="Management" />
            <category term="Project Management" />
    
    <content type="html" xml:lang="en" xml:base="http://bryancampbell.com/blog2/">
        <![CDATA[<p><img title="Iteration Routemap Example" height="188" alt="Iteration Routemap Example" src="http://www.bryancampbell.com/images/Iteration_RouteMap.JPG" width="594" border="0" /></p><p>I recently updated a template on my website that I frequently use when either leading iterative development projects or coaching project managers on effective iterative development techniques called the <strong><a href="http://www.bryancampbell.com/Files/Project_Iteration_Routemap.xls">Iteration RouteMap</a></strong>.&nbsp; The word 'routemap' comes from a South African colleague who used the 'king's english' and insisted that the term routemap was more appropriate than roadmap, the name's stuck ever since!</p><p>As far as templates go this one is really quite lightweight, however, there are several key concepts that are important when managing projects in general and iterative projects in particular.&nbsp; The first is using a mechanism to determine <strong>how to size effort</strong>.&nbsp; I typically look at this from the perspective of size and complexity (which is usually a good indication of risk).&nbsp; Large and complex work items should be started early in the project lifecycle.&nbsp; I also estimate using <strong>Perfect Engineering Days</strong> (PEDs), this illustrates how long something <em>should</em> take without interuptions, well defined requirements and all of the other components that can impact how long it <em>actually</em> takes.&nbsp; A <strong>Load</strong> <strong>Factor</strong> is then used to convert PEDs into a realistic estimate.&nbsp; The Load Factor <span>reflects the productivity of the project and is typically between '2' and '5'.&nbsp; A '<span>5' reflects a programming language that is either new to the development team or difficult to work with (such as Visual Basic 4/5 within an object oriented development environment).<span>&nbsp; </span>2 is usually only achieved when the development team has been working on a project for an extended period of time, usually near the latter iterations of the project (when development complexity should be lower).</span></span>&nbsp;It should be noted that as you actually get some iterations completed you can start substituting the <strong>Velocity</strong> of your development for the Load Factor.&nbsp; </p><p>The final item is to recognize that there are different <strong>Types</strong> of functionality/value that will be completed during an iteration.&nbsp; The logical work items are user stories that represent tangible units of business value that stakeholders can identify and provide feedback on.&nbsp; However, often these stories need to be supported by 'Infrastructure' stories which ensure a well designed system which can support its non-functional requirements.&nbsp; In addition, the User Interface (UI)&nbsp;necessary for the story can also be decoupled from the story iteself and is often represented as a separate work item.&nbsp; </p><p>Hopefully this template will be useful to both those just starting their agile/iterative development initiatives as well as those who have been doing this type of rowkr for awhile.&nbsp; As usual, please feel free to email me with comments.</p>]]>
        
    </content>
</entry>
<entry>
    <title>Essential Unified Process and Research Questionnaire</title>
    <link rel="alternate" type="text/html" href="http://bryancampbell.com/blog2/2008/04/essential_unified_process_and_1.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://bryancampbell.com/blog2-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=16" title="Essential Unified Process and Research Questionnaire" />
    <id>tag:bryancampbell.com,2008:/blog2//1.16</id>
    
    <published>2008-04-24T16:59:00Z</published>
    <updated>2008-06-01T22:50:22Z</updated>
    
    <summary><![CDATA[I was recently invited to participate in a questionnaire regarding the Essential Unified Process (EssUP) and RUP which prompted me to look more deeeply into EssUP and reflect on the many variants of the Unified Process that exist.&nbsp;...]]></summary>
    <author>
        <name>Bryan Campbell</name>
        <uri>www.bryancampbell.com</uri>
    </author>
            <category term="UP" />
    
    <content type="html" xml:lang="en" xml:base="http://bryancampbell.com/blog2/">
        <![CDATA[<p>I was recently invited to participate in a questionnaire regarding the <a href="http://www.esswork.com/" target="_blank">Essential Unified Process</a> (EssUP) and RUP which prompted me to look more deeeply into EssUP and reflect on the many variants of the Unified Process that exist.&nbsp; </p>]]>
        <![CDATA[For those of you not too familiar with EssUP (and I wasn't until completing the questionnaire) it's a 'Practice' methodology developed by <a href="http://en.wikipedia.org/wiki/Ivar_Jacobson" target="_blank">Ivar Jacobson</a> who is the original author of use cases and the use of software components in system development.&nbsp; EssUP, as might be expected, is a derivation of the Unified Process with inputs from the Unified Process, CMMi and Agile (Scrum, XP). <p><img title="EssUP" height="197" alt="EssUP" src="http://www.bryancampbell.com/images/ESS.JPG" width="556" border="0" /></p><p>There are two dimensions of EssUP that look interesting.&nbsp; The first is Jacobson's recognition that while people buy a lot of his books, most don't actually read them, so consequently he's based the methodology on playing cards that are easier to read and presumably follow. I think this is an important recognition in actually having a process 'used' by people and it seems like an idea that OpenUP and other broader methodologies should consider.&nbsp; The other dimension is the focus on 'practices'.&nbsp; RUP/OpenUP/EUP all have tightly coupled workflows/artifacts/roles and sprinked throughout are practice ideas like 'iterative development', 'component design', 'test driven development' etc.&nbsp; It's these practices that actually make most methodologies effective and Jacobsen has identified these as the building blocks for EssUP.&nbsp; </p><p>I'd be interested in hearing more from anyone that has used/explored EssUP in more detail.</p>]]>
    </content>
</entry>
<entry>
    <title>Are We Having Fun Yet?</title>
    <link rel="alternate" type="text/html" href="http://bryancampbell.com/blog2/2008/04/fun_the_workplace.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://bryancampbell.com/blog2-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=14" title="Are We Having Fun Yet?" />
    <id>tag:bryancampbell.com,2008:/blog2//1.14</id>
    
    <published>2008-04-19T23:10:47Z</published>
    <updated>2008-06-01T22:50:22Z</updated>
    
    <summary>What are some effective techniques for making fun in the workplace really fun.</summary>
    <author>
        <name>Bryan Campbell</name>
        <uri>www.bryancampbell.com</uri>
    </author>
            <category term="Management" />
    
    <content type="html" xml:lang="en" xml:base="http://bryancampbell.com/blog2/">
        <![CDATA[<p>&nbsp;</p><p><img title="Utne Reader" height="328" alt="Utne Reader" hspace="5" src="http://www.utne.com/uploadedImages/utne/articles/issues/2008-03-01/cover_146_lg.jpg" width="250" align="left" border="0" /></p><p>One of things that I personally think is important is ensuring a safe and productive workplace for people in order to maximize their potential.&nbsp; Part of this comes from ensuring a safe work environment and instituting a culture of tolerance and respect, however, another dimension that I think is also important is ensuring that the workplace is also 'fun'.&nbsp; If you can have fun in your workplace my logical extension is that you must feel safe since its hard to have fun when you're feeling threatened or worried.&nbsp; When I was the VP of Delivery Services at Valtech I ensured that each one of our Development Centers had some kind of 'activity center', Wii's and Guitar Hero, Ping Pong tables and electronic dartboards were all available for tournaments and just casual play.&nbsp; We even had an official <a href="http://www.worldofwarcraft.com/" target="_blank">World of Warcraft</a> guild for employees and spouses (and there were a lot of spouses!).&nbsp; When I was at BMC one of the events I organized for my staff was a rather remarkable scavenger hunt/trivia pursuit/cranium game that was provisioned by a company called <a href="http://www.thegogame.com/" target="_blank">The Go Game</a>.&nbsp; It was probably the best team building event that I've ever been involved in and the company was creative enough to customize the game so that our India team could participate as well.&nbsp; Of course, I come by this honestly having spent my early years running a small company that provided Doom network gaming tournaments.</p><p>By adding some 'fun' to the workplace it's opened up new communication channels amongst staff and it's allowed people to connect in ways beyond their work commitments.&nbsp; It's a tricky area of course, one person's 'fun' is not always anothers.&nbsp; When I took over at Valtech the only organizational fun was playing poker, however, not everyone enjoyed playing and felt excluded and even resentful that this was the only way to interact with their colleagues outside of work.</p><p>However, it seems that you can take the whole of idea of fun in the workplace to a whole new level.&nbsp;&nbsp;I read an interesting article in the Utne Reader about the &quot;<a href="http://www.utne.com/2008-03-01/Politics/Are-We-Having-Fun-Yet.aspx" target="_blank">infantilization of corporate America</a>&quot;&nbsp;which describes companies pushing the boundaries of this idea of fun to the point that employees feel like children in school.&nbsp; Clearly there are some 'dos and don'ts' when pursuing these ideas!</p>]]>
        
    </content>
</entry>
<entry>
    <title>Collaborative Development Tools</title>
    <link rel="alternate" type="text/html" href="http://bryancampbell.com/blog2/2008/04/collaborative_development_tool.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://bryancampbell.com/blog2-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=13" title="Collaborative Development Tools" />
    <id>tag:bryancampbell.com,2008:/blog2//1.13</id>
    
    <published>2008-04-18T17:13:59Z</published>
    <updated>2008-06-01T22:50:22Z</updated>
    
    <summary>What role does Twitter, Pownce and other Web 2.0 social networking products have in collaborative software development?</summary>
    <author>
        <name>Bryan Campbell</name>
        <uri>www.bryancampbell.com</uri>
    </author>
            <category term="Management" />
    
    <content type="html" xml:lang="en" xml:base="http://bryancampbell.com/blog2/">
        <![CDATA[<p>Recently I've been involved in some <a href="http://www.linkedin.com/answers/technology/software-development/TCH_SFT/209619-1077896?browseIdx=1&amp;sik=1208539620462&amp;goback=%2Eama">discussions</a> on effective tools for teams collaborating and communicating.&nbsp; The questions revolved around the use of <a href="http://twitter.com//">Twitter</a> as an effective tool for collaboration.&nbsp; One of the great premises of the Web 2.0 paradigm is that it introduces a more interactive model for communicating sharing information.&nbsp; Nowhere could this be better leveraged than in teams particularly those that are geographically dispersed.&nbsp; Twitter is an interesting product of the Web 2.0 paradigm as it provides short (140 character) comments on what a person is doing.&nbsp; </p><p>Initially, I was skeptical about a social-networking tool like this as it emphasized activities not outcomes.&nbsp; However, upon reflection and reading an interesting article from on my old alumni-BMC <a href="http://talk.bmc.com/blogs/blog-fjohan/fred-johannessen/Clothes">blog</a>,&nbsp;I now think this would be a very&nbsp;powerful tool particularly for geographically dispersed teams.&nbsp;Although Twitter emphasizes activities, its these activities that connect people in a community and a software development team represents a focused community.&nbsp; Having a tool that allows team members to understand the activities that others are engaged in provides visibility that can only be accomplished when working in the same general area.&nbsp; In larger companies and in globally distributed projects it's not practical/possible to have teams working together.&nbsp; Twitter and some of the other micro-blogging services like <a href="http://pownce.com/">Pownce</a> (which allows you to blast out links to events and even files... which would be useful when a document had been updated) fill a void that other tools like Wikis (<a href="http://www.atlassian.com/software/confluence/">Atlassian Confluence</a>), Version Control solutions (<a href="http://subversion.tigris.org/">Subversion</a>), IM solutions (<a href="http://www.jabber.org/">Jabber</a>), Communication tools (<a href="http://www.skype.com/">Skype</a>) and&nbsp;Application Lifecycle&nbsp;products (<a href="http://www.rallydev.com/">Rally</a>) don't address.&nbsp; At some point all of this seems likely to converge but until then it will be necessary to stitch together these solutions to really ensure effective collaboration of your teams.</p><p>If you're using any of these Web 2.0 tools in your environment I'd be interested in hearing about their benefits and what effective practices you've discovered.</p>]]>
        
    </content>
</entry>

</feed> 

