<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blog.magenic.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">Aaron's Technology Musings</title><subtitle type="html">Who let this guy on the podium?</subtitle><id>http://blog.magenic.com/blogs/aarone/atom.aspx</id><link rel="alternate" type="text/html" href="http://blog.magenic.com/blogs/aarone/default.aspx" /><link rel="self" type="application/atom+xml" href="http://blog.magenic.com/blogs/aarone/atom.aspx" /><generator uri="http://communityserver.org" version="2.1.60809.935">Community Server</generator><updated>2008-07-07T22:27:00Z</updated><entry><title>Pair Programming - Marketing FAIL</title><link rel="alternate" type="text/html" href="http://blog.magenic.com/blogs/aarone/archive/2008/11/19/Pair-Programming-_2D00_-Marketing-FAIL.aspx" /><id>http://blog.magenic.com/blogs/aarone/archive/2008/11/19/Pair-Programming-_2D00_-Marketing-FAIL.aspx</id><published>2008-11-19T16:47:00Z</published><updated>2008-11-19T16:47:00Z</updated><content type="html">&lt;p&gt;When people talk about lack of adoption of &amp;quot;XP&amp;quot; (aka Extreme Programming) practices, one of the chief problems people have with it is the idea of &amp;quot;Pair Programming&amp;quot;. &amp;nbsp;There are more times than I can count where I have been in conversations, where something along the lines of &amp;quot;those crazy agile guys want to have 2 developers do the work of 1 - no way we are doing agile&amp;quot; becomes part of the conversation. &amp;nbsp;What an amazing failure of marketing. &amp;nbsp;It is proof that before anyone in the software development business wants to come up with a great idea, they should run it by some people in marketing to see if the thing will fly.&lt;/p&gt;&lt;p&gt;Lets talk about some of the benefits of Pair Programming. &amp;nbsp;When you are working with someone else, you are not:&lt;/p&gt;&lt;p&gt;* Surfing the web reading SlashDot/DIGG/etc.together&lt;/p&gt;&lt;p&gt;* Reading personal email&lt;/p&gt;&lt;p&gt;* Writing personal email&lt;/p&gt;&lt;p&gt;* Shopping on amazon.com&lt;/p&gt;&lt;p&gt;* Playing solitare&lt;/p&gt;&lt;p&gt;* Letting your ego continue to pound away at a problem that, for whatever reason, you can&amp;#39;t solve. &amp;nbsp;Your person you are pairing with should not have the patience for you to take them on &amp;quot;wild goose chases&amp;quot;&lt;/p&gt;&lt;p&gt;* Getting interrupted by others - people are much more reluctant to interrupt two people who are activley solving a problem than one person quietly contemplating&amp;nbsp;&lt;/p&gt;&lt;p&gt;Rather...&lt;/p&gt;&lt;p&gt;* You are pacing eachother - people tend to run faster in races when they can directly work with eachother and co-motivate&lt;/p&gt;&lt;p&gt;* You are collaborating - two bright people should have a broader knowledge base than one single person&amp;nbsp;&lt;/p&gt;&lt;p&gt;* You are active - walking into a team where people are activley collaborating looks like more &amp;quot;active&amp;quot; work than one where people are silently poring over their screens&lt;/p&gt;&lt;p&gt;* You are sharing knowledge - pairs can cross-pollenate good ideas that working alone we have to work harder to see. &amp;nbsp;We seldom watch others program - and pick up from eachother little productivity habits (keystroke shortcuts, etc.)&lt;/p&gt;&lt;p&gt;The focus you get from pairing, so long as you are not paired with a psychopath, are immense. &amp;nbsp;Pairing should generate the work of 3 people based on the productivity gains. &amp;nbsp;It makes surface sense - when pairing, you are much more likely to get the 8 full professional hours per person than you are otherwise.&lt;/p&gt;&lt;p&gt;So why does this not sell? &amp;nbsp;Seems like the benefits are pretty darn obvious. &amp;nbsp;Well, personally, I believe the branding and naming of XP is one of the biggest marketing failures in history. &amp;nbsp;CIOs are a conservative bunch. &amp;nbsp;So are business owners. &amp;nbsp;Like it or not, most of the time, they have to approve budgets, projects, and investments. &amp;nbsp;Unless I have read a TON of literature and are ready to take on faith that it will work, if I am a CIO and my job depends on it, I ain&amp;#39;t doing &amp;quot;Extreme&amp;quot; lunch, much less &amp;quot;Extreme Programming&amp;quot;. &amp;nbsp;I like having a BMW in the garage and not living on Ramen, ThankYouVeryMuch.&lt;/p&gt;&lt;p&gt;My modest proposal is to stop calling it Pair Programming or Extreme Programming. &amp;nbsp;At this point, that is like calling your new energy company Enron. &amp;nbsp;I propose calling it Collaborative Development. &amp;nbsp;If we have two people on a project, they collaborate to get things done faster. &amp;nbsp;And we leave it at that. &amp;nbsp;Then, when we get things done faster and can point to good results, then we can talk about how good our new &amp;quot;methods&amp;quot; are.&amp;nbsp;&lt;/p&gt;&lt;img src="http://blog.magenic.com/aggbug.aspx?PostID=7311" width="1" height="1"&gt;</content><author><name>aarone</name><uri>http://blog.magenic.com/members/aarone.aspx</uri></author></entry><entry><title>Cover for The Nomadic Developer</title><link rel="alternate" type="text/html" href="http://blog.magenic.com/blogs/aarone/archive/2008/11/10/Cover-for-The-Nomadic-Developer.aspx" /><id>http://blog.magenic.com/blogs/aarone/archive/2008/11/10/Cover-for-The-Nomadic-Developer.aspx</id><published>2008-11-10T20:34:00Z</published><updated>2008-11-10T20:34:00Z</updated><content type="html">&lt;p&gt;&lt;img height="717" src="http://i453.photobucket.com/albums/qq252/ericksoa/coverchoices.jpg" title="undefined" width="618" /&gt;&lt;/p&gt;&lt;p&gt;It is down to these 8 :).&lt;/p&gt;&lt;p&gt;By all means, opinions please!&lt;/p&gt;&lt;p&gt;Stay tuned, another major&amp;nbsp;&lt;span class="Apple-style-span" style="white-space:pre;"&gt;excerpt &lt;/span&gt;coming this week.&amp;nbsp;&lt;/p&gt;&lt;img src="http://blog.magenic.com/aggbug.aspx?PostID=7084" width="1" height="1"&gt;</content><author><name>aarone</name><uri>http://blog.magenic.com/members/aarone.aspx</uri></author></entry><entry><title>10 Commandments for CIOs in 2009</title><link rel="alternate" type="text/html" href="http://blog.magenic.com/blogs/aarone/archive/2008/11/03/10-Commandments-for-CIOs-in-2009.aspx" /><id>http://blog.magenic.com/blogs/aarone/archive/2008/11/03/10-Commandments-for-CIOs-in-2009.aspx</id><published>2008-11-03T13:39:00Z</published><updated>2008-11-03T13:39:00Z</updated><content type="html">&lt;p&gt;Click here to see a &lt;a href="http://www.slideshare.net/AaronErickson/ten-commandments-2009-presentation/"&gt;slideshow &lt;/a&gt;regarding what I believe to be the 10 Commandments for the CIO in 2009.&lt;/p&gt;&lt;p&gt;I will give away the ending here though, as the underlying principles are as follows:&lt;/p&gt;&lt;p&gt;* Reduce costs &amp;ndash; Stop spending &amp;ldquo;stupid&amp;rdquo; money. Stop throwing money at non-performing people and investments.&lt;br /&gt;* Take savings from cost reduction &amp;ndash; Invest in high ROI projects opportunistically. &lt;br /&gt;* Stop pretending &amp;ndash; Demand transparency in software development projects, demand visibility into the projected and realized return on investment. &lt;br /&gt;* Your users are customers &amp;ndash; Stop forcing software on users as though they are a captive market &lt;br /&gt;* Head over heart &amp;ndash; Being fearful and over-reacting will not lead you to good decision making. Look for opportunities to take advantage of others fear to improve your company&amp;rsquo;s competitive position.&lt;/p&gt;&lt;p&gt;Hunkering down and not investing when times are bad is, almost without fail, the wrong thing to do.&amp;nbsp; Now is the time to re prioritize investments with a scalpel, not an axe.&amp;nbsp; Play reverse robin hood - steal resources from the poorly performing, poorly managed projects - and give it to the well performing, well managed ones.&amp;nbsp; And if you don&amp;#39;t know the difference, no time like the present!&lt;/p&gt;&lt;p&gt;Now is the time to make line of business systems easier to use, so you can staff operations with less people and pay less for ongoing training.&lt;/p&gt;&lt;p&gt;Now is the time to start managing projects using agile methods, because you just can&amp;#39;t afford faith based project management anymore (as in, I have faith that the PM is reporting the right amount of progress, versus using results that contain passing tests throughout the entire stack).&lt;/p&gt;&lt;p&gt;Now is the time to not only demand that projects have positive ROI, but to actually track that ROI to assure that the promise is delivered.&lt;/p&gt;&lt;p&gt;Now is the time to either treat IT as a profit center - a portfolio of investments in intellectual property that pay off, and outsource those elements that do not meet those criteria to others who &lt;em&gt;can&lt;/em&gt; treat it as a profit center.&lt;/p&gt;&lt;p&gt;Now is NOT the time to just stop investing - both at the personal or enterprise level.&amp;nbsp; The 401k investments you make now, near the bottom, are likely to have the biggest return on investment.&amp;nbsp; Same is true for the &lt;em&gt;smart&lt;/em&gt; enterprise level technology investments you are making.&amp;nbsp; Assess where you are at.&amp;nbsp; Unless your organizational finances are in total disaster mode at the moment, there is zero reason, other than fear, why you can&amp;#39;t treat the current economic weakness as an opportunity to get an even better competitive advantage from your technology investments.&lt;/p&gt;&lt;p&gt;The easy thing to do is simply cut back, hit the IT budget with an axe, and move on to the next thing.&amp;nbsp; Just because it is easy, doesn&amp;#39;t mean its wise.&amp;nbsp; In fact, the truth is usually the opposite. &lt;br /&gt;&lt;/p&gt;&lt;img src="http://blog.magenic.com/aggbug.aspx?PostID=6981" width="1" height="1"&gt;</content><author><name>aarone</name><uri>http://blog.magenic.com/members/aarone.aspx</uri></author></entry><entry><title>A 700 Billion Dollar Bailout Plan that will Actually Work</title><link rel="alternate" type="text/html" href="http://blog.magenic.com/blogs/aarone/archive/2008/10/21/A-700-Billion-Dollar-Bailout-Plan-that-will-Actually-Work.aspx" /><id>http://blog.magenic.com/blogs/aarone/archive/2008/10/21/A-700-Billion-Dollar-Bailout-Plan-that-will-Actually-Work.aspx</id><published>2008-10-21T13:53:00Z</published><updated>2008-10-21T13:53:00Z</updated><content type="html">&lt;p&gt;Nothing like a crisis to get the mind working.&lt;/p&gt;&lt;p&gt;It appears that the US is going to provide investment banks $700,000,000,000 (written out for effect) to cover up for the mistakes related to their &amp;quot;financial engineering&amp;quot;.&amp;nbsp; This is all well and good - and has to be done, mostly because something has to be done to make sure the &amp;quot;counterparties&amp;quot; don&amp;#39;t go broke (def:counterparty = think people Lehman Bros owed money to).&amp;nbsp; That said, because of this mistake, we can ill afford to make many more.&lt;/p&gt;&lt;p&gt;If you looked at this through a personal lens, lets say you are a normal person.&amp;nbsp; You get frustrated with real work one day, and you decide to go to Las Vegas on vacation.&amp;nbsp; You discover that in Las Vegas, you can borrow lots of money and, for awhile, go along making money playing poker or counting cards in blackjack.&amp;nbsp; This works for awhile (16 years) - but then someone changes the rules of the game on you (say, blackjack now pays 5/3 rather than 3/2 - or house values stop going up).&amp;nbsp; Suddenly, you find yourself with all your money + all of &amp;quot;their&amp;quot; money on the table, and you draw 16 when the dealer is showing an ace.&amp;nbsp; Rather than take the insurance, you decide to stay, the other card comes up (a 10), and you lose.&amp;nbsp; Everything.&amp;nbsp; Plus some.&lt;/p&gt;&lt;p&gt;What do you do now.&amp;nbsp; You are like Clark Griswald at the end of Vegas Vacation.&amp;nbsp; No house, no motor car, not a single luxury.&amp;nbsp; You can&amp;#39;t borrow at all - you are tapped out, nothing left but the shirt on your back.&lt;/p&gt;&lt;p&gt;So, after you wake up in the morning, on the street, hung over from the free drinks that the waitress gave you in sympathy, wondering what you are going to do next.&amp;nbsp; Then, along comes a nice man (taxpayers), willing to give you a new $50k ($700B) loan.&amp;nbsp; What do you do?&lt;/p&gt;&lt;p&gt;Do you waltz back into the casino?&amp;nbsp; Or do you head to university and decide to stop investing in a losing game, and rather invest in yourself - that is, make yourself more productive.&amp;nbsp; Maybe get an MBA, maybe become a nano-technology expert, or, at least, invest in someone else who is.&lt;/p&gt;&lt;p&gt;The bailout plan I am proposing is exactly that.&amp;nbsp; Given we have seen what the dividends of financial engineering are, I think it is high time to stop investing so much in &amp;quot;financial engineering&amp;quot; and start to invest in &amp;quot;engineering engineering&amp;quot;.&amp;nbsp; Imagine a world where, in a year, we create 350k new high tech startups.&amp;nbsp; So many such that even if one tenth of them work out (typical result from VCs), we end up with 35k new, prosperous companies that create really good, high technology jobs that:&lt;/p&gt;&lt;p&gt;* Get us off foreign oil, through more advanced green technology&lt;/p&gt;&lt;p&gt;* Make companies, hospitals, universities, and government more productive, through better software - in particular - better user experience, better business intelligence, better inter-operation, better maintainability&lt;/p&gt;&lt;p&gt;* Cuts the unemployment rate directly from 7% to 5% by providing jobs &lt;em&gt;directly&lt;/em&gt; to around 2% of the US working population.&amp;nbsp; If you count &lt;em&gt;indirect&lt;/em&gt; jobs created because of the general stimulus, you reach full structural employment&lt;/p&gt;&lt;p&gt;* Through productivity enhancements and direct stimulus, puts us on an economic growth curve that rivals China&lt;/p&gt;&lt;p&gt;* Last but not least, helps the financial services industry because all these companies will probably need mergers, aquisitions, wealth management, etc. - think of how busy wall street was during the dotcom bubble.&amp;nbsp; Now multiply that times 10.&lt;/p&gt;&lt;p&gt;The plan works by providing 1M of funding to any high-tech entrepeneur who has a reasonably viable technology idea and a realistic business plan.&amp;nbsp; Given that 1 in 500 US adults probably has the means to develop a reasonable hi-tech idea and a business plan, you get to around 350k such companies that get funded.&amp;nbsp; Enough money to take a prototyped idea to a working product.&amp;nbsp; Enough money to hire 3 or 4 people and keep them employed for a couple years while the idea develops.&amp;nbsp; In software, amazingly, that is enough people to get a startup going, while employing 1.4M people for a couple of years.&amp;nbsp; Now here is the key... in exchange, the government gets a 20% stake in the company - and gets to put on some controls similar to what a VC would do - i.e. you cant overpay yourself, you have to have an independent board, etc, while getting away from the bad VC stuff, like stealing your good ideas and giving them to a competitor.&amp;nbsp; This initial phase costs 350B.&lt;/p&gt;&lt;p&gt;The next phase, of course, is based on 1 out of the 10 ideas becoming viable companies that generate profit.&amp;nbsp; Once you hit profitability, you become eligible for a subsequent 10M investment.&amp;nbsp; Enough money to keep a staff of 10 people going for around 10 years despite what happens.&amp;nbsp; Or hiring 25 over 4 years and really blowing something out.&amp;nbsp; In exchange, the government gets another 10% stake - 30% total.&amp;nbsp; While the subsequent stake is smaller, the chances of success are much higher.&amp;nbsp; &lt;/p&gt;&lt;p&gt;It gets better though.&amp;nbsp; After this phase, we have the private sector step in and provide the mezzanine round for the 1 out of the 10 at this level that are good enough to become billion dollar companies.&amp;nbsp; The remaining 9 of 10 perhaps get bought out once a buyer is found that allows the government to realize its initial investment plus some risk premium, plus enough to cover the losses in the companies that didn&amp;#39;t work (say, 50M).&amp;nbsp; In essence, the government makes money on the deal, and the VC sector gets relieved of its duties with regard to early investments that, right now, they are too scared to make because everyone is pulling out of funds and taking positions in either &amp;quot;cash&amp;quot; or &amp;quot;fetal&amp;quot;.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Think of the number of people employed here - we have 35k new, profitable, growing high technology businesses - most of which employ a couple dozen people.&amp;nbsp; Businesses that are engaging in trade with the all the other non-technical businesses, making them more efficient.&amp;nbsp; Actually working with hospitals to move them off paper.&amp;nbsp; Making Medicare more efficient.&amp;nbsp; Coming up with the breakthroughs we need in Green Energy.&amp;nbsp; Doing the critical research and development needed to solve our most pressing problems.&lt;/p&gt;&lt;p&gt;The chief problems I could see with a plan like this are that you would flood the market with new technology - which would take some time to sort out.&amp;nbsp; It would increase the supply of new tech, which if everyone chased the same business plan, would lead to pricing pressure and reduce the ability of these new companies to make a profit.&amp;nbsp; Ironically, that is exactly why VCs and private equity can&amp;#39;t do this, because most of them have a herd mentality that makes you end up with 25 different search engine companies in 1999, and 25 different social networking companies in 2007.&amp;nbsp; One large investor, spreading the money around different types of business plans would help make sure that the capital doesn&amp;#39;t self-cannibalize.&amp;nbsp; Create competitors, but don&amp;#39;t create so many that you end up with 30k of the same thing.&lt;/p&gt;&lt;p&gt;The other problem is that one could argue that there are not enough engineers to absorb all that money.&amp;nbsp; If that is true, just reduce the scale of the investment.&amp;nbsp; That said, I think the worst thing this does is take intellectual capital that is currently invested in some projects that are of marginal value - something you see in IT departments everywhere, and it re-invests it in ideas that the practitioners themselves believe in.&amp;nbsp; People are always more efficient when working on something they own - and you would go from IT people who own nothing but renewable lease on a spot on an org chart, to a real company.&amp;nbsp; In the worst case, you end up with a ton of engineers who suddenly have experience running a business!&amp;nbsp; Talk about solving the business/IT gap!&amp;nbsp; Besides, since all that works was going to India, we should have nothing to worry about, right?&lt;/p&gt;&lt;p&gt;This plan - which in an act of Ego comparable to Boone Pickens, I will call the &lt;strong&gt;Erickson Plan&lt;/strong&gt; - will make the government money, will revive the economy, and will restore our position of leadership in the world - investing in the intellect and inventiveness of our people, rather than in the faith that giving money to wall street will solve our problems.&amp;nbsp; It will demonstrate to the world that we are serious about competing.&amp;nbsp; It will probably cause other nations to make similar investments in their own economies, just to keep up.&amp;nbsp; It will deploy capital towards where the IQ points are, rather than simply where the best K street lobbyists live.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;I can&amp;#39;t think of a more win-win arrangement than that!&lt;br /&gt;&lt;/p&gt;&lt;img src="http://blog.magenic.com/aggbug.aspx?PostID=6804" width="1" height="1"&gt;</content><author><name>aarone</name><uri>http://blog.magenic.com/members/aarone.aspx</uri></author></entry><entry><title>MetaLinq Update - XmlSerializer Support</title><link rel="alternate" type="text/html" href="http://blog.magenic.com/blogs/aarone/archive/2008/10/15/MetaLinq-Update-_2D00_-XmlSerializer-Support.aspx" /><id>http://blog.magenic.com/blogs/aarone/archive/2008/10/15/MetaLinq-Update-_2D00_-XmlSerializer-Support.aspx</id><published>2008-10-16T00:52:00Z</published><updated>2008-10-16T00:52:00Z</updated><content type="html">&lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/idof/archive/2008/10/05/serializing-expression-trees-v1.aspx"&gt;Ido Flatow&lt;/a&gt; has updated MetaLinq to include a very cool feature - namely, support for serialization of expression trees to XML.&lt;/p&gt;&lt;p&gt;Basically, this feature allows you to specify an expression tree using XML, read it in using MetaLinq, and go on to execute it in the context of a program that might understand said tree. &amp;nbsp;And this is jus the start. &amp;nbsp;When you think about the possibilities that passing around and executing expressions enables - it opens up some real intriguing possibilities. &amp;nbsp;Think persistent storage of business rules that are expressed as Lambda expressions.&lt;/p&gt;&lt;p&gt;We are in beta testing for this feature, which you can download from &lt;a href="http://www.codeplex.com/metalinq"&gt;http://codeplex.com/metalinq&lt;/a&gt;.&amp;nbsp; Take it for a spin - and dont hesitate to contact me if you have questions about the feature.&lt;br /&gt;&lt;/p&gt;&lt;img src="http://blog.magenic.com/aggbug.aspx?PostID=6720" width="1" height="1"&gt;</content><author><name>aarone</name><uri>http://blog.magenic.com/members/aarone.aspx</uri></author><category term="metalinq" scheme="http://blog.magenic.com/blogs/aarone/archive/tags/metalinq/default.aspx" /></entry><entry><title>The Nomadic Developer Book Excerpt - CHEAP Consulting, the 3rd Deadly Firm</title><link rel="alternate" type="text/html" href="http://blog.magenic.com/blogs/aarone/archive/2008/10/03/The-Nomadic-Developer-Book-Excerpt-_2D00_-CHEAP-Consulting_2C00_-the-3rd-Deadly-Firm.aspx" /><id>http://blog.magenic.com/blogs/aarone/archive/2008/10/03/The-Nomadic-Developer-Book-Excerpt-_2D00_-CHEAP-Consulting_2C00_-the-3rd-Deadly-Firm.aspx</id><published>2008-10-03T23:02:40Z</published><updated>2008-10-03T23:02:40Z</updated><content type="html">&lt;p&gt;&lt;font face="Arial"&gt;This is a book excerpt from my upcoming book, "The Nomadic Developer".&amp;nbsp; It is in a chapter titled "The Seven Deadly Firms", which includes elaboration on two previous firms, &lt;a href="http://blog.magenic.com/blogs/aarone/archive/2007/10/29/Consulting-Firm-Archetypes-Continued_3A00_-FEAR-Consulting.aspx"&gt;FEAR&lt;/a&gt; and &lt;a href="http://blog.magenic.com/blogs/aarone/archive/2007/07/23/Magenic-is-Hiring-_2D00_-Bigtime.aspx"&gt;BOZO&lt;/a&gt;, as well as several others you will need to buy the book to learn about.&lt;/font&gt; &lt;p&gt;While a body shop tends operates in the world of low-cost &lt;i&gt;contracting&lt;/i&gt;, CHEAP Consulting executes entire projects using hordes of low cost developers, rather than small numbers of good ones. Ironically, this makes their projects, after all is said and done, come in far more over budget than the firms they competed with in the first place. &lt;p&gt;CHEAP Consulting takes advantage of the tendency of some organizations to buy services based on rate-per-hour, to the exclusion of all other considerations. This frequently occurs when the agent purchasing professional services is separated from the person who is responsible for the outcome of the professional services. In such a case, the former (often called a &lt;i&gt;vendor manager&lt;/i&gt;) is compensated on getting average hourly rates low, and does not have a meaningful stake in project outcome. The latter – often a development manager – is left with the results and often lives a very frustrating existence trying to get useful software built using the lowest bidder per hour. &lt;p&gt;This scenario occurs because there is a mindset in some quarters that a developer-hour is a universal unit of exchange in software development. Of course, history shows us that the output of one developer-hour of a person with a particular skill set can vary drastically from person to person (Curtis 1981, Mills 1983, DeMarco and Lister 1985, Curtis et al. 1986, Card 1987, Boehm and Papaccio 1988, Valett and McGarry 1989, Boehm et al 2000). However, despite all this overwhelming evidence to the contrary, there are some organizations that continue to be blind to this reality, likely as a result of the influence of a long tradition of thought in industrial engineering – starting with the work of Frederick Taylor - that seek to minimize variation in personnel performance. &lt;p&gt;Life at CHEAP Consulting &lt;p&gt;The main feature of CHEAP is the heavy use of the word &lt;i&gt;resource&lt;/i&gt;. More than any of the seven deadly firms, at CHEAP consulting, the fact that you are one resource of many, pluggable from one project to another, is the chief feature of this firm. That said, life at CHEAP isn’t bad, per se – this isn’t FEAR where the goal is to keep you there by sheer intimidation, nor is this BOZO, where the projects that are sold usually end up being done for a loss. If anything, CHEAP consulting is a place where you do mediocre projects for mediocre money for mediocre companies. &lt;p&gt;The problem for consultants at CHEAP is that the work is of low value, requires comparatively low skill, and frequently features technology several generations behind what would be considered current. Conformity is a core part of the culture at CHEAP. Because of this culture, the primary attributes that cause growth of a software developer, chiefly using the creative urge to overcome technology problems, tends to be selected against. &lt;p&gt;This, of course, is just fine if your main goal in life is to simply collect a paycheck and put in your time. And for people for whom software development is merely a means to an end, working for CHEAP is a perfectly acceptable solution. At least for awhile. &lt;p&gt;The problem, however, is that if you become a commodity, you become very easy to outsource. The kind of work done by CHEAP consulting can also be done very easily anywhere in the world. Thus, the main problem with CHEAP consulting is that it becomes CHEAPER consulting over time. Thus, over time, your ability to make a consistent living becomes more and more difficult, and you are constantly prone to job loss. &lt;p&gt;Which gets to the next feature of living at CHEAP Consulting – constant fear of being outsourced. Because you know you are a commodity – unless you are blissfully ignorant of what is going on around you, you likely lose a lot of sleep that your consulting gig will be shipped to India, or nowadays, somewhere even less expensive than that, such as China or Vietnam. &lt;p&gt;Lastly, the salaries at CHEAP consulting represent where this firm sits in the marketplace. Because they compete on price, it is highly likely you will be in the bottom 25% percentile of wages for your given skill set. Furthermore, advancement is going to be slow, and because you are working on technology several generations behind what is current, your ability to market yourself is going to be limited to other similarly situated companies. It becomes something of a downward career spiral that can be tough to recover from. &lt;p&gt;Signs You are Interviewing at CHEAP Consulting &lt;p&gt;If job ads in consulting came with salary figures attached to them, it would be real easy to know who CHEAP is. Unfortunately, rarely is this the case. As a result, you have to look for the signs that point to what will ultimately be a low job offer. &lt;p&gt;The first thing to ask that should give you an initial sign you might be at CHEAP consulting is to ask the prospective firm how they get business. CHEAP consulting tends to get business through what are known as vendor management programs. Now, not all vendor management programs are bad or dysfunctional, but many are, and seeing a prospective firm primarily working through said entities is usually a sign that such a firm primarily competes on price. &lt;p&gt;A second thing to look for is to ask what technology you will be working with. Of course, this can be difficult, because the technology stated in the job ad can describe what they want you to know, which frequently has nothing to do with what they want you to do. The actual work you are doing may end up being on technology several versions behind what is current, which is a good indicator you are working for this kind of firm. The question to ask, then, is “what kind of technology will I be working with on day one?” The manner in which this question is answered should tell you a lot about this firm. &lt;p&gt;Prognosis &lt;p&gt;I would like to think this kind of firm is likely to fail over time, but cynically, I suspect that there will always be people who believe that people are “plug compatible”, and thus, will have services purchased at the lowest possible price. Especially because there is always going to be a sector of this business doing work with only marginal economic value (higher than zero, but not by much), there will always be a place for this kind of firm. Given that there are some firms like this that are some of the largest firms out there, the economics are going to dictate that these firms will stick around. &lt;p&gt;That said, while such firms may be good stock investments, they are lousy places for creative minded technology professionals to work. While marginally better than the more dysfunctional cousins, BOZO and FEAR, it is, nonetheless, not somewhere that most people will ever go to work for on purpose. &lt;/p&gt;&lt;img src="http://blog.magenic.com/aggbug.aspx?PostID=6472" width="1" height="1"&gt;</content><author><name>aarone</name><uri>http://blog.magenic.com/members/aarone.aspx</uri></author></entry><entry><title>New MVP Awardees</title><link rel="alternate" type="text/html" href="http://blog.magenic.com/blogs/aarone/archive/2008/10/01/New-MVP-Awardees.aspx" /><id>http://blog.magenic.com/blogs/aarone/archive/2008/10/01/New-MVP-Awardees.aspx</id><published>2008-10-01T15:37:00Z</published><updated>2008-10-01T15:37:00Z</updated><content type="html">&lt;p&gt;This morning, I received word that two of my colleagues in Chicago, &lt;a href="http://msinnovations.spaces.live.com/"&gt;Ben Cline&lt;/a&gt; and &lt;a href="http://uxconfidential.com/"&gt;Anthony Handley&lt;/a&gt;, both were awarded MVP awards.&lt;/p&gt;&lt;p&gt;Ben Cline is a master of BizTalk who spends a lot of time in the MSDN forums helping people untangle issues. &amp;nbsp;Earlier this year, because of his participation, he became named a forum moderator. &amp;nbsp;Seeing him get the nod is really neat, given he has achieved his award mostly through forum work - &amp;quot;old school&amp;quot; as they say.&lt;/p&gt;&lt;p&gt;Anthony Handley, who alongside Corey Miller, leads the &lt;a href="http://www.cd2ug.org/"&gt;Chicago Designers and Developers User Group&lt;/a&gt;, also got the nod, for his great work on his blog and in the community in general. &amp;nbsp;It is really cool to see UX people getting into the program.&lt;/p&gt;&lt;p&gt;Congrats to both!&lt;/p&gt;&lt;p&gt;&lt;font size="-2"&gt;(oh, I got extended too :) )&amp;nbsp;&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blog.magenic.com/aggbug.aspx?PostID=6454" width="1" height="1"&gt;</content><author><name>aarone</name><uri>http://blog.magenic.com/members/aarone.aspx</uri></author></entry><entry><title>F# Business Intelligence Case Study - XBox Live Trueskill</title><link rel="alternate" type="text/html" href="http://blog.magenic.com/blogs/aarone/archive/2008/09/07/F_2300_-Business-Intelligence-Case-Study-_2D00_-XBox-Live-Trueskill.aspx" /><id>http://blog.magenic.com/blogs/aarone/archive/2008/09/07/F_2300_-Business-Intelligence-Case-Study-_2D00_-XBox-Live-Trueskill.aspx</id><published>2008-09-07T19:36:00Z</published><updated>2008-09-07T19:36:00Z</updated><content type="html">&lt;p&gt;Some time ago, I speculated that &lt;a href="http://blog.magenic.com/blogs/aarone/archive/2008/04/23/On-Business-Intelligence-and-F_2300_.aspx"&gt;F# should be the lingua-franca of BI&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Well, had I done a little research, I would have found out that people are already doing BI using F#, namely Microsoft. &amp;nbsp;On a recent podcast of The Thirsty Developer (to be published soon), some colleagues and I were talking to some members of our local evangelism team when &lt;a href="http://www.jasonbock.net/"&gt;Jason Bock&lt;/a&gt; told me that &lt;a href="http://research.microsoft.com/osa/apg/trueskill.aspx"&gt;TrueSkill &lt;/a&gt;was implemented using F#. To which, I reply... that sure sounds like Business Intelligence - or something like it!&lt;/p&gt;&lt;p&gt;Since I am making yet another audacious claim, perhaps an explanation of what TrueSkill is would be helpful.&amp;nbsp;&lt;/p&gt;&lt;p&gt;If you play XBox 360 and Halo, you are probably familiar with the concept of TrueSkill, which is used to measure how you compare against the bell curve distribution of other players of a given game.&lt;/p&gt;&lt;p&gt;As for the BI part, the analysis task of TrueSkill is to go over the following:&lt;/p&gt;&lt;p&gt;* Multiple terabytes of matchmaking log data&lt;br /&gt;&lt;/p&gt;&lt;p&gt;* Data spread over 11,000 text files.&lt;/p&gt;&lt;p&gt;* ETL&amp;#39;d into SQL Server&lt;/p&gt;&lt;p&gt;* Use of F# to do calculations on this massive database to determine TrueSkill rankings for players&lt;/p&gt;&lt;p&gt;We are probably not talking about simple averages and things you would do with a cube here. &amp;nbsp;The resulting solution, as I was able to ascertain from a blog post by &lt;a href="http://blogs.msdn.com/dsyme/archive/2006/04/01/566301.aspx"&gt;Don Syme&lt;/a&gt;, was about 100 lines of F# code to create a production version of this that runs as an ongoing task.&lt;/p&gt;&lt;p&gt;Now, if we replace customer records with XBOX Live log entries, I think we are onto something here - especially for more complex and/or scientific scenarios.&amp;nbsp; Imagine, rather than TrueSkill, we used this to estimate, say &amp;quot;TrueLikelihoodToUpgradeFlights&amp;quot; so we could help airlines deploy better upsell opportunities.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;But the bigger point - one pretty much demonstrated by this whole scenario, is that there is no reason - none. &amp;nbsp;at. &amp;nbsp;all - that BI has to be a database technology. &amp;nbsp;BI can come from anywhere, and the best tool for doing the job in BI is functional languages, due to how functional languages makes the task of writing massivley paralellizable code a great deal simpler than other imperative languages do. &amp;nbsp;Sometimes that language is SQL, and it&amp;#39;s database oriented BI variants - and sometimes, as in this case, its F#.&lt;/p&gt;&lt;p&gt;It is high time we stop treating business intelligence and software development as if they are different things.&amp;nbsp; They really aren&amp;#39;t.&lt;/p&gt;&lt;p&gt;&lt;em&gt;Update:&lt;/em&gt; &lt;a href="http://blog.magenic.com/utility/Redirect.aspx?U=http%3a%2f%2fwww.research.microsoft.com%2f%7erherb" id="ctl00___ctl00___ctl01___Comments___Comments_ctl04_NameLink" rel="nofollow" title="Ralf Herbrich" target="_blank"&gt;Ralf Herbrich&lt;/a&gt; from Microsoft has provided some more links for some of the background:&lt;/p&gt;&lt;p&gt;* &lt;a href="http://portal.acm.org/citation.cfm?id=1362702.1362709&amp;amp;coll=ACM&amp;amp;dl=ACM&amp;amp;type=series&amp;amp;idx=SERIES824&amp;part;=series&amp;amp;WantType=Proceedings&amp;amp;title=ICFP&amp;amp;CFID=://search.live.com/results.aspx?q=icfp+2007+trelford&amp;amp;CFTOKEN=search.live.com/results.aspx?q=icfp+2007+trelford"&gt;Slides and presentations&lt;/a&gt; of an ICFP 2007 talk by Phillip Trelford on
the application of F# for TrueSkill
()
&lt;/p&gt;&lt;p&gt;*
A &lt;a href="http://www.kdd.org/kdd2008/program.html#graepel"&gt;presentation &lt;/a&gt;of the mathematics and tools used in the TrueSkill
analyses at KDD ()&lt;/p&gt;&lt;p&gt;
* An F# implementation of TrueSkill at &lt;a href="http://blogs.technet.com/apg/archive/2008/06/16/trueskill-in-f.aspx"&gt;our blog&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;img src="http://blog.magenic.com/aggbug.aspx?PostID=6039" width="1" height="1"&gt;</content><author><name>aarone</name><uri>http://blog.magenic.com/members/aarone.aspx</uri></author><category term="F#" scheme="http://blog.magenic.com/blogs/aarone/archive/tags/F_2300_/default.aspx" /><category term="BI" scheme="http://blog.magenic.com/blogs/aarone/archive/tags/BI/default.aspx" /></entry><entry><title>I Promise To, Never Again, Estimate By...</title><link rel="alternate" type="text/html" href="http://blog.magenic.com/blogs/aarone/archive/2008/08/18/I-Promise-To_2C00_-Never-Again_2C00_-Estimate-By_2E002E002E00_.aspx" /><id>http://blog.magenic.com/blogs/aarone/archive/2008/08/18/I-Promise-To_2C00_-Never-Again_2C00_-Estimate-By_2E002E002E00_.aspx</id><published>2008-08-18T16:53:00Z</published><updated>2008-08-18T16:53:00Z</updated><content type="html">
&lt;p&gt;* Screen Count&lt;/p&gt;

