<?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>Fri, 12 Mar 2010 07:49:31 +0000</lastBuildDate>
        <generator>http://www.sixapart.com/movabletype/</generator>
        <docs>http://www.rssboard.org/rss-specification</docs>
        
        <item>
            <title>Do you care about your code? QCon promotes software craftsmanship</title>
            <description><![CDATA[<p>I'm at the <a href="http://qconlondon.com/london-2010/conference/">QCon conference in London</a>, one that I particularly value for its vendor-neutrality and strong content. Yesterday we heard from Robert Martin, founder of <a href="http://www.objectmentor.com/">Object Mentor</a>, on the subject of software craftmanship, or how to avoid bad code. One of Martin's points is that having code that works is not enough. He makes an analogy with a machine. It's not enough that your car works; when you open the bonnet you want to see good engineering, not a tangle of pipes, wires and belts that somehow hangs together.</p>
<p>Software is vulnerable to poor craftsmanship because code is often well hidden from customers and end-users. Still, the programmer knows whether they are putting together something that just about works, or crafting something excellent that will be understandable and maintainable long into the future.</p>
<p>Martin's talk turned out to be a practical one. There was nothing really new; but plenty to think about. Here are a few of his tips:</p>
<ul>
<li>Keep functions and methods short. How short? His principle is to use extract method refactoring until there is nothing more to extract. I got the feeling that he would consider anything over 20 lines suspect.</li>
<li>Have functions with only a few arguments - preferably no more than two - and don't use boolean arguments because they cause confusion.</li>
<li>Similarly, a class should be a small batch of code, with only a few variables, a couple of dozen methods.</li> 
<li>Eliminate duplication in your code; use abstraction.</li>
<li>Give public methods short names, but use long descriptive names for private methods. The code is the documentation.</li>
<li>Improve code slightly every time you touch it. Sometimes the opposite happens; code decays as fixes get added. If you improve it instead, your project improves over time.</li>
<li>You need comprehensive tests, otherwise you do not dare to make changes in case something breaks. Test code should be of the same quality as production code; if your tests are slow and buggy, you will not use them or trust them.</li>
<li>Have short iterations. A month may be too long. Two weeks is good. One week, he suggests, may be ideal; or even less in some cases.</li>
</ul>
<p>You may not agree with all of these; but I like the underlying objective, which is to code to a high standard rather than just fixing bugs until it runs.</p>
<p>Agree? You can sign the <a href="http://manifesto.softwarecraftsmanship.org/">Manifesto for Software Craftsmanship</a>.</p>]]></description>
            <link>http://www.itjoblog.co.uk/2010/03/software-craftsmanship.html</link>
            <guid>http://www.itjoblog.co.uk/2010/03/software-craftsmanship.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Agile</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">Rants and Raves</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">Skills</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">agile</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">programming</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">software</category>
            
            <pubDate>Fri, 12 Mar 2010 07:49:31 +0000</pubDate>
        </item>
        
        <item>
            <title>The Role of the Project Manager</title>
            <description><![CDATA[As I teach and coach project managers, I'm struck by how many are stuck in command-and-control thinking: I must monitor all the work. I must check in with people to see that they are doing their jobs. I must know all the technical details and make technical decisions about the project. I'm sure there's more.<br /><br />But that's not the role of the project manager. Nope. The project manager exists to create the path for the project team members to succeed. The way a project manager does that is:<br /><ul><li>Select a lifecycle that manages the project's primary risks</li><li>Help the sponsors define what success means</li><li>Help everyone define release criteria<br /></li><li>To be aware of and manage all kinds of risks. If those risks are technical and the pm has the capability to manage those risks, then the PM can make those decisions. But it's more likely the PM has to make sure someone on the team can make those technical decisions.</li><li>Protect the team's process from outside influence. If the team wants to improve or change their process, great. If someone from the outside wants to impose something on the team, the PM has to protect the team.</li><li>Allow the team to do the technical work and the pm does the rest-of-the-organization interfacing work</li><li>Help the team see when they are making progress and when they are stuck.<br /></li></ul>Now, there are plenty of things the project the PM needs to do around progress: <br /><ol><li>I like helping people define their inch-pebbles. In the case of an agile team, making sure the stories are sufficiently small. I often discover the team members don't know how to make their work units small enough to see progress.</li><li>Notice when the team's process is not helping them make progress. For example, a long build time or lack of continuous integration can impede a team's progress. If you're the one enmeshed in the situation ("I have to wait for the build to finish" or "I have to wait for John to check in his changes") you may not realize you are not making progress. In that case, the pm needs to put a structure in place to make those problems obvious. On a non-agile project, I do this with one-on-ones. In an agile project, I do this standup meetings.</li><li>Make sure everyone knows what is most important to work on now and next. I like ranked backlogs, no matter what kind of lifecycle you use on a project.</li></ol>So, a PM doesn't need to be the center of the project and control everything. The PM can let the team be the center, and facilitate the team's work.<br /> ]]></description>
            <link>http://www.itjoblog.co.uk/2010/03/project-manager-role.html</link>
            <guid>http://www.itjoblog.co.uk/2010/03/project-manager-role.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">project management</category>
            
            
            <pubDate>Thu, 11 Mar 2010 07:47:12 +0000</pubDate>
        </item>
        
        <item>
            <title>To IDE or not to IDE: is a programmer&apos;s editor the best way to code?</title>
            <description><![CDATA[<p>I've written positively about Microsoft's forthcoming Visual Studio 2010, both <a href="http://www.itjoblog.co.uk/2010/02/visual-studio-2010.html">here</a> and more recently in a <a href="http://www.theregister.co.uk/2010/02/25/visual_studio_2010_rc_review/">review</a> on The Register. I was interested to see a <a href="http://www.theregister.co.uk/2010/02/28/ides_versus_the_people/">kind-of follow up</a> from Jeff Vroom, making the case for doing without an IDE at all, at least some of the time:</p>
<blockquote>
<p>Emacs, Vim, and other editors have basic syntax highlighting and code navigation for an even broader set of formats despite the fact that they lag behind IDEs in features. Though IDEs offer impressive plug-in capabilities, traditional script and config files seem easier to learn and use and ultimately more flexible.</p>
<p>Command line workflows offer a more flexible, less integrated and less guided approach to development. You learn how to use them one tool at a time. Development and adoption of new tools is usually easier as you are not tightly coupling tools into one complex user interface. Admins, analysts, and designers use command line tools, making it easier for them to work with developers when the IDE is not front and center.</p></blockquote>
<p>I don't see a lot of designers using command-line tools; but even so I agree that there is a case for a programmer's editor with command-line compilation, rather than a huge IDE. The two things I like most about the bare metal approach are speed and transparency. Speed, because a little editor like <a href="http://notepad-plus.sourceforge.net/uk/site.htm">Notepad++</a> starts in a blink, handles large files with ease, and does not get in your way. It is odd that performance still matters so much in an era of multi-processor machines with each core running at more then 2 GHz; but it does. Sometimes I am caught out when a monster like Adobe Dreamweaver grabs a file association for something like HTML or PHP. I double-click a document, and wait impatiently while it loads all sorts of stuff that I do not need, when I only want to make a small text edit to the code.</p>
<p>Transparency is an even bigger issue. If you work with simple editors and build from the command line, you are forced to be aware of what files are in your project, what tools you are using for the build, and what arguments you are passing to them. If something goes wrong, you know where to look. By contrast, IDEs hide things from you, supposedly for ease of use. In the worst case, something like a <a href="http://www.cwjobs.co.uk/JobSearch/Results.aspx?Keywords=visual+studio&amp;Radius=5">Visual Studio solution </a>can get corrupted and leave you not knowing how to fix it, other than to create a new one and add back the files as best you can.</p>
<p>A similar problem comes with wizards that generate code. It is lovely to have the IDE generate all that boring data-binding code for your forms, until there is some weird bug, the results are not as expected, and you end up tracing the <a href="http://www.cwjobs.co.uk/JobSearch/Results.aspx?Keywords=SQL&amp;Radius=5">SQL</a> and puzzling over why it is wrong.</p>
<p>Valid points; but I am still going to come down mostly on the side of the IDE. It is simple: there are so many genuinely useful tools in something like <a href="http://www.cwjobs.co.uk/JobSearch/Results.aspx?Keywords=visual+studio&amp;Radius=5">Visual Studio</a> that productivity is better. Things I don't want to do without include IntelliSense and code completion, debugging tools with things like mouse-hover variable values and watch windows, visual design tools that generate a ton of code I don't have to write, various refactoring utilities, and build tools that save having to think about make or Ant. Visual Studio takes ages to load, but once it is up and running you can always press Shift-Alt-Enter and pretend it is a text editor.</p>
<p>I am still wary of wizards though; and I value knowing how to do without the IDE, even if most of the time I end up using it. As one of the comments to Vroom's piece notes, if it gets to the point where your programming skills are really <a href="http://www.cwjobs.co.uk/JobSearch/Results.aspx?Keywords=IDE&amp;Radius=5">IDE skills</a>, you should worry about being so deeply tied to a single platform and way of working.</p>
<p>&nbsp;</p>]]></description>
            <link>http://www.itjoblog.co.uk/2010/03/ide-coding.html</link>
            <guid>http://www.itjoblog.co.uk/2010/03/ide-coding.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Rants and Raves</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">Skills</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">eclipse</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">ide</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">programming</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">visual studio</category>
            
            <pubDate>Wed, 03 Mar 2010 08:23:29 +0000</pubDate>
        </item>
        
        <item>
            <title>How mobile apps could change your career</title>
            <description><![CDATA[When an industry gets big enough to spawn other sectors that grow parasitically on top of it, then you can tell it has some decent critical mass. And in many cases, that's where to look for jobs, or even start your own small venture.<br /><br />Take mobile applications, for example. We all know that the iPhone has done exceedingly well as an application platform. So well, in fact, that start-ups are now forming with the sole purpose of measuring just how well. One such startup, <a href="http://www.distimo.com/">Distimo</a>, focuses on analysing trends in the mobile application space. Perhaps unsurprisingly, it found that Apple leads the field by an order of magnitude. At the recent World Mobile Congress in Barcelona, Distimo said that there are 150,000 applications in the <a href="http://www.cwjobs.co.uk/JobSearch/Results.aspx?Keywords=iphone+app">iPhone app </a>store, compared with just 20,000 in that of its nearest competitor, Android. <br /><br />Let's face it, iPhone apps are so accessible that someone might download one for 99 cents sitting on the toilet, instead of leafing through a back copy of National Geographic. Their accessibility can convert into serious amounts of money for developers. <a href="http://tapulous.com/">Tapulous</a>, a 20-strong development company that makes games and social software for Apple's Jesus-phone, is now making $1 million each month from them. Not everyone can be that successful, but most of us would take just a small slice of that particular pie.<br /><br />What makes it so bizarre is that Apple is such a fascistic company. People can write any application they want for Android, and upload it to the app store without any third-party arbitration. Apple, on the other hand, has a notoriously draconian app approval policy. For example, it took an arbitrary decision to remove almost all sexual applications from the app store this month -- but chose to leave in apps from organisations such as Sports Illustrated and Playboy. This is unlikely to make developers happy -- but with such a lot of money at stake, who's going to complain very loudly?<br /><br />The unknown quantity in mobile applications is Microsoft. It chose Barcelona as the venue to announce the mobile edition of Windows 7, which is a marked improvement on all previous versions of <a href="http://www.cwjobs.co.uk/JobSearch/Results.aspx?Keywords=Windows+Mobile&amp;Radius=5">Windows Mobile</a>. It's a beautiful looking system, with a sleek user interface, and promised links into services such as Xbox Live, which will be like flypaper for consumers. But not everyone is convinced that developers will support the platform. Beejive CEO Kai Yu is quoted <a href="http://www.wired.com/gadgetlab/2010/02/windows-phone-7/">here</a> as saying that the company has simply ruined its reputation with mobile developers too much in the past. There's also the fact that we won't see the first of these phones until the fourth quarter, which puts Microsoft way behind the curve compared to the competition.<br /><br />But whether you choose the iPhone, Android, Microsoft, or another competitor such as the recently open-sourced <a href="http://www.cwjobs.co.uk/JobSearch/Results.aspx?Keywords=Symbian">Symbian</a>, there are worse ways to make money than by developing a mobile application -- even if you do it on the side, rather than taking it up was your day job. If you can avoid the hundreds of me-too applications out there and do something truly original, perhaps you could even be the next Tapulous. <br /><br />Not the imaginative type? Worry not, my developer friend. Such is the momentum behind this industry that you can even get away without having an original thought in your head. Organisations such as <a href="http://www.iphoneappquotes.com/">iPhoneAppQuotes</a> are springing up to connect creative thinkers with the <a href="http://www.cwjobs.co.uk/JobSearch/Results.aspx?Keywords=software+developers">software developers</a> who can make their ideas an reality. But my advice: if anyone comes to you suggesting the ultimate iCleavage app for the iPhone, you might want to think twice.<br /><br /> ]]></description>
            <link>http://www.itjoblog.co.uk/2010/02/mobile-app-career.html</link>
            <guid>http://www.itjoblog.co.uk/2010/02/mobile-app-career.html</guid>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">application</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">iphone</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">mobile</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">software development</category>
            
            <pubDate>Fri, 26 Feb 2010 08:56:43 +0000</pubDate>
        </item>
        
        <item>
            <title>Why social media isn&apos;t just for teenagers anymore</title>
            <description><![CDATA[How do you find <a href="http://www.cwjobs.co.uk">IT jobs</a> these days? Back in the day, the print publications were the main source. The first section that most IT professionals turned to when they got Computer Weekly or other trade magazines in the mail was the jobs part at the back. These days, the Internet has taken over as the main source for job seekers, but the signs are that employers and recruiters may not be taking advantage of it as much as they could. And that's potentially damaging, because innovation in online recruitment is speeding up.<br /><br />Thanks to the economic crash, and the effect on information-centric industries such as financial services, jobs in IT these days are still relatively hard to come by. Almost a third of recent graduates are unemployed, and more than a quarter of those that are in work gross under £10,000, according to <a href="http://www.cwjobs.co.uk/">CWJobs</a>' recent survey of 5000 jobseekers.<br /><br />No wonder, then, that IT workers are turning to the web, with its high volume and fast turnover, to track the latest opportunities. Around 70% of respondents use general job sites on the Internet with lots of different vacancies. Around half of all candidates look for job opportunities specifically on a potential employer's website. Just under half of them go to specialist industry web sites to find their next appointment.<br /><br />Worryingly though, a third of candidates interviewed by CWJobs said that they received no response when submitting a job application online. As the survey points out, graduates who have less job seeking experience may well take that lack of response as a negative sign, and not bother trying again. <br /><br />As one respondent said: "The key problem is receiving no response. It feels like my applications disappear down a black hole." By not acknowledging responses and feeding back, recruiters risk alienating a valuable segment of their potential candidate base. <br /><br />While recruiters struggle to nail down even these basic online skills, social media is raising the stakes for candidates and employers alike. <br />&nbsp;<br />Twitter has dramatically grown dramatically in significance in the past couple of years. Whereas it used to be a site for inane chatter about what you had for breakfast that morning, it is now a site both for that same inane chatter, and for more serious things, such as passing on news links, asking questions of your community - and finding jobs. <br /><br />Take <a href="http://www.twitjobsearch.com/">TwitJobSearch</a>, for example. This tool aggregates job postings on Twitter into one easily searchable place. A quick look shows 2000 job postings harvested in a single hour. These are jobs across the world, and in many different sectors, but there is still plenty of opportunity for finding the position that fits you. The site lets you save jobs to your Twitter account, and add your online CV. It also highlights the recruiters who are savvy enough to be using Twitter to post new job opportunities (hello there, <a href="http://twitter.com/jobs_in_the_uk">@jobs_in_the_uk</a>, and <a href="http://twitter.com/itjobsldn">@itjobsldn</a>!)<br /><br />Still, we have a long way to go before people realise the significance of sites such as Twitter. Facebook and LinkedIn were by far the most-used social media sites among the CW Jobs survey base. <br /><br />LinkedIn is used more by contractors than permanent staff (roughly a half vs just over a third). This is probably because contractors need to score gigs far more regularly than full-timers, meaning that they have to network more. Services such as Twitter garnered around 10% in both camps.<br /><br />But 29% of jobseekers surveyed say that they don't use social media sites at all, although given the incredible growth in the popularity of these sites, and the dire situation of the economy following the financial crisis, that is likely to change. As individuals begin to realize that it is possible to find jobs using these outlets, they're likely to catch on and begin firing up sophisticated (and free) social media management tools such as <a href="http://hootsuite.com/">Hootsuite</a>.<br /><br />So, for recruiters and candidates alike, if you think that social media is for teenagers, now's the time to think again. The web will continue to play an increasingly important part in the recruitment process - and those who choose not to play will be missing out on a big opportunity.&nbsp; <br />]]></description>
            <link>http://www.itjoblog.co.uk/2010/02/recruitment-social-media.html</link>
            <guid>http://www.itjoblog.co.uk/2010/02/recruitment-social-media.html</guid>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">Recruitment</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">Social Media</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">Twitter</category>
            
            <pubDate>Wed, 24 Feb 2010 08:09:16 +0000</pubDate>
        </item>
        
        <item>
            <title>Should you care about Visual Studio 2010?</title>
            <description><![CDATA[<p>Microsoft has made a release candidate for Visual Studio 2010 <a href="http://www.microsoft.com/visualstudio/en-us/products/2010/default.mspx">available for download</a>, and the rumour is that the final build should be ready in time for the official launch on April 12th. Should you care?</p>
<p>I'd argue that Microsoft's platform is in decline, despite good financial results recently on the back of the success of Windows 7. Windows-only development is increasingly unattractive in a world where Macs, iPhones and Linux devices such as Android and some netbooks jostle for attention alongside the once all-conquering Windows PC. Microsoft does internet too, of course, and even cross-platform for the desktop if you count what is coming in Silverlight 4.0; but even after the launch of Windows Azure this month, the company is not the first to come to mind when you think cloud.</p>
<p>That said, <a href="http://www.cwjobs.co.uk/JobSearch/Results.aspx?Keywords=VISUAL+STUDIO">Visual Studio 2010</a> is a mighty impressive release. It is not just a new IDE, but also includes .NET Framework 4.0, the first complete update since version 2.0 in 2005. Versions 3.0 and 3.5 used the same underlying runtime as 2.0. The Chief Architect is <a href="http://blogs.msdn.com/ricom/archive/2009/10/19/my-history-of-visual-studio-part-10-final.aspx">Rico Mariani</a>, Microsoft's .NET performance expert, which has no doubt helped in the tricky transition to Windows Presentation Foundation for the Visual Studio editor and shell; and much of the product is under the oversight of VP Scott Guthrie, one person who still knows <a href="http://weblogs.asp.net/scottgu/">how to communicate with developers</a>, and whose presentation on <a href="http://www.cwjobs.co.uk/JobSearch/Results.aspx?Keywords=silverlight&amp;Radius=5">Silverlight 4.0</a> rescued last year's Professional Developer's Conference from tedium. </p>
<p>Leaving aside the people involved, there is a ton of interesting stuff to explore, including the new F# language, IntelliTrace debugging that lets you step backwards through code, standard UML diagramming, source code management and issue tracking through Team Foundation no matter how small your team, greatly improved libraries and tools for concurrent programming, and if you have the Ultimate edition and the patience to set it up, an extraordinary thing called <a href="http://msdn.microsoft.com/en-us/vstudio/ee712698.aspx">Lab Management</a> which integrates virtual machines into the automated build and test cycle so that you can verify clean installs into complex multi-machine environments on every build, and use snapshots to analyse bugs at the moment they occur. This is also the first release to be designed with <a href="http://www.cwjobs.co.uk/JobSearch/Results.aspx?Keywords=asp+mvc">ASP.NET MVC</a> in mind, and to have a full visual designer for Silverlight. Microsoft has also done some good work with Windows Workflow Foundation, in conjunction with a new runtime for the IIS web server called <a href="http://msdn.microsoft.com/en-us/windowsserver/ee695849.aspx">Windows AppFabric</a>, making it easier to build and deploy applications that depend on long-running state management.</p>
<p><img style="MARGIN: 0px 20px 20px 0px" alt="vs2010-rc-small.png" src="http://www.itjoblog.co.uk/vs2010-rc-small.png" width="400" height="284" mt-image-left?="" /></p>
<p>There are some disappointments. One is that Visual Studio is out of synch with Silverlight 4.0, so despite developer attention having largely shifted to the 4.0 release, Visual Studio 2010 will ship with Silverlight 3.0 support. There will be an add-on in due course that will put that right. Another is that Windows Azure development is not as smoothly integrated as I had hoped. SharePoint development, while much improved, remains an arduous process that tends to take over your development machine; and there is not much new in mobile development as yet. I am sure there will be plenty of other problems and frustrations; so much here is new that it is nearly inevitable.</p>
<p>These issue have not stopped me from enjoying my work so far with the beta and now the RC. If you have any interest in Microsoft's platform, I suggest you take a look.</p>
<p>&nbsp;</p>]]></description>
            <link>http://www.itjoblog.co.uk/2010/02/visual-studio-2010.html</link>
            <guid>http://www.itjoblog.co.uk/2010/02/visual-studio-2010.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">asp.net</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">f#</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 studio 2010</category>
            
            <pubDate>Fri, 12 Feb 2010 09:05:14 +0000</pubDate>
        </item>
        
        <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>
        
    </channel>
</rss>
