<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>So what is a developer experience anyway?</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/stevencl/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/stevencl/feed.xml</link>
    <description>Discussion on all things related to the experience that a developer has with development tools and frameworks.</description>
    <lastBuildDate>Tue, 16 Apr 2019 05:30:00 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Visual Studio Code: Bringing UX and engineering together</title>
      <link>https://docs.microsoft.com/archive/blogs/stevencl/visual-studio-code-bringing-ux-and-engineering-together</link>
      <pubDate>Wed, 13 May 2015 03:38:58 GMT</pubDate>
      <dc:creator><![CDATA[Steven Clarke]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/stevencl/2015/05/13/visual-studio-code-bringing-ux-and-engineering-together/</guid>
      <description><![CDATA[I gave one of the short talks last night at UX Glasgow (https://uxglasgow.co.uk/). I really enjoyed...]]></description>
      <content:encoded><![CDATA[<p>I gave one of the short talks last night at UX Glasgow (<a href="https://uxglasgow.co.uk/">https://uxglasgow.co.uk/</a>). I really enjoyed listening to the other talks and Bobby King&rsquo;s wearables exercise was great fun too. It was a great way to interact with other people at the event and was refreshingly different.</p>
<p>Last night I talked a little bit about how the UX and engineering teams work together on Visual Studio Code (our newly released cross platform, lightweight editor - <a href="https://code.visualstudio.com/">https://code.visualstudio.com/</a>). We follow an Agile process and I was asked afterwards if I could write a little bit more about this as finding a good way to get UX integrated into an Agile process can be a challenge.</p>
<p>I don&rsquo;t think that we have reached nirvana yet but on the whole, what we do at the moment seems to work. To explain what we do now, it might help to describe what we tried to do in the past and how that failed. It might also help to understand that our team is distributed geographically between Redmond (USA), Edinburgh (Scotland) and Zurich (Switzerland).</p>
<p>Back when we started working on Visual Studio Online Monaco (our browser based editor which was the precursor to Visual Studio Code) we initially thought that it would not be possible for the UX team to design an experience in the same sprint that the engineering team would implement it. It wasn&rsquo;t that we had tried this and found that it didn&rsquo;t work, it just seemed obvious to us that it couldn&rsquo;t work. How wrong we were&hellip;</p>
<p>Anyway, to begin with, we thought that the best thing to do would be for the UX team to work on a design in one sprint and then have the engineering team implement that design in the next sprint. That way we would have enough time to work through most of the design issues so that the engineering team had something solid to implement.</p>
<p>We were very conscious of not simply &lsquo;throwing stuff over the wall&rsquo; once our design was complete. So we made sure that we interacted regularly with the engineering team while working on our designs. We would meet at least once a week and share what we were working on and listen to feedback.</p>
<p>Then once our design was complete at the end of the sprint we would meet and present our designs to the engineering team.</p>
<p>And then our designs would get ripped apart. We would hear lots of valid and well reasoned objections - &ldquo;Have you thought about this?&rdquo;, &ldquo;This won&rsquo;t work, it can&rsquo;t be done&rdquo;, &ldquo;That doesn&rsquo;t seem like the best way to do this&rdquo; etc. It ended up feeling like we had to defend our designs from attack, rather than sharing them. We were on the defensive and indeed, before some of these presentations, we would even discuss what the main objections might be and how we should respond. This didn&rsquo;t feel like we were one team, working together.</p>
<p>It wasn&rsquo;t that the objections were unreasonable. In fact, they were more than often really good objections that helped us improve our designs. But because they meant that the designs needed reworked, that meant we had to spend the next sprint on the next iteration of the designs and the engineering team would spent the next sprint on something else, rather than implementing our original design. And at the end of the next sprint, we would repeat the process.</p>
<p>It wasn&rsquo;t fun and we weren&rsquo;t making anywhere near as much progress as we wanted so we had to change how we worked.</p>
<p>Why did it take until the end of the sprint when the design was complete to hear the detailed feedback from the engineering team? The problem was that while UX and engineering were working on different things during the same sprint, each time we met to discuss what we were working on, the discussions were superficial at best. We were each focused on different objectives. It was only when the engineering team and UX team were focused on the same objectives (implementing this design) that we had a richer and more meaningful conversation about the design. But this happened at the end of the sprint. How could we make sure that these conversations happened during the sprint?</p>
<p>What we had been doing was what is euphemistically called a &lsquo;staggered sprint&rsquo;. It&rsquo;s really waterfall in disguise I think. We were kidding ourselves thinking we were being agile. We had to instead think about ways we could build a team focused on delivering the same outcome in each sprint. We had to face our fears and see if we could design and implement an experience in one sprint.</p>
<p>As we learned, key to making this work is carefully defining what we are going to do in one sprint. It&rsquo;s all about small batch sizes. We had to be careful about scoping what could be done in the time we had. We were constrained both by what could be implemented and what we could design. But whereas before these had seemed like constraints that would needlessly hold us back, it turned out that they actually helped us. We were able to focus on tight, well defined outcomes. UX and engineering were very clear on the desired outcomes we wanted to achieve. We didn&rsquo;t have to try to design everything before we could start implementing anything. We could start small and grow from there.</p>
<p>At the start of the sprint, we have our planning meeting where the whole team discusses and reaches agreement on what we are going to work on in this sprint. Then we get working.</p>
<p>For the stories that UX and engineering will work together on, we discuss what we are going to build. We talk about the customer problems that we want to solve (often these have been identified in previous UX studies and other forms of feedback that we have received) and different ways we might solve these problems. We might walk through some quick rough mockups that UX has created or some quick prototypes that the engineering team has. From these discussions we generate a list of action items that we need to do &ndash; UX needs to detail out some aspect of the design for example, while engineering might need to build some back end service that the experience depends upon.</p>
<p>We meet frequently during the sprint and discuss progress. Since we are all focused on the same outcome, we have rich conversations about what we are doing. We learn quickly about what is technically feasible and why it is important that the experience be designed this way. We work together as a team because we are focused on the same outcome.</p>
<p>This way of working is a lot more fun than how we began. We don&rsquo;t get defensive, we don&rsquo;t have a &lsquo;them and us&rsquo; situation &ndash; it&rsquo;s not UX against engineering. We are all working together on the same team.</p>
<p>One of the challenges though is keeping an eye on the bigger picture, making sure that all of these little steps we take in each sprint are driving towards an overall vision of the product and the experience we want to build. We aren&rsquo;t completely there yet but we are making use of Lean Customer Development to increase our understanding of the customer, the problems they have and the outcomes that we think our product will deliver. As we develop our skills in this area, we think that we will be able to use this to better shape the direction of the product so that the small steps we take in each sprint lead to a great end to end experience across the whole product.</p>]]></content:encoded>
    </item>
    <item>
      <title>Do you want a sneak peek at some ideas we're working on?</title>
      <link>https://docs.microsoft.com/archive/blogs/stevencl/do-you-want-a-sneak-peek-at-some-ideas-were-working-on</link>
      <pubDate>Mon, 23 Jul 2012 10:37:49 GMT</pubDate>
      <dc:creator><![CDATA[Steven Clarke]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/stevencl/2012/07/23/do-you-want-a-sneak-peek-at-some-ideas-were-working-on/</guid>
      <description><![CDATA[Then please sign up to participate in a user experience study I'll be running from the Edinburgh...]]></description>
      <content:encoded><![CDATA[<p>Then please sign up to participate in a user experience study I'll be running from the Edinburgh office next week. On Tuesday 31st July through to Thursday August 2nd, I'm looking for five JavaScript developers who can come in to the Microsoft office in Edinburgh, Scotland to put some prototypes we're working on through their paces.&nbsp;</p>
<p>You'll&nbsp;have to sign an NDA to participate as the prototypes are confidential. &nbsp;It's a great opportunity not only for an early look at some ideas we have, but more importantly for an opportunity to significantly influence the direction we take.</p>
<p>Please let me know if you are interested in participating and I will arrange a suitable time with you.</p>]]></content:encoded>
    </item>
    <item>
      <title>Upcoming developer events in Edinburgh</title>
      <link>https://docs.microsoft.com/archive/blogs/stevencl/upcoming-developer-events-in-edinburgh</link>
      <pubDate>Fri, 27 Apr 2012 03:57:36 GMT</pubDate>
      <dc:creator><![CDATA[Steven Clarke]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/stevencl/2012/04/27/upcoming-developer-events-in-edinburgh/</guid>
      <description><![CDATA[There are a couple of great developer events coming up in Edinburgh. Along with my colleagues I've...]]></description>
      <content:encoded><![CDATA[<p>There are a couple of great developer events coming up in Edinburgh. Along with my colleagues I've helped to design the user experiences around our Windows 8 and ALM tools. I'll be attending both events and would love to hear your feedback about what we've done in Visual Studio 11.</p>
<p>&nbsp;</p>
<p><strong>Windows 8 For Application Developers</strong></p>
<p><strong>Tuesday, May 1st 2012, 9.00 - 17.30</strong></p>
<p>In this event, we&rsquo;ll deliver developer-level, demo-driven sessions that give you an accelerated entry into what it means to design, develop and publish exciting, modern, polished, world-ready applications for next-generation devices running Windows 8.</p>
<p><a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?culture=en-US&amp;EventID=1032507164&amp;amp%3bculture=en-GB">https://msevents.microsoft.com/CUI/EventDetail.aspx?culture=en-US&amp;EventID=1032507164&amp;amp%3bculture=en-GB</a></p>
<p><strong>Visual Studio 11 Application Lifecycle Management:</strong></p>
<p><strong>Wed,13<sup>th</sup> Jun&nbsp; 2012&nbsp; 9:00-13:00</strong></p>
<p>Microsoft UK invites you to join us at the Microsoft Offices in Edinburgh for an overview of the&nbsp; Application Lifecycle Management capabilities of Visual Studio 11 Beta and&nbsp; Team Foundation Server 11 Beta. This session will demonstrate a slice through&nbsp;an agile iteration starting from our product backlog through development,&nbsp; testing and release.</p>
<p><a title="https://www.microsoft.com/visualstudio/en-gb/visual-studio-events" href="https://www.microsoft.com/visualstudio/en-gb/visual-studio-events">https://www.microsoft.com/visualstudio/en-gb/visual-studio-events</a>&nbsp;</p>]]></content:encoded>
    </item>
    <item>
      <title>Free Windows Azure bootcamp in Edinburgh</title>
      <link>https://docs.microsoft.com/archive/blogs/stevencl/free-windows-azure-bootcamp-in-edinburgh</link>
      <pubDate>Tue, 08 Nov 2011 05:45:45 GMT</pubDate>
      <dc:creator><![CDATA[Steven Clarke]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/stevencl/2011/11/08/free-windows-azure-bootcamp-in-edinburgh/</guid>
      <description><![CDATA[Sign up now for a free day of training on Azure this Friday 11th November:...]]></description>
      <content:encoded><![CDATA[<p>Sign up now for a free day of training on Azure this Friday 11th November: <a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032496082&amp;Culture=en-GB">https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032496082&amp;Culture=en-GB</a></p>
<p>Did I mention it's free? You even get a special free pass for an Azure subscription that will let you do the training even if you don't already have an Azure account.</p>
<p>It's free training, with a free Azure subscription. Can't get better than that.</p>]]></content:encoded>
    </item>
    <item>
      <title>Scott Hanselman demo's the preview tab and solution explorer at DevReach</title>
      <link>https://docs.microsoft.com/archive/blogs/stevencl/scott-hanselman-demos-the-preview-tab-and-solution-explorer-at-devreach</link>
      <pubDate>Tue, 25 Oct 2011 07:49:50 GMT</pubDate>
      <dc:creator><![CDATA[Steven Clarke]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/stevencl/2011/10/25/scott-hanselman-demos-the-preview-tab-and-solution-explorer-at-devreach/</guid>
      <description><![CDATA[Scott Hanselman does a demo of the preview tab and solution&nbsp;explorer at DevReach 2011:...]]></description>
      <content:encoded><![CDATA[<p>Scott Hanselman does a demo of the preview tab and solution&nbsp;explorer at DevReach 2011: <a href="https://www.youtube.com/watch?feature=youtu.be&amp;v=KVbsNgN4wJg&amp;gl=GB">https://www.youtube.com/watch?feature=youtu.be&amp;v=KVbsNgN4wJg&amp;gl=GB</a></p>
<p>Start watching around 27:21 if you want to jump quickly to the preview tab and solution explorer stuff. It's an entertaining and incredibly informative talk all the way from start to end though so you might want to watch all of it.</p>
<p>I work on the user experience design for the preview tab and solution explorer and would really love to hear your feedback about this experience.</p>
<p>You can even play around with this yourself. Go to <a href="https://www.microsoft.com/download/en/details.aspx?id=27543"><span style="color: #0000ff; font-family: Calibri; font-size: small;" face="Calibri" size="3" color="#0000ff">https://www.microsoft.com/download/en/details.aspx?id=27543</span></a> to download and install the Visual Studio 11 Developer Preview. You'll then be able to use the preview tab and new solution explorer.</p>
<p>There are some more details about the prevew tab in this post: <a href="https://blogs.msdn.com/b/visualstudio/archive/2011/10/07/improving-developer-productivity-with-visual-studio-11-developer-preview.aspx">https://blogs.msdn.com/b/visualstudio/archive/2011/10/07/improving-developer-productivity-with-visual-studio-11-developer-preview.aspx</a></p>]]></content:encoded>
    </item>
    <item>
      <title>A Morning With Microsoft</title>
      <link>https://docs.microsoft.com/archive/blogs/stevencl/a-morning-with-microsoft</link>
      <pubDate>Tue, 06 Sep 2011 04:30:05 GMT</pubDate>
      <dc:creator><![CDATA[Steven Clarke]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/stevencl/2011/09/06/a-morning-with-microsoft/</guid>
      <description><![CDATA[We're running an event in conjunction with Scottish Developers this Friday. A Morning With Microsoft...]]></description>
      <content:encoded><![CDATA[<p>We're running an event in conjunction with Scottish Developers this Friday. A Morning With Microsoft is a chance to learn more about Azure and how we design Visual Studio. Sign up at: <a href="https://devmorning-edinburgh-nl.eventbrite.com/">https://devmorning-edinburgh-nl.eventbrite.com/</a></p>]]></content:encoded>
    </item>
    <item>
      <title>New features for the next release of Visual Studio</title>
      <link>https://docs.microsoft.com/archive/blogs/stevencl/new-features-for-the-next-release-of-visual-studio</link>
      <pubDate>Thu, 30 Jun 2011 03:04:15 GMT</pubDate>
      <dc:creator><![CDATA[Steven Clarke]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/stevencl/2011/06/30/new-features-for-the-next-release-of-visual-studio/</guid>
      <description><![CDATA[One of the new features of Visual Studio that Cameron Skinner&nbsp;demonstrated at Tech Ed recently...]]></description>
      <content:encoded><![CDATA[<p>One of the new features of Visual Studio that Cameron Skinner&nbsp;<a href="https://channel9.msdn.com/Events/TechEd/NorthAmerica/2011/FDN03">demonstrated at Tech Ed </a>recently was the provisional tab. This is a feature that I've been working on for a couple of years so I'm delighted to see it in the product. Some of you might remember taking part in a <a href="https://blogs.msdn.com/b/stevencl/archive/2010/12/14/usability-study-in-edinburgh-last-week.aspx">usability study a few months ago </a>on this very feature. That study helped us understand what we needed to do to deliver a great experience. Thanks to everyone that contributed!</p>]]></content:encoded>
    </item>
    <item>
      <title>New blog: It will never work in theory</title>
      <link>https://docs.microsoft.com/archive/blogs/stevencl/new-blog-it-will-never-work-in-theory</link>
      <pubDate>Thu, 30 Jun 2011 02:51:38 GMT</pubDate>
      <dc:creator><![CDATA[Steven Clarke]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/stevencl/2011/06/30/new-blog-it-will-never-work-in-theory/</guid>
      <description><![CDATA[Greg Wilson and Jorge Aranda have started a new blog which aims to be a bridge between researchers...]]></description>
      <content:encoded><![CDATA[<p>Greg Wilson and Jorge Aranda have started a new blog which aims to be a bridge between researchers who study how software development happens and the practitioners who do software development. Sounds really interesting.</p>
<p><a href="https://www.neverworkintheory.org/">https://www.neverworkintheory.org/</a></p>]]></content:encoded>
    </item>
    <item>
      <title>Edinburgh UX book club</title>
      <link>https://docs.microsoft.com/archive/blogs/stevencl/edinburgh-ux-book-club</link>
      <pubDate>Fri, 04 Mar 2011 01:57:24 GMT</pubDate>
      <dc:creator><![CDATA[Steven Clarke]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/stevencl/2011/03/04/edinburgh-ux-book-club/</guid>
      <description><![CDATA[Kudos to Ryan Sackett at Precedent for setting up the Edinburgh UX book club. I went along to the...]]></description>
      <content:encoded><![CDATA[<p>Kudos to Ryan Sackett at <a href="https://www.precedent.co.uk/">Precedent</a> for setting up the <a href="https://www.meetup.com/Edinburgh-UX-Bookclub/">Edinburgh UX book club</a>. I went along to the first meetup last night and thoroughly enjoyed the discussion. We discussed the book '<a href="https://undercoverux.com/">Undercover User Experience Design</a>'. It was a great discussion, and it was also great to meet up with other UX folks in Edinburgh. Next time around we'll be discussing '<span id="btAsinTitle"><a href="https://www.amazon.co.uk/Simple-Usable-Mobile-Interaction-Design/dp/0321703545/ref=sr_1_1?ie=UTF8&amp;qid=1299188025&amp;sr=8-1">Simple and Usable Web, Mobile, and Interaction Design (Voices That Matter)</a>' which looks like a great book. If you're in the Edinburgh area, come along.</span></p>]]></content:encoded>
    </item>
    <item>
      <title>It's like trying to name your baby</title>
      <link>https://docs.microsoft.com/archive/blogs/stevencl/its-like-trying-to-name-your-baby</link>
      <pubDate>Fri, 04 Mar 2011 01:48:38 GMT</pubDate>
      <dc:creator><![CDATA[Steven Clarke]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/stevencl/2011/03/04/its-like-trying-to-name-your-baby/</guid>
      <description><![CDATA[Well, not really, but...one of the things that I remember from&nbsp;a microprocessor technology...]]></description>
      <content:encoded><![CDATA[<p>Well, not really, but...one of the things that I remember from&nbsp;a microprocessor technology course I took about twenty years ago while at Uni was the lecturer who said that one of the hardest things about writing C code that targets some little itty bitty 8 bit microprocessor,&nbsp;running remotely on a different board,&nbsp;was naming your functions. At the time my friend and I thought that was hilarious&nbsp;as we battled with compiler settings, linker settings and then all these jumper settings on the board hosting the microprocessor. Yeah, naming our functions was definitely the hardest thing about all that. Of course, many years afterwards I understood his point...</p>
<p>Anyway, this all came to mind when I saw this today: <a href="https://www.classnamer.com/">https://www.classnamer.com/</a>. It made me laugh.</p>]]></content:encoded>
    </item>
  </channel>
</rss>