&lt;p&gt;Leads to the idea that Google.com can be replicated in 2 days if you can knock out 1 screen per day.&amp;nbsp; Not all cases are Google, but seriously, estimation by screen count is a horrible idea. &lt;br /&gt;
&lt;/p&gt;

&lt;p&gt;* Number of Objects/Classes&lt;/p&gt;

&lt;p&gt;For one, it implies you know the design up front, which as we know, we almost never do.&amp;nbsp; This is especially true since I tend to be writing estimates during and/or prior even to doing requirements, and therefore, speculating what classes and objects we will have and estimating them is the pinnacle of silliness.&amp;nbsp; Don&amp;#39;t do it.&lt;/p&gt;

&lt;p&gt;* Number of Database Tables&lt;/p&gt;

&lt;p&gt;Like the above, but even worse, unless the app is total CRUD, in which case, you should be using MOSS/Infopath of some other generator technology.&lt;/p&gt;

&lt;p&gt;At the last Chicago alt.net user group meeting, Bobby Norton*&lt;a href="http://www.markhneedham.com/blog/"&gt;&lt;/a&gt; of ThoughtWorks moderated a fantastic discussion after his presentation on Cruise.&amp;nbsp; I am told we will soon have video of this conversation, but the essence was that we all have estimation FAIL on our resume, and we need to get better at it.&amp;nbsp; My big question, which is what I alluded to in &lt;a href="http://blog.magenic.com/blogs/aarone/archive/2008/08/04/Agile-Estimation_3F00_.aspx"&gt;a previous post&lt;/a&gt;, is that I am curious about how people actually do agile estimation.&amp;nbsp; The whole idea finally clicked for me that has been around for awhile - estimate by user stories (think use cases, only different), assign &amp;quot;story points&amp;quot; for use case complexity, and if a use story is above a certain &amp;quot;story point&amp;quot; threshold, break down the story into something more manageable.&lt;/p&gt;

