<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
    <channel>
        <title>ITJOBLOG</title>
        <link>http://www.itjoblog.co.uk/</link>
        <description></description>
        <language>en-US</language>
        <copyright>Copyright 2010</copyright>
        <lastBuildDate>Mon, 01 Feb 2010 05:18:27 +0000</lastBuildDate>
        <generator>http://www.sixapart.com/movabletype/</generator>
        <docs>http://www.rssboard.org/rss-specification</docs>
        
        <item>
            <title>Why HTML 5 should be on your CV</title>
            <description><![CDATA[Well, Apple's iPad was something of a letdown, wasn't it? The most anticipated product since the iPhone launched onto the global stage not with a bang, nor with a whimper, but with what can only be described as an embarrassed shuffle.<br /><br />You could tell that things were starting to go awry even as Steve Jobs sat down in the comfy chair onstage to carry out the demo. He was scrolling happily through several web pages, blissfully ignoring the fact that the first one he went to - the New York Times - simply didn't work as it was intended. Why? Because apparently, just like its smaller brother, the iPad doesn't support Adobe Flash.<br /><br /><object width="560" height="340"><param name="movie" value="http://www.youtube.com/v/RGPdv7dr_cI&amp;hl=en_US&amp;fs=1&amp;" /><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><embed src="http://www.youtube.com/v/RGPdv7dr_cI&amp;hl=en_US&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"></object><br /><br />Tim Anderson wrote recently about <a href="http://www.itjoblog.co.uk/2010/01/responding-the-mobile-challenge.html">the need to develop for the mobile Internet</a>. Mobile search and location-based services will drive the mobile web. Mobile advertising has been growing slower than expected -- recently, research firm EMarketer anticipated a $1.1 billion spend by 2012. The financial downturn has slowed developments, but the potential for mobile Internet revenues is staring us in the face, nevertheless.<br /><br />This is why Jobs' demo last Wednesday is so significant. The iPad is flawed in many respects. It has no camera. There are no standard ports on the thing. It costs more than many net books, and yet its operating system is locked down. But one of the biggest flaws is that without Flash, many of the sites that we would like to visit are not available.<br /><br />Such is Adobe's chagrin that its platform evangelist Lee Brimelow<a href="http://theflashblog.com/?p=1703"> published a list of websites</a> including Google Finance, Disney, CNN, popular American media streaming site Hulu, and Facebook application Farmville. None of them were without Flash, meaning that none of them will work on the iPad.<br /><br />Apple's decision to eschew Flash on the iPhone was irritating enough for Adobe, but to do it on a tablet device that Apple hopes will replace the laptop for many consumers sitting on the couch in the evenings is no less than a declaration of war. Adobe needs to promote itself in new markets like this one, where everything is at stake, and Apple is making it very difficult.<br /><br />Adobe definitely has cause to worry. Apple's share of the mobile market is only 2.7%, according to research firm Strategy Analytics. On the other hand, it sold 99.4% of all mobile applications last year. People buying Apple's mobile devices use them in ways that users of other mobile platforms do not, and Adobe will be well aware of this, as will Microsoft, which offers the competing Silverlight technology.<br /><br />And looming on the horizon is a potential game changer: HTML 5. This as-yet unratified technology is nevertheless being supported in its unratified perform in many browsers. It is vastly more functional than HTML 4. Web developers can display video using it, without having to resort to Flash. They can produce HTML-only pages that enable you to drag and drop anything, and edit any content. This is why Google Wave, the search engine giant's revolutionary new online messaging system, was built in HTML 5. It looks and feels like a desktop application.<br /><br />HTML 5 cannot claim to do as much as Flash can, but it may do enough. Apple, which itself likes to dominate all aspects of its business, doesn't like it when other companies like Adobe dominate a single part of the online experience. What Jobs may have been imagining when he scrawled through that broken site last week was a world in which it used HTML 5 -- and in which Adobe was increasingly irrelevant.<br /><br />What does that mean for IT professionals and web developers today? It means that understanding HTML 5 as it develops, and honing your skills in this exciting new technology, might not be a bad bet. As this new decade rolls on, you will find it looking more and more attractive on your CV.<br /><br /> ]]></description>
            <link>http://www.itjoblog.co.uk/2010/02/why-html5.html</link>
            <guid>http://www.itjoblog.co.uk/2010/02/why-html5.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Reviews &amp; Releases</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">Skills</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">Adobe</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">Apple</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">HTML 5</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">iPad</category>
            
            <pubDate>Mon, 01 Feb 2010 05:18:27 +0000</pubDate>
        </item>
        
        <item>
            <title>Responding to the mobile challenge</title>
            <description><![CDATA[<p>Few assumptions are safe in the IT industry. A few years back, it was obvious that that PCs running&nbsp;Windows were beating the Apple Mac into a tiny niche.&nbsp;Things look different&nbsp;now. If you planned your IT strategy on the earlier assumption and have not changed, you are now getting it wrong.</p>
<p>Another not entirely unrelated&nbsp;area is the significance of the mobile web. Mobile phones have had web browsers for as long as anyone can remember; but for most of that time actually using them has been frustrating and slow. Remember trying to scroll a tiny window around some web page broken by&nbsp;non-functioning Javascript or CSS, looking for a critical piece of information such as an address or schedule?</p>
<p>In consequence, the extent of mobile browsing was small and mainly focused on niche areas like travel.</p>
<p>It all changed with the iPhone. Those contracts are expensive, but once you buy in you generally get an unlimited data connection, and more important, a decent browser which is a version of Safari, built with <a href="http://webkit.org/">WebKit</a>. That same engine is now used in many other devices, not least those running Google Android. Suddenly, users do want to use their mobiles to browse the web; and they will be hitting your web site or application and trying to use it.</p>
<p>Check your stats. I run another blog at <a href="http://www.itwriting.com">itwriting.com</a>, and when a reader complained about its appearance on a mobile, I added a wordpress plugin which both fixes the layout and reports the traffic. According to the plugin, 5% of the traffic was from mobile users. Once the site was fixed, the figure grew dramatically, to over 15%.</p>
<p>A tech news blog is just the sort of thing that appeals to mobile users, so those figures will not apply in every case. The point though is this: all those assumptions about limited mobile usage which once seemed safe now no longer apply.</p>
<p>Here's another line I often hear. There's no need to optimise your site for mobile, since the more advanced mobile browsers&nbsp;work fine with normal web sites.</p>
<p>Unfortunately that is not the&nbsp;case. They work much better than older ones, true. However, the&nbsp;displays are very much smaller and the connection speed often much slower than on the desktop. If you want your site to be a pleasant experience for mobile users, you will likely have to deliver customised content for them.</p>
<p>Does everyone get this anyway? If you have a few spare minutes, head over to <a href="http://ready.mobi/">mobiReady</a>&nbsp;and try out a few sites; or download the <a href="http://developer.android.com/sdk/index.html">Android emulator</a>; or of course use a real device to test sites that you are involved in or interested in. I did so before writing this piece, discovering that the web still looks very broken once you go beyond the top sites.</p>
<p>The positive spin on this is that optimising for mobile&nbsp;can be&nbsp;a relatively easy way to gain commercial advantage.</p>
<p>Talking of safe assumptions, one that seems good right now is that the number of web-connected mobile devices is going to grow rapidly in the coming years. Optimising for mobile was always the right thing to do. Now it is essential.</p>
<p>&nbsp;</p>]]></description>
            <link>http://www.itjoblog.co.uk/2010/01/responding-the-mobile-challenge.html</link>
            <guid>http://www.itjoblog.co.uk/2010/01/responding-the-mobile-challenge.html</guid>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">mobile</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">web development</category>
            
            <pubDate>Fri, 22 Jan 2010 10:10:11 +0000</pubDate>
        </item>
        
        <item>
            <title>What we have here is a failure to communicate</title>
            <description><![CDATA[It's good to talk, or so the saying goes. So, why aren't candidates for IT jobs talking to their recruiters, and vice versa? Recent survey statistics suggest that the two factions aren't on the same page when it comes to job requirements -- and that it is creating a skills gap.<br /><br />The data, which came from a survey of 1560 IT professionals and 38 recruiters by CWJobs.co.uk, found a marked lack of communication between recruiters and candidates. That's going to hurt everyone, including the clients, in the long run.<br /><br />The problem, according to recruiters, is that job candidates don't have the skills that they need. But job candidates feel that the recruiters are not very good at explaining what they want. 59.6% of candidates said that employers are not clear enough about the skills they expect when recruiting for technology roles. And, surprise surprise, 65.8% of recruiters felt that candidates are not clear enough about the skills they have when they apply to jobs.<br /><br />This is leading to a mismatch in skills. Six out of 10 employers want C# skills, according to the survey, but 74% of technology professionals said that it wasn't an integral skill in the current market. 84.5% of them also said that ASP.NET wasn't an important requirement, and yet half of all recruiters want it.<br /><br />So, in addition to some better communication skills, there clearly needs to be some retraining. IT professionals say that they need to retrain in SQL, .NET, Java, Oracle, and Linux. Recruiters said that SQL, .NET, and Java will be important skills over the next one to two years, in addition to C#, and PHP (which still didn't feature highly on job candidates' lists).<br /><br />One interesting snippet is that recruiters cited soft skills such as business acumen and understanding user requirements as an important skill in the future. Perhaps this would also enable job candidates to communicate their skill sets more effectively. But recruiters need to do the same, and learn how to articulate what they want.<br /><br />This is something we clearly need to fix. This IT skills gap has arrived just at the point when the economy is beginning to recover (if the Bank of England is to be believed). Companies are starting to invest in new projects, and will need the technical expertise to implement them. The jobs are apparently waiting to be filled, but the whole situation is like a bad date; although each party is looking for someone else to be with, they can't seem to hit it off, because they are not on the same wavelength.<br /><br /><br /> ]]></description>
            <link>http://www.itjoblog.co.uk/2010/01/failure-to-communicate.html</link>
            <guid>http://www.itjoblog.co.uk/2010/01/failure-to-communicate.html</guid>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">Jobs</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">Skills</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">changing roles</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">skills gap</category>
            
            <pubDate>Mon, 18 Jan 2010 16:02:51 +0000</pubDate>
        </item>
        
        <item>
            <title>Defining a Project Vision</title>
            <description><![CDATA[Every project needs a project vision: the reason the team is working on this project. <br /><br />When you define the project's value early in the project, the more the project team is likely to tell you whether the project makes sense--or whether you're starting an impossible project. If you can't articulate the vision, chances are good that you're starting on an impossible project, because there's no way to end a project with no vision. A useful vision is compelling to the project team. And it helps the team make decisions about what's in or out of the project.<br /><br />Here's how you create the project vision:<br /><br />&nbsp;&nbsp; &nbsp;1.&nbsp;&nbsp; &nbsp;Define who the primary customers of the project are. They could be the mass market, existing customers, new customers, or a specific market segment. <br />&nbsp;&nbsp; &nbsp;2.&nbsp;&nbsp; &nbsp;Define the one major focus of the project. This could be a specific feature, or the general approach. If you're new to agile and you're starting a pilot project, you might want to say, "Use agile techniques to see how to adapt them here." A project doesn't focus on five things; it focuses on one overall vision. If your project requirements are too broad to encompass in one vision statement, maybe your project is really a program.&nbsp; A project has one deliverable. A program has one overall deliverable and is composed of sub-projects, each of which has a deliverable.<br />&nbsp;&nbsp; &nbsp;3.&nbsp;&nbsp; &nbsp;Write as much as you need to, and then edit until you're down to two to four sentences. If your vision is longer than four sentences, you haven't described the project focus yet.<br /><br />Here's how I do this. With the project team, we decide who the primary customers of the project are. Now, if I know the major focus, I explain it. Otherwise we try to define it together. Now, as individuals, we write our sentences, on stickies. We post them on the wall, and read them out loud, seeing which sentences make sense. We choose sentences and edit. Once we're down to no more than 4 sentences, we are done.<br /><br />If you're on a project without a vision, stop right now. Take 30 minutes, define it, and get back to the project work. The whole team will benefit, as will your customers.<br />]]></description>
            <link>http://www.itjoblog.co.uk/2010/01/defining-a-project-vision.html</link>
            <guid>http://www.itjoblog.co.uk/2010/01/defining-a-project-vision.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">project management</category>
            
            
            <pubDate>Thu, 14 Jan 2010 07:04:16 +0000</pubDate>
        </item>
        
        <item>
            <title>Windows Presentation Foundation: will its time ever come?</title>
            <description><![CDATA[<p>So you need a new Windows application. You fire up Visual Studio, but which project type do you select? Windows Forms application, or WPF application?</p>
<p>Windows Presentation Foundation was introduced at the same time as Windows Vista, with final code released in November 2006 as part of .NET Framework 3.0. It was designed to replace existing Windows graphics APIs such as GDI and GDI+ with a more powerful, flexible and scaleable framework for buiding a graphical user interface, taking advantage of DirectX hardware acceleration and rich graphical effects. If Vista had proceeeded as originally planned, it would probably have been deeply baked into Windows itself, but in the end took a lesser role, presumably for performance reasons. Microsoft also added Windows XP support to make WPF more attractive to developers. </p>
<p>Another goal was to improve designer/developer workflow. WPF uses XAML, a declarative XML language, and is amenable to manipulation through a visual design tool. Microsoft released Expression Blend and Expression Design, which export XAML, as well as supporting WPF in Visual Studio.</p>
<p>Developing a Windows GUI can be frustrating. If you have ever wrestled with dialog units or the impact of "small" vs "large" fonts, you will know how badly scaling is handled. WPF is a huge improvement, with sensible layout management as well as great support for multimedia and effects.</p>
<p>Nevertheless, WPF was slow to take off. Issues included the large memory footprint of a WPF application, deployment of the latest .NET runtime, and lack of pre-built components; in fact, for a long time Microsoft itself advised against using WPF for line of business applications.</p>
<p>There was another factor too. Long-term Microsoft platform users have learned to be cautious about any technology that is not much used within Microsoft itself. WPF was a great example, with little obvious use beyond the Expression tools themselves. In this context, it was fascinating the hear the talk from Principal Software Engineer Paul Harrington at PDC in November, about how <a href="http://microsoftpdc.com/Sessions/CL09">Visual Studio 2010 has been rebuilt with WPF</a>.&nbsp;Harrington's team has an advantage over most of us, in that they can press the WPF team to fix bugs and make changes, and that is exactly what happened. Visual Studio needed to use invisible windows for some operations; WPF did not support that, but now now in version 4.0 it does. The text rendering in the new editor was making some developers feel physically ill, apparently, because of its blurry appearance on some systems, so a new text stack was built, enabled by turning off ClearType. The Visual Studio team ran into problems with focus and activation, and new modes have now been added to WPF to fix them.</p>
<p>My guess is that the stress-testing of the Visual Studio team combined with other improvements in WPF, such as new business-oriented components, will make it the sensible choice for a Windows GUI application, other things being equal (which they never are), once Visual Studio 2010 is released.</p>
<p>The big caveat is that developing new applications using a Windows-only API does not look like a smart choice in many scenarios, though it could still make sense within some organisations, or if your application is strongly hooked into Windows anyway. WPF has good support for new Windows 7 features, for example. But Microsoft is also releasing Silverlight 4.0, which has considerable compatibility with WPF but runs on the Mac as well as on Windows, is easier to deploy, and which fits with the web model for data handling. Silverlight 4.0 now has COM support on Windows, when run out of the browser, which means you can add native code if you really need to, and integrate with other applications such as Microsoft Office.</p>
<p>In some curious way then, WPF is maturing to become an excellent development framework at just the wrong moment. Nevertheless, I'd now think twice before hitting the Windows Forms option on a new application.</p>]]></description>
            <link>http://www.itjoblog.co.uk/2010/01/windowspresentation-foundation.html</link>
            <guid>http://www.itjoblog.co.uk/2010/01/windowspresentation-foundation.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Skills</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">Working Life</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">.net</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">visual studio</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">windows</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">wpf</category>
            
            <pubDate>Mon, 11 Jan 2010 10:03:15 +0000</pubDate>
        </item>
        
        <item>
            <title>Why I Don&apos;t Like Time-Based Estimates</title>
            <description><![CDATA[I teach project management and estimation workshops. Every time I teach estimation, someone asks, "How can we get the perfect estimate?"<br /><br />You can't. Estimates are guesses. And, if you are multitasking, every estimate you have is wrong. Guaranteed.<br /><br />But you still need to figure out when things will be done. Instead of estimating how long a task will take, I prefer to estimate how many small things I can complete in a week. And, I make sure I get to done on each task before I take on another task.<br /><br />One of the problems of estimating large tasks is that we tend to estimate in units that are too large. If you estimate in weeks, you'll be off by weeks. In days, you'll be off by days. In hours, you'll be off by hours. Over the course of a project, even estimating in hours can obscure the actual duration remaining for the project.<br /><br />Instead of using scope as the base, I use a timebox. Instead of asking, "How long will this take?" I ask, "What are all the small tasks required to complete this piece of scope?" Then I see how many of those will fit into a week. <br /><br />If you're working with other people, and are using a Delphi method for estimation, you'll discuss your estimate. You'll hear things like "If Danny does it, it's only a 3. If I do it,
it's a 5." I always take the upper estimate. Why? Because if Danny is so good, he's not going to be available. He'll have questions to answer or some other task that's a higher priority. I'll do it anyway. And, if I practice doing these tasks I'm not so good at <b>now</b>, I'll get better pretty quickly.<br /><br />Think hard about whether you want a good estimate or if you want the work done. Estimating at the beginning of the project is often a waste of time. The more work you get done, the better your remaining estimate will be.&nbsp; ]]></description>
            <link>http://www.itjoblog.co.uk/2009/12/timebased-estimation.html</link>
            <guid>http://www.itjoblog.co.uk/2009/12/timebased-estimation.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Estimation</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">project management</category>
            
            
            <pubDate>Wed, 16 Dec 2009 07:31:48 +0000</pubDate>
        </item>
        
        <item>
            <title>Microsoft has little excitement about its cloud</title>
            <description><![CDATA[<p>I attended Microsoft's Professional Developers Conference last month, with one of my goals being to learn more about Azure, the company's cloud computing platform. I have been meaning to write a post on the subject for some time, but it did not come together until this week, when I listenened to Marc Benioff expounding the Salesforce.com version of cloud computing.</p>
<p>Benioff is ebullient and outspoken; a contrast to Microsoft's Ray Ozzie who gave the Azure keynote at the PDC and conveyed little excitement. Of course, it's easier to be ebullient when your company is growing at 20% per year; but another factor is that the Saleforce.com vision is easier to articulate. Throw out your servers, says Benioff, and move everything to the cloud, that is, to us.</p>
<p>In reality Salesforce.com has a significant integration story, so you can have your on-premise applications talk to your cloud applications, but it is not something Benioff talks about much. Why should he? His company profits when you migrate stuff to his platform; the integration piece is merely an enabler.</p>
<p>Microsoft by contrast makes its money from on-premise software. Its internet services lose money, according to its own accounts. It also has a vast partner infrastructure that is sustained by installing and maintaining its products.</p>
<p>Still, Microsoft knows that it has to do cloud, because the economic benefits to its customers are unavoidable, and because any IT company without a cloud strategy will be punished by the financial markets. In consequence, there is an array of consumer services under the Live brand, and an emerging platform of enterprise services under the Azure brand.</p>
<p>Azure is Windows server in the cloud. You get SQL Server; you get IIS; you get ASP.NET; and it is all pay-as-you-go. So is Microsoft suggesting that we throw out our servers? Considering the profitability of its server division, that would be madness; and indeed, the PDC presented mixed messages about the company's cloud strategy.</p>
<p>This was brought home to me by a session I attended on <a href="http://microsoftpdc.com/Sessions/SVC20">Bridging On-Premise and the Cloud</a>, given by Windows Azure Distinguised Engineer Yousef Khalidi. Cloud computing, said Khalidi, is a "style of computing with dynamically scalable and virtualized resources provided as a service through the network ... this definition doesn't even say if it has to be on the internet or not. It's a way to think about how an application is structured to fit in a cloud-like model."</p>
<p>Khalidi went on to describe a "spectrum" of computing platforms, from the traditional server or datacenter to private and then public clouds. The forthcoming AppFabric Server will make it easier to run cloud-like applications (according to the definition above) on your internal network, with the option to move it to Azure later should you so desire. "Our strategy, our basic thesis guys, is that there are benefits across the whole spectrum and we'll continue to support the whole spectrum," he said.</p>
<p>The snag is that co-ordinating cloud and on-premise gets complicated, as a glance at one of his slides illustrates.</p>
<p><img alt="ms-cloud.png" src="http://www.itjoblog.co.uk/ms-cloud.png" width="435" height="317" /> </p>
<p>Well, computing is a complex business and I can understand the appeal of this model to Microsoft-platform companies that require some specific benefit, like pay-as-you-do scalability. As an overall proposition though, it is less attractive than the kind of thing Benioff talks about; it can feel like adding complexity rather than reducing it.</p>
<p>Another issue with Azure is that while it lifts much of the IT administrator's burden, it does little to speed development. You still have to write the code, test it, debug it, deploy it, maintain it. Saleforce.com on the other hand is not only a multi-tenant platform, it is a multi-tenant application. If you are lucky, a little bit of customisation is all you need.</p>
<p>You might not be lucky. You might end up having to write mountains of non-portable code in Apex, the Force.com language. You might run into limitations of the platform, like its difficulty with long-running data processing operations that can interfere with the responsiveness of the system. Salesforce.com is also an expensive platform, with per-user per-month fees for ever.</p>
<p>Still, at least Benioff has a coherent story. I'm not sure that Microsoft does. </p>
<p>The latest news is that Microsoft has re-organized Azure into a new <a href="http://blogs.technet.com/windowsserver/archive/2009/12/08/windows-server-and-windows-azure-come-together-in-a-new-stb-organization-the-server-cloud-division.aspx">Server &amp; Cloud Division</a>. So now the internal division that has most to lose if Azure succeeds is running the whole show. Technically that makes sense; but the marketing message is going to be even harder to articulate.</p>]]></description>
            <link>http://www.itjoblog.co.uk/2009/12/microsoft-cloud-computing.html</link>
            <guid>http://www.itjoblog.co.uk/2009/12/microsoft-cloud-computing.html</guid>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">azure</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">cloud computing</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">mark benioff</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">microsoft</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">ray ozzie</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">salesforce.com</category>
            
            <pubDate>Fri, 11 Dec 2009 07:14:53 +0000</pubDate>
        </item>
        
        <item>
            <title>How to Estimate Without Time Units</title>
            <description><![CDATA[If you want to know how to estimate without using time units, here's how I do it:<br /><br />For my work, I block out half-day chunks of time. I find that I can do some tasks in that half-day chunk (1, 2, or 3), and finish enough on any one thing that I can safely mark it as done enough and go on to the next task. <br /><br />Some days, I have tons of little things to do: return calls, make lists, prepare to do something. Some days I have larger tasks: write a blog entry, draft a workshop, write a ton of email. Some days I have quite large tasks: draft 1 of a piece of a chapter, draft 1 of an article, draft 1 of a report. <br /><br />Most weeks, I have a mix of things that are small, medium, and large. I no longer worry or estimate how long any of these things will take. I know about how many of the small, medium, and large tasks I can finish in a week. I can make my lists taking that into account. <br /><br />If you are a developer or tester or BA or technical writer or a whatever (don't want to leave anyone out :-), you can do the same thing. Here's my recipe:<br /><br /><ol><li>Make sure you've taken any task larger than a half-day chunk and broken it down into smaller tasks. That's why you see draft 1's for articles. I can write a draft in less than a half-day. I can't finish all the editing and have a great article at the end of a half-day. So, I don't try to do so.</li><li>Be clear on what done means for a particular task. If you don't know what done means, you can't get there. You'll either "finish" without getting to a reasonable stopping point and then you worry, or you can't finish in less than a half-day chunk.</li><li>Do just that one task until it's done. Commit to it. Finish it. <br /></li></ol>Now you have a little recipe for getting the tasks done. Here's how you apply it to your estimation. When someone asks how long something will take, you look at all your little tasks. Make sure they small, medium, or large, where large still fits in a half-day. You get no more than 10 half-days in a week. How many of these tasks can you do in a week? Add them up, and there you have your estimation without having to define how many hours a given task is.<br /><br />If you're part of a project team, and want to try this on a larger scale, I particularly like the Fibonacci series (1, 2, 3, 5, 8, 13, 20) for estimating how large and complex a task is. As a team, use a Delphi approach (everyone gets together and as a group agrees on a number. For me, and when I teach my estimation workshop, any task larger than a 13 means "we have no clue and 20 is as good a number as any other number." When you hear someone is a specialist and can finish something earlier,&nbsp; take the larger of the two values. <br /><br />Other folks use t-shirt sizing: XS, S, M, L, XL, 2XL, 3XL. I don't like that as much, because, in my experience, teams don't learn to break tasks down enough, and have too many M, L, XL tasks. YMMV.<br /><br />Now, it doesn't matter if you work in iterations or not. Take a week. As a group, ask "How many of these tasks can we do in a week?" Discuss the question. Arrive at a number you can all live with. You're done!<br /><br />Remember that estimates are guesses. They are likely to be wrong, especially if you use time-based units. That's because we are either optimists or pessimists and because we never have ideal hours, days, or weeks. Try this and see what happens to your estimations. <br />]]></description>
            <link>http://www.itjoblog.co.uk/2009/12/estimating-without-time.html</link>
            <guid>http://www.itjoblog.co.uk/2009/12/estimating-without-time.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Agile</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">Estimation</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">Working Life</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">project management</category>
            
            <pubDate>Sun, 06 Dec 2009 10:25:52 +0000</pubDate>
        </item>
        
        <item>
            <title>Why Silverlight makes sense</title>
            <description><![CDATA[<p>I'm just back from Microsoft's Professional Developers Conference in Los Angeles, where the star of the show was the latest update to the Silverlight browser plug-in that lets you run .NET applications cross-platform and within the browser. The pace of development is remarkable. It is only 9 months ago that we were first shown the beta of Silverlight 3, at the Mix conference in March. Silverlight 3 was fully released in July; and now we have version 4.0 beta, with release promised for the first half of 2010.</p>
<p>It is a big release too. Many of the top Silverlight <a href="http://silverlight.uservoice.com/pages/4325-feature-suggestions">feature requests</a> are being implemented, including printing, right-click and mouse wheel support, a rich text control with editing, clipboard support (though text-only in the beta), drag-and-drop, interaction with Webcams and microphones, multitouch control, improved just-in-time compilation for faster performance, and improved databinding for business applications. </p>
<p>In addition, the forthcoming Visual Studio 2010 is the first to have the kind of Silverlight development tools you would expect, with a true visual design surface and drag-and-drop data binding. On the server, WCF (Windows Communication Foundation) RIA Services simplify the effort of authentication, talking to data, and integrating with ASP.NET.</p>
<p>Another notable feature is the ability to run a Silverlight application out of the browser, started from a desktop shortcut and displayed in a custom window. New in version 4.0 is an HTML control, which embeds IE on Windows and WebKit (used in Safari) on the Mac. These are desktop/web application hybrids. Silverlight 4 blurs the boundaries, by adding a new trusted mode. Subject to the user passing a security dialog, a trusted out-of-browser application gets local file access to user data, cross-domain network access, and on Windows native code interop through COM automation.</p>
<p>The snag with this last point is that any Silverlight application which uses COM automation will only run on Windows, breaking the cross-platform compatibility which is a key reason to use Silverlight in the first place. Although Microsoft says the feature has been put in simply to meet the requirements of a few Enterprise customers, it seems to me that it goes well beyond that, making Silverlight viable in many scenarios that previously would have required a native solution.</p>
<p>Microsoft's ideal scenario is one where applications run everywhere, but run best on Windows, preserving its desktop lock-in. The company calls this "lighting up the platform"; but Windows is somehow the only platform that gets lit up.</p>
<p>I still think it is time to learn Silverlight. The reason is not only Microsoft's signposting of this as its key technology for future client development, but something else I saw last week: Google's <a href="http://blog.chromium.org/2009/11/hello-open-source-developers-would-you.html">Chrome OS</a>. I'll be writing more about this; but I was impressed by how this forthcoming browser-based operating system promises to solve long-standing problems: cheap, lightweight computers that are secure, that start up instantly, that give us access to all our data, but can be left in the back of a taxi without compromising our secrets.</p>
<p>What if Chrome OS catches on? Does Microsoft become irrelevant? The real world does not move that fast; but considering the continuing popularity of the Mac along with the prospect of Chrome OS, it strikes me as brave to presume a Windows-only client for future development. Silverlight on the other hand should run in Chrome OS, either using Mono's Moonlight, or the Intel port being done for Moblin, or perhaps Microsoft itself will have to dirty its hands with Linux. Google might block Silverlight - it was non-committal on the subject at the Chrome OS press briefing - but I'm guessing that concerns over appearing excessively controlling will trump the desire to shut out a competitor.</p>
<p>The point here is not that Silverlight is the answer for all client development; there are plenty of other strong choices. The point rather is that for Microsoft platform developers Silverlight is the technology that makes it possible to take your C# or VB.Net skills and transition them to a new cross-platform, web-oriented world.</p>]]></description>
            <link>http://www.itjoblog.co.uk/2009/11/why-silverlight-makes-sense.html</link>
            <guid>http://www.itjoblog.co.uk/2009/11/why-silverlight-makes-sense.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Skills</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">.net</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">c#</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">microsoft</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">silverlight</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">visual basic</category>
            
            <pubDate>Mon, 23 Nov 2009 09:00:34 +0000</pubDate>
        </item>
        
        <item>
            <title>A Technical Leader vs. A Manager</title>
            <description><![CDATA[I've been traveling, at three conferences in three weeks. At some point during these weeks, a few people asked me, "What's the difference between a technical lead and a first line manager?" Given their job descriptions, which include helping people manage their careers, seems to me that the answer is $10,000-$20,000. That is, the technical lead was being paid less, but doing the same work as a manager. <br /><br />Ok, maybe I'm being a little cynical. Wouldn't be the first time today :-) But, I don't think anyone is restricted from being a technical leader. That person doesn't have to manage people or help them manage their careers. My opinion is that anyone who is responsible for results generate by other people is some kind of manager.<br /><br />But a technical leader, is in Jerry Weinberg's words, "Leadership is the process of creating an environment in which everyone feels empowered", from <i>Becoming a Technical Leader</i>. <br /><br />The people I spoke with did that. They also did many other kinds of work, including leading design/architecture work, which is what many of them thought the tech lead job was. But if you think about creating an environment, you can see that if you facilitate a decision, you're a technical leader. If you make it easier to ask for support or help, you're a technical leader. If you ask for whiteboards or chairs or some other tool, and that tool makes it easier for people to work and collaborate, you are a technical leader. <br /><br />I wish organizations would stop using the term "tech lead" to stop paying first line managers what they are worth. I wish more people would exercise their technical leadership muscles. <br /><br />Just remember, it doesn't matter what they call you, you can be a technical leader. <br /> ]]></description>
            <link>http://www.itjoblog.co.uk/2009/11/technical-leader-vs-manager.html</link>
            <guid>http://www.itjoblog.co.uk/2009/11/technical-leader-vs-manager.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Rants and Raves</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">Working Life</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">Managers</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">Technical Staff</category>
            
            <pubDate>Thu, 19 Nov 2009 09:06:37 +0000</pubDate>
        </item>
        
        <item>
            <title>Fun with virtual hard drives at Microsoft Tech-Ed</title>
            <description><![CDATA[<p>At <a href="http://www.msteched.com/online/home.aspx">Microsoft Tech-Ed 2009</a> in Berlin long-time Windows server expert Mark Minasi gave a session on the .vhd format used by Microsoft for virtual hard drives in Hyper-V, the virtualisation feature built into Windows server 2008.</p>
<p>Minasi's talk was not about Hyper-V, but rather about other things you can do with a .VHD. He even noted that in a Windows environment you can use a .VHD as a superior form of ZIP (though without the compression), if you want a single file that can contain windows files and folders while preserving NTFS security attributes, and that can be mounted - or "attached" in .VHD jargon - rather than having to be extracted elsewhere.</p>
<p>One neat trick is to use .VHDs for multi-boot. Multi-boot is less important now that virtualisation works so well, but can still be useful if want to test an operating system with full performance and access to hardware such as accelerated graphics. The old way to do this is with multiple partitions, but this is somewhat inconvenient. Windows 7 is able to boot from a .VHD, and you can set up mutiple VHDs so that you can choose which one to use at start-up. There are a couple of limitations. The operating system has to be Windows 7 or presumably 2008 R2 (which uses the same kernel); and sleep/hibernate does not work in this configuration.</p>
<p>A VHD is still just a file, so you can back it up by copying it elsewhere, provided it is not the one currently running. Note that in this configuration only the hard drive is virtual, not the computer hardware, so while you could go&nbsp;on to&nbsp;mount the VHD in Hyper-V it would be like moving Windows to a new motherboard and very likely would not boot.</p>
<p>Another clever tip is that Windows 7 setup support a keystroke combination, Shift F10, which gives access to the command line for MinWin, the cut-down version of Windows that runs during setup. Here you can get access to Diskpart, the command-line disk management tool, which among other things lets you create a VHD. So you can take a machine with an untouched hard drive, boot into the Windows 7 setup, shell to the command line and create a VHD, then attach and install Windows onto that new virtual drive. Setup actually states that this does not work; but it does work, and we saw it demonstrated.</p>
<p>There are three kinds of VHDs. A fixed VHD has the same on-disk size as its capacity. An expanding (or dynamic) VHD reports the size that you specify when it is greated, but only occupies the space on its host that is needed by the data written there. This is convenient for backup, and lets you over-commit the host drive if you choose to. The third kind is a differencing VHD - a VHD that is based on a parent and only occupies the space needed by its difference as you write to it. The GUI Windows disk management tool does not support creation of differencing VHDs: one of Minasi's points is that you should learn the command line approach using Diskpart in order to get access to all the available features. That said, differencing VHDs <strong>are</strong> supported in the Hyper-V GUI&nbsp;management tool.</p>
<p>The bottom line is that VHDs have uses that go beyond virtual machines and if you work on the Windows platform it is well worth becoming familiar with them.</p>]]></description>
            <link>http://www.itjoblog.co.uk/2009/11/virtual-hard-drives.html</link>
            <guid>http://www.itjoblog.co.uk/2009/11/virtual-hard-drives.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Skills</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">hyper-v</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">microsoft</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">vhd</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">virtualisation</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">windows</category>
            
            <pubDate>Fri, 13 Nov 2009 07:54:34 +0000</pubDate>
        </item>
        
        <item>
            <title>Does Your Life Cycle Create a Project Smell?</title>
            <description><![CDATA[I'm at the PNSQC conference this week, and gave a talk where I said pragmatic project managers select a life cycle that manages the big risks for them, so they can pay attention to the other risks. At some point, I said, "If you ever hear:"<br /><ul><li>If we could just get the requirements right</li><li>If we could just get the architecture right</li><li>If we could just get the design right</li><li>If we could just get the testing right</li><li>...</li></ul>Anything you hear that starts "If we could just" and ends in getting something right means you are not choosing a life cycle that manages the risks you have. That's a project smell.<br /><br />Some projects are big, risky, complex, scary, whatever. You still have to do them. But you can choose which risks you can allow your life cycle to manage for you.<div><br /><span class="mt-enclosure mt-enclosure-image"><img alt="Lifecycle6.gantt.jpg" src="http://www.itjoblog.co.uk/Lifecycle6.gantt.jpg" width="540" height="286" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></span><div>&nbsp;&nbsp;<div><div><div>Serial life cycles originally existed to manage cost. You were supposed to re-estimate the project after each phase to decide if you wanted to continue. We haven't done that since the '70s. Now, serial life cycles don't manage any risks for you, as an inherent part of the life cycle.<br />&nbsp;<br />Iterative life cycles manage technical risk because they provide experience with building pieces of the product. Incremental life cycles manage schedule risk because they have people work in feature chunks, integrating and testing as you go. Agile life cycles manage both technical and schedule risk because they allow you to gain experience with the features inside a timebox, so you always know how long and how risky things are to do.<br /><br />If you find yourself saying "If we just...", you have a project smell of some sort. Make sure it's not your life cycle. <br /><br />(For more information on life cycles, take a look at <a href="http://www.jrothman.com/Papers/Cutter/whatlifecycle.html">What Lifecycle? Selecting the Right Model for Your Project</a>.)<br /></div><div><br /></div></div></div><div><br /></div></div></div>]]></description>
            <link>http://www.itjoblog.co.uk/2009/10/project-life-cycle.html</link>
            <guid>http://www.itjoblog.co.uk/2009/10/project-life-cycle.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">project management</category>
            
            
            <pubDate>Wed, 28 Oct 2009 07:22:27 +0000</pubDate>
        </item>
        
        <item>
            <title>Scott Guthrie on ASP.NET MVC versus Web Forms</title>
            <description><![CDATA[<p>At the <a href="http://events.carsonified.com/fowa/2009/london/">Future of Web Applications</a> conference earlier this month I spoke to Microsoft's corporate VP of the .NET Developer Platform, Scott Guthrie about ASP.NET MVC. Guthrie is a co-inventor of ASP.NET along with Mark Anders, now at Adobe. A few months back I wrote a piece entitled <a href="http://www.itjoblog.co.uk/2009/03/aspnet-mvc-rescues-microsofts.html">ASP.NET MVC rescues Microsoft's web platform</a>, but I wanted to hear from Guthrie how he sees the framework evolving, and to explore whether it is time to abandon the older Web Forms approach. How does he see the future of the platform?</p>
<blockquote style="MARGIN-RIGHT: 0px" dir="ltr">
<p>"The amount of buzz and religious fanaticism about [ASP.NET MVC] is amongst the highest I've been involved in, certainly since .NET 1.0 and Silverlight. Some people prefer the Web Forms model&nbsp; and I emphasise that Web Forms is not going away, there's all the new stuff that's coming for Web Forms 4.0. </p>
<p>"MVC is an alternative way to do UI&nbsp;and still leverage ASP.NET. For crowds like the one here at FOWA that wants total control over the markup, and who like test-driven&nbsp;development,&nbsp;it's a dream framework. Those folk tend to be more online, so they communicate better which is part of the reason you hear the buzz. I think we'll have more than a million developers using ASP.NET MVC within the first twelve months."</p></blockquote>
<p>In your talk you mentioned the <a href="http://stackoverflow.com/">stackoverflow</a> site which performs very well but runs on not very much in terms of hardware? Is ASP.NET MVC more efficient than Web Forms?</p>
<blockquote style="MARGIN-RIGHT: 0px" dir="ltr">
<p>"ASP.NET itself has always been really fast, we've had a lot of success with large sites. One of the things people like about ASP.NET MVC is that the model fits to what they are expecting, for the large LAMP contingent which is heavily represented at this conference.&nbsp; And when they do the performance testing they say 'Holy cow, this thing is fast.'&nbsp; Stackoverflow is a great example, written I think within three weeks and scaling to that level&nbsp;with two machines. Performance is a feature, and one of the reasons StackOverflow works as well as it does is that it's instantaneous response time.</p>
<p>"Conchango just did a site, implemented in 20 weeks, a giant ecommerce project, it's 100% ASP.NET MVC. The SEO is phenomenal, the <a href="http://developer.yahoo.com/yslow/">YSlow</a> rating is phenomenal, they're just blown away. It was fun talking to them last night - the guy was jokingly saying, 'I can't believe it works so well'. It's like the best marketing literature in the world times ten. More and more when I give talks I'd say half the people are new to ASP.NET MVC, and the other half come upand say, 'by the way we've done five sites on it.' That's great to hear."</p></blockquote>
<p>On equivalent hardware and leaving aside different coding styles, is ASP.NET MVC going to scale that bit better than Web Forms?</p>
<blockquote style="MARGIN-RIGHT: 0px" dir="ltr">
<p>"No. The reality is you can build hugely scalable sites with each. Where it does help a little bit is that there is smaller page size and there's a bit more control. There's less abstractions."</p></blockquote>
<p>And the page lifecycle is shorter?</p>
<blockquote style="MARGIN-RIGHT: 0px" dir="ltr">
<p>"It is shorter. I don't think that's making any measurable perf difference. It's more that it naturally flows to what they're doing. I do think it's fast, in the same way that web forms can be fast too. But it promotes&nbsp;a certain way of working that, if you know what you're doing, you tend to build really fast apps."</p></blockquote>
<p>What about the open source aspect? Are people contributing code?</p>
<blockquote style="MARGIN-RIGHT: 0px" dir="ltr">
<p>"People are not contributing code directly to ASP.NET MVC, but we're shippling <a href="http://jquery.com/">JQuery</a> and we're shipping JQuery validation which are open source projects, and we are integrating them into our code. With JQuery in ASP.NET MVC version 1.0 we just shippped it, whereas in version 2.0 we have helper libraries that are making big usage of it. </p>
<p>"I'd say that's a first for Microsoft, we're actually taking open source software that has multiple contributors, and using it in a deep way within our own product.</p>
<p>"We ship the ASP.NET MVC source code under an <a href="http://www.opensource.org/licenses/">OSI</a> Licence. You can take the code, you can modify it, you can do builds. I know a few people that have done customer tweaks, but for the most part it's that people like being able to learn the product through the code. There's also the reassurance of knowing that if they ran into something, they could fix it."</p></blockquote>
<p>Would you consider accepting community contributions to the code?</p>
<blockquote style="MARGIN-RIGHT: 0px" dir="ltr">
<p>"We've thought about it. I think a lot of people interpret open source as 'hey, anyone can just submit stuff'. The reality is that pretty much every open source project has a closed set of contributors. They come from multiple organisations or backgrounds, but you don't check anything into the Linux kernel without Linus or Andrew signing off on the fix. That would be true of ASP.NET MVC, in that there would be a core set of contributors. At some point I think we will probably open it up to let people to contribute code, or at least patches."</p></blockquote>
<p>What's new in the latest <a href="http://aspnet.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=33836">ASP.NET MVC 2.0 preview</a>?</p>
<blockquote style="MARGIN-RIGHT: 0px" dir="ltr">
<p>"The ability to easily do forms validation for input, server-side and especially client-side in a very declarative, easy way, is a huge productivity win.</p>
<p>"'Areas' provide a way to take a large project and easily structure it into multiple small projects. </p>
<p>"New form helpers and what we call editor and display templates for customising them&nbsp; is an innovative way to get strong typing, intellisense and debugging support, and a lot of flexibility in terms of UI generation. </p>
<p>"Asynchronous controllers allow you to call call services on the web, the Twitter, the Facebooks of the world, and&nbsp; much more efficiently&nbsp; scale your web server. The classic problem if you're calling Twitter is what's the response time of Twitter? What's the response time of Facebook? Most web servers are multi-threaded so they're processing multiple requests, but say they have 10 threads running and 15 requests come in, and each of those requests need to go and access Twitter, you're going to block 5 people while nothing is going on on the server. With the Async support we provide a way that you within your app can say, I'm going to wait for a while, yield back the thread, and when the data comes back reschedule me. It can dramatically improve the scalability of the site.</p>
<p>"We're doing a bunch of work around helpers for caching, paging, and a other things. In general it's a compatible release, we're trying to listen to the community, keep it a very transparent, Agile-based development process and knock off the top asks. </p>
<p>"We ship the source to every preview, take lots of feedback. That's the other thing people have really liked about the project, this open feedback. They don't feel like we're telling them, here's the way it is, take it or leave it. They like the fact that we've been iterating with them."</p></blockquote>
<p>Guthrie is diplomatic about the question of Web Forms versus ASP.NET MVC, and even though I pressed him, would not quite agree that it performs much better. Clearly Web Forms is not going away. Take a look though at some of the <a href="http://consultingblogs.emc.com/howardvanrooijen/archive/2009/10/11/Simplify-Separation-of-Concerns-in-ASP.NET-MVC-with-AutoMapper.aspx">comments from practitioners like Howard van Rooijen</a> of EMC (formerly Conchango):</p>
<blockquote>
<p>One of the great aspects of ASP.NET MVC is how lean and clean the architecture is - there is so little background noise compared to WebForms; possibly the best illustration of this is the difference between the <a href="http://blog.codeville.net/2009/10/08/aspnet-mvc-learning-resource-request-handling-pipeline-poster/" target="_blank">MVC Request Pipeline</a> vs. <a href="http://www.eggheadcafe.com/articles/o_aspNet_Page_LifeCycle.jpg" target="_blank">WebForm Page Lifecycle</a>. The number of hoops you are forced to jump through in WebForms, compared to MVC is quite staggering.</p></blockquote>
<p>Overall I heard nothing to change my general opinion, that if you can use ASP.NET MVC rather than Web Forms, you probably should.</p>]]></description>
            <link>http://www.itjoblog.co.uk/2009/10/aspnet-mvc-vs-web-forms.html</link>
            <guid>http://www.itjoblog.co.uk/2009/10/aspnet-mvc-vs-web-forms.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Agile</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">Reviews &amp; Releases</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">Skills</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">asp.net mvc</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">microsoft</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">web development</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">windows</category>
            
            <pubDate>Tue, 27 Oct 2009 07:20:00 +0000</pubDate>
        </item>
        
        <item>
            <title>Who Really Manages?</title>
            <description><![CDATA[I meet managers all the time who they they are responsible for other people's work. "It's my job to make sure the work gets done."<br /><br />Oh, boy. Those managers are wrong. Managers are responsible for:<br /><ul><li>Creating an environment in which people can do their best work. This includes deciding which work to do now and which work to postpone or never do.<br /></li><li>Providing a system in which people can get and give feedback.</li><li>Building capacity in the organization.</li></ul>That's it. That's why I say managers manage the system.<br /><br />Knowledge workers manage themselves. They learn how to break their work down into smaller tasks, so they can make progress. If people don't know how to do that, the manager or colleagues provide feedback, and someone might teach or provide coaching. But it's not the manager's job to manage the people. It's the manager's job to manage the system.<br /><br />If you're a manager, think hard about the system in which your technical staff work. Are you creating an environment in which people can deliver good work? Can people give and receive feedback? Are you thinking strategically so you can build capacity in the organization?<br /><br />If you're not a manager, and your manager doesn't know how to do these things, consider coaching the manager. It's likely your manager doesn't realize what his or her job is. Provide a little feedback and a little coaching. <br /><br />When you think about management, remember that managers manage the system, not the people. The people manage themselves and their work. Just wanted to make that clear.<br /> ]]></description>
            <link>http://www.itjoblog.co.uk/2009/10/management.html</link>
            <guid>http://www.itjoblog.co.uk/2009/10/management.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Management</category>
            
            
            <pubDate>Mon, 19 Oct 2009 07:03:05 +0000</pubDate>
        </item>
        
        <item>
            <title>What&apos;s your choice in the mobile battleground?</title>
            <description><![CDATA[<p>Mobile devices are today's development battleground. Timing is everything: I recall Borland's 2003 conference when it introduced an extensive mobile development strategy based on the ill-fated C++ BuilderX, with SDKs from Nokia and Symbian. The sessions drew sparse attendance and Borland later abandoned the product, returning to the Windows-oriented C++ Builder.</p>
<p>So what changed? In part, devices have become more powerful and mobile internet access faster and more pervasive, making the platform more attractive. A bigger factor though is Apple's iPhone. In hindsight, the mobile vendors and operators made mobile development too difficult, with fragmented platforms and locked-down devices. Microsoft has had some success extending Windows to mobile devices, for enterprise development in either C++ or .NET, but its market share is too small, the devices insufficiently well liked, and the deployment obstacles too great. Java had some success too, but write-once, run anywhere never really worked for mobile.</p>
<p>Enter iPhone, with a single platform and easy deployment through the App Store. The "easy deployment" part has to be qualified, since developers have been confronted with limited access to the device, restrictions on what they can develop, and an opaque approval process; but it has worked, and the potential of the mobile platform - about which we have known for years - is now being unlocked.</p>
<p>Other vendors are belatedly rising to the challenge. I'm just back from Nokia's <a href="http://qt.nokia.com/qtdevdays2009">Qt Developer Days</a>, and saw the energy the company is putting into creating a cross-platform, open source mobile development framework. Windows Mobile, Maemo and Symbian are on the immediate roadmap. On the deployment side, Nokia has the <a href="http://www.ovi.com/services/">Ovi store</a>. I've also been at Adobe's MAX in Los Angeles, where <a href="http://www.adobe.com/aboutadobe/pressroom/pressreleases/200910/100509AFPforMobileDevicesandPCs.html">broad mobile support for the Flash runtime</a> was the big story. The Flash runtime is not coming to iPhone yet, but Adobe has a native compiler for Flash applications which targets iPhone. Adobe also has app store plans. Google Android is another platform where all the pieces are in place, and Palm Web OS a new hopeful on the scene.</p>
<p>This means developers now have numerous choices for mobile development, as well as more pressure to create or extend applications to embrace mobile clients. It is not an easy choice. An AJAX application will work on the iPhone and elsewhere, but there is no offline support or access to device features, and the capabilities of mobile browsers vary greatly - though Webkit is becoming a standard on non-Windows devices. Native iPhone works great on Apple's device, but nowhere else. Flash is becoming interesting, but devices with 10.1 will not be around until next year and it is an unproven platform in a mobile context. Windows Mobile will trudge on, though Microsoft's mobile story seems particularly incoherent at present and I expect declining market share. Java on mobile has not gone away either; and Google Android is pretty much a Java platform. C++ will always be attractive for lean, fast applications.</p>
<p>It is fun to pick winners and losers, but impossible to tell how all this will shake out. Here's two safe bets. The first is that mobile, internet-connected applications are in many ways the future of the client. The second is that focusing on a strong web services API (of whatever flavour) is the right place to start. What's your mobile strategy?</p>]]></description>
            <link>http://www.itjoblog.co.uk/2009/10/mobile-battleground.html</link>
            <guid>http://www.itjoblog.co.uk/2009/10/mobile-battleground.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Skills</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">android</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">apple</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">flash</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">google</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">iphone</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">java</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">microsoft</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">mobile</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">nokia</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">palm</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">qt</category>
            
            <pubDate>Thu, 15 Oct 2009 06:59:40 +0000</pubDate>
        </item>
        
    </channel>
</rss>