&lt;p&gt;This is different than screens based estimation because IMO it does a better job of capturing the complexity of a screen when you are talking in user understood language.&amp;nbsp; One screen may happen to be the place where a user will experience a great variety of stories.&amp;nbsp; It also gets away from enumerating the design prematurely - as it states things from the perspective of the user, without trying to assume what artifacts are going to be developed to meet that complexity.&lt;/p&gt;

&lt;p&gt;The real benefit, though, is on the measurement side.&amp;nbsp; The key metric is how accuratley a given estimator can pin story points to complexity.&amp;nbsp; Once you are storing information and graphing it - so you have some history about how much time goes into, say, an &amp;quot;Aaron Erickson story point&amp;quot; or a &amp;quot;Your Name Here story point&amp;quot;, you get better at being able to predict what you can accomplish in a given time frame.&lt;/p&gt;

&lt;p&gt;Is it perfect?&amp;nbsp; No.&amp;nbsp; But remember the word we are using here - that word being &lt;em&gt;estimation&lt;/em&gt;.&amp;nbsp; By continuously improving your estimates by using evidence of accuracy in the past to guide your future estimates - you do your client a great service.&amp;nbsp; You have evidence you can base your estimates from, which in turn, gives you the real &amp;quot;predictability&amp;quot; you are looking for.&lt;/p&gt;

&lt;p&gt;Evidence based estimation is where, I believe based on, well, evidence (HA!) the world is going. &lt;br /&gt;
&lt;/p&gt;

&lt;p&gt;&lt;font size="-2"&gt;* Apologies, got my thoughtworkers confused last time&lt;/font&gt;&lt;br /&gt;
&lt;/p&gt;&lt;img src="http://blog.magenic.com/aggbug.aspx?PostID=5699" width="1" height="1"&gt;</content><author><name>aarone</name><uri>http://blog.magenic.com/members/aarone.aspx</uri></author><category term="Agile Estimation" scheme="http://blog.magenic.com/blogs/aarone/archive/tags/Agile+Estimation/default.aspx" /></entry><entry><title>Fall 2008 Speaking Schedule</title><link rel="alternate" type="text/html" href="http://blog.magenic.com/blogs/aarone/archive/2008/08/18/Fall-2008-Speaking-Schedule.aspx" /><id>http://blog.magenic.com/blogs/aarone/archive/2008/08/18/Fall-2008-Speaking-Schedule.aspx</id><published>2008-08-18T16:37:00Z</published><updated>2008-08-18T16:37:00Z</updated><content type="html">&lt;p&gt;A quick update of what I have going on for the speaking agenda.&lt;/p&gt;&lt;p&gt;* &lt;a href="http://www.madnug.org/"&gt;Michiana .NET Users Group&lt;/a&gt;, South Bend, IN, Aug 19th, &amp;quot;F#, The Business Case&amp;quot;&lt;/p&gt;&lt;p&gt;* &lt;a href="http://www.codeapalooza.com/index.htm"&gt;Codeapalooza&lt;/a&gt;, Sept 6th, Chicago, IL, &amp;quot;Super-Optimized LINQ - Indexed Objects&amp;quot;&lt;/p&gt;&lt;p&gt;* &lt;a href="http://oldwww.acm.org/chapters/chicago/"&gt;ACM: Chicago Chapter&lt;/a&gt;, Sept 10th, Chicago, IL, &amp;quot;Microsoft&amp;#39;s F# - Functional Programming meets the Mainstream Software Developer&amp;quot;&lt;/p&gt;&lt;p&gt;* &lt;a href="http://www.twincitiescodecamp.com/TCCC/Fall2008/Sessions.aspx"&gt;Twin Cities Code Camp&lt;/a&gt;, Oct 11th, Minneapolis, MN, &amp;quot;The Intersection of F# and LINQ&amp;quot; &lt;/p&gt;&lt;p&gt;* &lt;a href="http://vslive.com/2008/lasvegas/agenda.aspx"&gt;VSLive Las Vegas&lt;/a&gt;, Week of Oct 12th-Oct 17th, Las Vegas, NV, &amp;quot;F#, The Business Case&amp;quot; and &amp;quot;Super-Optimized LINQ - Indexed Objects&amp;quot;&lt;/p&gt;&lt;p&gt;* &lt;a href="http://www.lehighvalleydotnet.org/newsite/default.aspx"&gt;Lehigh Valley .NET Users Group&lt;/a&gt;, Center Valley, PA, November 17th, &amp;quot;F#, The Business Case&amp;quot;&lt;/p&gt;&lt;p&gt;* &lt;a href="http://www.adnug.org/Schedule/tabid/54/ctl/Details/Mid/363/ItemID/20/Default.aspx?selecteddate=12/8/2008"&gt;Austin .NET Users Group&lt;/a&gt;, Austin, TX, December 8th, &amp;quot;Indexed LINQ&amp;quot;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Check this thread often, as schedules over this timeframe can change.&amp;nbsp; As always, my favorite parts of being in this business is getting out and meeting people.&lt;br /&gt;&lt;/p&gt;&lt;img src="http://blog.magenic.com/aggbug.aspx?PostID=5698" width="1" height="1"&gt;</content><author><name>aarone</name><uri>http://blog.magenic.com/members/aarone.aspx</uri></author><category term="Speaking Schedule" scheme="http://blog.magenic.com/blogs/aarone/archive/tags/Speaking+Schedule/default.aspx" /></entry><entry><title>Introducing &quot;The Nomadic Developer&quot; - Surviving and Thriving as a Technical Consultant</title><link rel="alternate" type="text/html" href="http://blog.magenic.com/blogs/aarone/archive/2008/08/12/Introducing-_2200_The-Nomadic-Developer_2200_-_2D00_-Surviving-and-Thriving-as-a-Technical-Consultant.aspx" /><id>http://blog.magenic.com/blogs/aarone/archive/2008/08/12/Introducing-_2200_The-Nomadic-Developer_2200_-_2D00_-Surviving-and-Thriving-as-a-Technical-Consultant.aspx</id><published>2008-08-12T21:21:00Z</published><updated>2008-08-12T21:21:00Z</updated><content type="html">&lt;p&gt;I am very pleased to announce that I am now officially writing a book, through Addison Wesley, about ins and outs of the technology consulting business.&amp;nbsp; The best way to think of the book is as an operating manual for your career as a technology consultant.&lt;/p&gt;

&lt;p&gt;My motivation for writing a book like this is, frankly, I want consultants to understand this business, so they can make better career decisions.&amp;nbsp; Decisions about where you work (aka don&amp;#39;t work for BOZO, FEAR, or other swindlers) - how you get paid, how clients select consultancies, how the sales process works, and really, what makes a place like Magenic, or any other consultancy, tick.&lt;/p&gt;

&lt;p&gt;It is an ambitious effort, to be sure.&amp;nbsp; And the schedule is aggressive.&amp;nbsp; We are hoping to have a book out in stores mid-2009, which in book publishing, isn&amp;#39;t that far away, given I need to have a manuscript done at the end of January.&lt;/p&gt;

&lt;p&gt;Here is my current plan for my table of contents.&amp;nbsp; Note that this is very tentative, but should give you a sense for what this is going to be about: &lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-family:'Calibri','sans-serif';"&gt;Chapter 1: Going to battle&lt;/span&gt;&lt;/strong&gt;&lt;em&gt;&lt;span style="font-family:'Calibri','sans-serif';"&gt;&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;em&gt;&lt;/em&gt;

&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-family:'Calibri','sans-serif';"&gt;Chapter 2: Why consulting?&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;span style="font-family:'Calibri','sans-serif';"&gt;&lt;/span&gt;

&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-family:'Calibri','sans-serif';"&gt;Chapter 3: The consultancy taxonomy&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-left:0.5in;"&gt;&lt;span style="font-family:'Calibri','sans-serif';"&gt;BOZO
Consulting&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-left:1in;"&gt;&lt;span style="font-family:'Calibri','sans-serif';"&gt;Somewhat
bumbling and conservative, yet makes a practice of selling dollars for eighty
cents and expecting the consultants to pick up the slack.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Nice people who, generally, are not going to
go very far or expand beyond their core market.&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-left:0.5in;"&gt;&lt;span style="font-family:'Calibri','sans-serif';"&gt;FEAR
Consulting&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-left:1in;"&gt;&lt;span style="font-family:'Calibri','sans-serif';"&gt;Manages
consultants by fear &amp;ndash; uses tactics that Machiavelli would blush at to keep
consultants in line.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Biology &amp;ndash; that is &amp;ndash;
bathroom breaks go on your time report.&lt;span&gt;&amp;nbsp;
&lt;/span&gt;You would leave, but your self-esteem is so low from working there, that
you don&amp;rsquo;t. &lt;/span&gt;&lt;/p&gt;
... and so forth, you have seen these entries before... look for a dozen or so more :)&lt;br /&gt;

&lt;p class="MsoNormal" style="margin-left:1in;"&gt;&lt;span style="font-family:'Calibri','sans-serif';"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-family:'Calibri','sans-serif';"&gt;Chapter 4: The secret guide to how geek
consultancies work&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-left:1in;"&gt;&lt;em&gt;&lt;span style="font-family:'Calibri','sans-serif';"&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-family:'Calibri','sans-serif';"&gt;Chapter 5: Getting in &amp;ndash; secrets to what
consulting firms look for&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-left:0.5in;"&gt;&lt;span style="font-family:'Calibri','sans-serif';"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-family:'Calibri','sans-serif';"&gt;Chapter 6: What you need to ask before you
join&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-left:0.5in;"&gt;&lt;span style="font-family:'Calibri','sans-serif';"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-family:'Calibri','sans-serif';"&gt;Chapter 7: Surviving&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-left:1in;"&gt;&lt;em&gt;&lt;span style="font-family:'Calibri','sans-serif';"&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-family:'Calibri','sans-serif';"&gt;Chapter 8: Thriving&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-left:1in;"&gt;&lt;span style="font-family:'Calibri','sans-serif';"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-family:'Calibri','sans-serif';"&gt;Chapter 9: Some Typical Career Arcs for
Technology Consultants&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;span style="font-family:'Calibri','sans-serif';"&gt;&lt;/span&gt;

&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-family:'Calibri','sans-serif';"&gt;Chapter 10: The Payoff&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;em&gt;&lt;span style="font-family:'Calibri','sans-serif';"&gt;&lt;/span&gt;&lt;/em&gt;

&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-family:'Calibri','sans-serif';"&gt;Chapter 11: How to know it&amp;rsquo;s not for you&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;span style="font-family:'Calibri','sans-serif';"&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="font-family:'Calibri','sans-serif';"&gt;&lt;/span&gt;&lt;/strong&gt;

&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-family:'Calibri','sans-serif';"&gt;Chapter 12: Thoughts on Consulting from Real Consultants&lt;/span&gt;&lt;/strong&gt; &lt;br /&gt;
&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-family:'Calibri','sans-serif';"&gt;Appendix A: A Consulting Lexicon&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;br /&gt;
The deal is done - now the big task is actually writing about 11 more chapters, an appendix, and generally, making it worth your time to purchase and read.&amp;nbsp; Now the hard part.. getting it all done and written!&amp;nbsp; I will say that it is an honor among honors to get a chance to not only write a book, but to get to write one on a topic that I am this passionate about.&lt;br /&gt;&lt;img src="http://blog.magenic.com/aggbug.aspx?PostID=5520" width="1" height="1"&gt;</content><author><name>aarone</name><uri>http://blog.magenic.com/members/aarone.aspx</uri></author><category term="The Nomadic Developer" scheme="http://blog.magenic.com/blogs/aarone/archive/tags/The+Nomadic+Developer/default.aspx" /></entry><entry><title>Agile Estimation?</title><link rel="alternate" type="text/html" href="http://blog.magenic.com/blogs/aarone/archive/2008/08/04/Agile-Estimation_3F00_.aspx" /><id>http://blog.magenic.com/blogs/aarone/archive/2008/08/04/Agile-Estimation_3F00_.aspx</id><published>2008-08-05T01:42:00Z</published><updated>2008-08-05T01:42:00Z</updated><content type="html">&lt;p&gt;If you can&amp;#39;t write a design until you write some code, how do agilists (or agilistas - you decide where you sit) - do estimation?&lt;/p&gt;&lt;p&gt;I am really curious.&amp;nbsp; I have, and do, do the COCOMO thing, function points, and other techniques.&amp;nbsp; Occasionally, if I think the app is CRUD enough, I go down to &amp;quot;screens&amp;quot; based estimation... but more or less, I am interested in the details that drive you to think &amp;quot;40 hours&amp;quot; versus &amp;quot;8 hours&amp;quot;.&amp;nbsp; And if you are doing agile and TDD, how you can ever come up with an estimate at all, at least before you write some tests which allow you to know... perhaps... what classes, and even more perhaps, what the FP of those classes will be, in your estimate.&lt;/p&gt;&lt;p&gt;I ask this not because I think estimation of effort up front is a good idea.&amp;nbsp; Largely, I think, it is a guess that we do given the information we have at the time, which, more often than not, is usually insufficient.&amp;nbsp; But every agilista is making a living, and if you are doing so, the people that, I dunno, pay you, are asking how long you think something will take, even before you have written the HOLY tests.&lt;/p&gt;&lt;p&gt;&amp;nbsp;Just curious... cause I am stumped.&lt;br /&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://blog.magenic.com/aggbug.aspx?PostID=5400" width="1" height="1"&gt;</content><author><name>aarone</name><uri>http://blog.magenic.com/members/aarone.aspx</uri></author></entry><entry><title>Charity Fragathon</title><link rel="alternate" type="text/html" href="http://blog.magenic.com/blogs/aarone/archive/2008/08/01/Charity-Fragathon.aspx" /><id>http://blog.magenic.com/blogs/aarone/archive/2008/08/01/Charity-Fragathon.aspx</id><published>2008-08-01T15:57:00Z</published><updated>2008-08-01T15:57:00Z</updated><content type="html">&lt;p&gt;My friends and colleagues &lt;a href="http://geekswithblogs.net/cwilliams/Default.aspx"&gt;Chris Williams&lt;/a&gt; and &lt;a href="http://jasonbock.net/JB/Default.aspx"&gt;Jason Bock&lt;/a&gt; - with the graphics/UX help of &lt;a href="http://uxconfidential.com/"&gt;Anthony Handley&lt;/a&gt; - are putting on an event that can only qualify as EPIC.&lt;/p&gt;&lt;p&gt;No, its not yet another user group, code camp, or something like that.&amp;nbsp; No, this one is strictly fun for charity - that is - &lt;a href="http://www.charityfragathon.com/"&gt;Charity Fragathon&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;If you can be in Minneapolis on September 24th, you should definitley go.&amp;nbsp; If not, at least a donation will help.&amp;nbsp; Magenic is matching the first 3K donated. &lt;br /&gt;&lt;/p&gt;&lt;img src="http://blog.magenic.com/aggbug.aspx?PostID=5350" width="1" height="1"&gt;</content><author><name>aarone</name><uri>http://blog.magenic.com/members/aarone.aspx</uri></author></entry><entry><title>Unit Test Framework for Silverlight: UnitDriven</title><link rel="alternate" type="text/html" href="http://blog.magenic.com/blogs/aarone/archive/2008/07/16/Unit-Test-Framework-for-Silverlight_3A00_-UnitDriven.aspx" /><id>http://blog.magenic.com/blogs/aarone/archive/2008/07/16/Unit-Test-Framework-for-Silverlight_3A00_-UnitDriven.aspx</id><published>2008-07-16T11:58:00Z</published><updated>2008-07-16T11:58:00Z</updated><content type="html">&lt;p&gt;Some of my colleagues at Magenic, &lt;a href="http://www.justnbusiness.com/"&gt;Justin Chase&lt;/a&gt; and &lt;a href="http://www.lhotka.net/weblog/"&gt;Rocky Lhotka&lt;/a&gt;, have developed a very nifty framework for unit testing Silverlight apps - &lt;a href="http://codeplex.com/unitdriven/"&gt;UnitDriven&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;In particular, it is optimized for testing asynchronous code in Silverlight, which is virtually impossible with existing unit test frameworks - both from Microsoft and elsewhere.&amp;nbsp; More details are available from the &lt;a href="http://codeplex.com/UnitDriven"&gt;CodePlex &lt;/a&gt;site.&lt;br /&gt;&lt;/p&gt;&lt;img src="http://blog.magenic.com/aggbug.aspx?PostID=5072" width="1" height="1"&gt;</content><author><name>aarone</name><uri>http://blog.magenic.com/members/aarone.aspx</uri></author></entry><entry><title>What the F#? - Role of F# in your Future Development Plans</title><link rel="alternate" type="text/html" href="http://blog.magenic.com/blogs/aarone/archive/2008/07/07/What-the-F_23003F00_-_2D00_-Role-of-F_2300_-in-your-Future-Development-Plans.aspx" /><id>http://blog.magenic.com/blogs/aarone/archive/2008/07/07/What-the-F_23003F00_-_2D00_-Role-of-F_2300_-in-your-Future-Development-Plans.aspx</id><published>2008-07-08T01:27:00Z</published><updated>2008-07-08T01:27:00Z</updated><content type="html">&lt;a href="http://video.msn.com/video.aspx?vid=652189c3-ecfa-43cf-ae9e-416716c6bdda" title="What the F#" target="_new"&gt;Video: What the F#&lt;/a&gt;


&lt;p&gt;In this video from TechEd Online, recorded at Teched last month, &lt;a href="http://www.pandamonial.com/"&gt;Amanda Laucher (aka Pandamonial)&lt;/a&gt; and I talk about what F# is, why you should care, and why functional programming matters.&lt;/p&gt;

&lt;p&gt;In an amazing coincidence, Amanda happened to have printed a F#TW t-shirt (i.e. F# For The Win, for those unaccustomed to the meme) - which is particularly ironic given that is an anagram of our interview :)&lt;br /&gt;
&amp;nbsp;&lt;/p&gt;&lt;img src="http://blog.magenic.com/aggbug.aspx?PostID=4894" width="1" height="1"&gt;</content><author><name>aarone</name><uri>http://blog.magenic.com/members/aarone.aspx</uri></author></entry></feed>