<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Flacoste on Launchpad Blog</title>
    <link>https://blog.launchpad.net/authors/flacoste/</link>
    <description>News and updates from the Launchpad team</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Fri, 03 Feb 2012 12:36:25 +0000</lastBuildDate>
    <atom:link href="https://blog.launchpad.net/feed/authors/flacoste/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>Faster deployments</title>
      <link>https://blog.launchpad.net/general/faster-deployments/</link>
      <pubDate>Fri, 03 Feb 2012 12:36:25 +0000</pubDate>
      <dc:creator>Francis J. Lacoste</dc:creator>
      <guid isPermaLink="false">https://blog.launchpad.net/?p=3158</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://blog.launchpad.net/images/posts/2012/02/cheetah.jpg&#34; alt=&#34;Cheetah&#34;&gt;
Back in September, we &lt;a href=&#34;http://blog.launchpad.net/general/speeding-up-development&#34; title=&#34;Speeding up development&#34;&gt;announced&lt;/a&gt; our first &lt;em&gt;fastdowntime&lt;/em&gt; deployment. That was a new way to do deployment involving DB changes. This meannt less downtime for you the user, but we were also hoping that it would speed up our development by allowing us to deliver changes more often.&lt;/p&gt;
&lt;p&gt;How can we evaluate if we sped up development using this change? The most important metric we look at when making this evaluation is &lt;em&gt;cycle time&lt;/em&gt;. That&amp;rsquo;s the time it takes to go from starting to make a change to having this change live in production.  So before fastdowntime, our cycle time was about 10 days, and it is now about 9 days. So along the introduction of this new deployment process, we cut 1 day off the average, or a 10% improvement. That&amp;rsquo;s not bad.&lt;/p&gt;
&lt;p&gt;But comparing the cumulative frequency distribution of the cycle time with the old process and the new will give us a better idea of the improvement.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://blog.launchpad.net/images/posts/2012/02/cycle-time.png&#34; alt=&#34;Cycle time chart&#34;&gt;&lt;/p&gt;
&lt;p&gt;On this chart, the gap between the orange (fastdowntime deployment) and blue (original process) lines shows the improvement to us.  We can see that more changes were completed sooner. For example, under the old process about 60% of the changes were completed in less than 9 days whereas about 70% were completed under the same time in the new process. It&amp;rsquo;s interesting to note that for changes that took less than 4 days to complete or that took more than 3 weeks to complete, there is no practical difference between the two distributions. We can explain that by the fact that things that were fast before are still fast, and things that takes more than 3 weeks would usually have also encountered a deployment point in the past.&lt;/p&gt;
&lt;p&gt;That&amp;rsquo;s looking at the big picture. Looking at the overall cycle time is what gives us confidence that the process as a whole was improved. For example, the gain in deployment could have been lost by increased development time. But the closer picture is more telling.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://blog.launchpad.net/images/posts/2012/02/deployment-cycle-time.png&#34; alt=&#34;Deployment cycle time chart&#34;&gt;&lt;/p&gt;
&lt;p&gt;The cycle time charted in this case is from the time a change is ready to be deployed until it&amp;rsquo;s actually live. It basically excludes the time to code, review, merge and test the changes. In this case, we can see that 95% of the changes had to wait less than 9 days to go live under the new process whereas it would take 19 days previously to get the same ratio. So an&lt;br&gt;
improvement of 10 days! That&amp;rsquo;s way more nice.&lt;/p&gt;
&lt;p&gt;Our next step on improving our cycle time is to &lt;a href=&#34;https://dev.launchpad.net/Projects/ParallelTesting/&#34;&gt;parallelize our test suite&lt;/a&gt;. This is another major bottleneck in our process. In the best case, it usually takes about half a day between the time a developer submits their branch for merging until it is ready for QA on qastaging. The time in between is passed waiting and  running the test suite. It takes about 6 hours to our buildbot to validate a set of revisions. We have a project underway to run the tests in parallel. We hope to reduce the test suite time to under an hour with it. This means that it now would be possible for a developer to merge and QA a change on the same day! With this we expect to shave another day maybe two from the global cycle time.&lt;/p&gt;
&lt;p&gt;Unfortunately, there are no easy silver bullets to make a dent in the time it takes to code a change. The only way to be faster there would be to make the Launchpad code base simpler. That&amp;rsquo;s also under way with the &lt;a href=&#34;https://dev.launchpad.net/ArchitectureGuide/Services&#34;&gt;services oriented architecture project&lt;/a&gt;. But that will take some time to complete.&lt;/p&gt;
&lt;p&gt;&lt;small&gt;&lt;a href=&#34;http://www.flickr.com/photos/martin_heigan/4544138976/&#34;&gt;Photo by Martin Heigan&lt;/a&gt;. Licence: CC BY NC ND 2.0.&lt;/small&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Legacy, performance, testing: 6 months of new critical bugs analyzed</title>
      <link>https://blog.launchpad.net/general/legacy-performance-testing-6-months-of-new-critical-bugs-analyzed/</link>
      <pubDate>Fri, 09 Dec 2011 21:20:52 +0000</pubDate>
      <dc:creator>Francis J. Lacoste</dc:creator>
      <guid isPermaLink="false">https://blog.launchpad.net/?p=3041</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://blog.launchpad.net/images/posts/2011/12/bugs.jpg&#34; alt=&#34;Bugs&#34;&gt;&lt;/p&gt;
&lt;p&gt;The Launchpad maintenance teams have been working since the beginning of the year at reducing our &lt;a href=&#34;https://bugs.launchpad.net/launchpad-project/+bugs?field.importance=Critical&#34;&gt;Critical bugs count&lt;/a&gt; to 0. Without much success this far. The long term trend keeps the backlog at around 300.  And it&amp;rsquo;s not because we haven&amp;rsquo;t been fixing these. Since the beginning of the year, more than 800 Critical bugs were fixed, but more than 900 were reported :-(&lt;/p&gt;
&lt;p&gt;So I investigated what was the source of all these new critical bugs we were finding. A random sample of 50 critical bugs filed were analyzed to see where and why they were introduced. The full analysis is available as a &lt;a href=&#34;https://docs.google.com/document/pub?id=1GNgTwk62WzG9oIN91bTZI4fNwfylYiSdXC56y9i_riQ&#34;&gt;published Google document&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Here are the most interesting findings from the report:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Most of the new bugs (68%) are actually legacy issues lurking in our code base.&lt;/li&gt;
&lt;li&gt;Performance and spotty test coverage represents together more than 50% of the cause of our new bugs. We should refocus maintenance on tackling performance problems, that&amp;rsquo;s what is going to bring us the most bang for the bucks (even though it&amp;rsquo;s not cheap).&lt;/li&gt;
&lt;li&gt;As a team, we should increase our awareness of testing techniques and testing coverage. Always do TDD, maybe investigate ATDD to increase the coverage and documentation our the business rules we should be supporting.&lt;/li&gt;
&lt;li&gt;We also need to pay more attention to how code is deployed, it&amp;rsquo;s now very usual for scripts to be interrupted, and for the new and ancient version of the code to operate in parallel.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Another way of looking at this is that Launchpad represents a very deep mine of technical debt. We don&amp;rsquo;t know how exactly deep the mine is, but we are going to find existing Critical issues until we hit the bottom of the mine. (Or until we finish refactoring enough of Launchpad for better testing and performance. That&amp;rsquo;s what the &lt;a href=&#34;https://dev.launchpad.net/ArchitectureGuide/Services&#34;&gt;SOA project&lt;/a&gt; is all about.)&lt;/p&gt;
&lt;p&gt;In the mean time, we should pay attention to &lt;a href=&#34;https://bugs.launchpad.net/launchpad-project/+bugs?field.tag=regression+fallout&#34;&gt;regressions and fallouts&lt;/a&gt;, (those are really the &lt;em&gt;new&lt;/em&gt; criticals) to  make sure that we aren&amp;rsquo;t extending the mine!&lt;/p&gt;
&lt;p&gt;&lt;small&gt;&lt;a href=&#34;http://www.flickr.com/photos/23707215/in/set-543851/&#34;&gt;Photo by Brian W. Tobin&lt;/a&gt;. Licence: CC BY-NC-ND 2.0.&lt;/small&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Speeding up development</title>
      <link>https://blog.launchpad.net/general/speeding-up-development/</link>
      <pubDate>Fri, 09 Sep 2011 21:38:44 +0000</pubDate>
      <dc:creator>Francis J. Lacoste</dc:creator>
      <guid isPermaLink="false">https://blog.launchpad.net/?p=2847</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://blog.launchpad.net/images/posts/2011/09/speedometer.jpg&#34; alt=&#34;Speedometer&#34;&gt;Today we reached a significant milestone, we completed our &lt;a href=&#34;http://blog.launchpad.net/notifications/fast-down-time&#34;&gt;first fast down-time deployment&lt;/a&gt;. Two obvious reasons for doing this were already mentioned in the announcement and our &lt;a href=&#34;http://blog.launchpad.net/coming-features/no-more-monthly-90-minute-downtime&#34;&gt;technical architect&amp;rsquo;&amp;rsquo;s post&lt;/a&gt; describing the change:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;We&amp;rsquo;ll have less downtime per month (at the cost of more frequent but short interruption).&lt;/li&gt;
&lt;li&gt;We&amp;rsquo;ll be able to deploy fixes and changes involving DB schema more frequently.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;But from my perspective, the most important benefit I think we&amp;rsquo;ll get from this is a speed up in our rate of development, particularly, in terms of completing feature projects. It&amp;rsquo;s not a secret, our feature squads spends a lot of time to complete their projects. There are multiple reasons for this, but in the end, there usually fall under two broad cateries: the time it takes to actually make the change, and the delays in getting feedback on the change itself.&lt;/p&gt;
&lt;p&gt;To help with the first category, you&amp;rsquo;ll want better and more powerful libraries, better architecture, developers&amp;rsquo; training, etc. Think the time difference between developping a database web application in Django vs as a CGI C application using only the standard C library. Launchpad isn&amp;rsquo;t using the most modern libraries and toolkits, and we could still make a lot of improvements there.  But the costs of making changes in this space are compounded by the problems of the other category.&lt;/p&gt;
&lt;p&gt;Once you wrote the change, you are far from done. There are lots of hoops you still have to jump through before saying &lt;a href=&#34;http://jamesshore.com/Agile-Book/done_done.html&#34;&gt;&amp;ldquo;done-done&lt;/a&gt;&amp;rdquo;: you&amp;rsquo;ll need to make sure the tests pass, to get your changes reviewed, merged, QAed and then deployed. And finally, you&amp;rsquo;ll probably want to make sure that it matches the user&amp;rsquo;s expectations, but until it&amp;rsquo;s in production, this is hard to assess reliably. All of these steps takes time and introduce delays, some bigger than others. The Launchpad team is always on the look-out to cut in these delays and the new &amp;ldquo;fast down-time deployments&amp;rdquo; cut on of the biggest one we had.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://blog.launchpad.net/images/posts/2011/09/cycle-time-distribution.png&#34; alt=&#34;Cycle time distribution&#34;&gt;&lt;/p&gt;
&lt;p&gt;Since a picture is worth at least a thousand words, have a look at the chart above to have a better idea of what I&amp;rsquo;m talking about. It shows the distribution of the time it takes to complete a &amp;ldquo;change&amp;rdquo;. (What this plots is the cycle time from coding to deployment of our Kanban cards which roughly map to one logical change.) You&amp;rsquo;ll see that 50% of our changes are deployed to production in about a week. And the next 45% takes between 1 and 5 weeks. Now, our feature projects are composed of many many of these smaller changes. If those are all  relatively small changes, why do they take so long?&lt;/p&gt;
&lt;p&gt;One of the big bottleneck was the batch size of our DB deployment. If a change required a DB schema it waited until the next downtime deployment which happened once every month. In theory, that means that on average a change involving the database would wait 2 weeks in the queue before deployment. In practice, it&amp;rsquo;s more complex than that, because squad leads would often plan around these. So a database change would be hold off onto because it was deemed that it couldn&amp;rsquo;t be safely completely to be part of the next downtime deployment. So it might be put on hold in favour of other work, and delayed to the next downtime deployment. It&amp;rsquo;s also frequent to have other changes building on the first also queued up waiting for the next deployment window. Add on top of that, that it&amp;rsquo;s common for the completion of a feature to require several iterations of DB change based on feedback and you quickly understand how you can be working months on a feature project!&lt;/p&gt;
&lt;p&gt;But this major bottleneck is now gone! We&amp;rsquo;ll be able to land and deploy DB changes reliably within days, giving us much more rapid feedback. I&amp;rsquo;m looking forward to the change in the cycle time distribution in the coming months. The whole distribution should move toward the left. I&amp;rsquo;ll write a follow-up in two months to see if this prediction comes true.&lt;br&gt;
&lt;small&gt;&lt;a href=&#34;http://www.flickr.com/photos/thatguyfromcchs08/2800472595/&#34;&gt;Photo by Nathan E Photography&lt;/a&gt;. Licence: CC BY 2.0.&lt;/small&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Matthew Revell is the new Launchpad Product Manager</title>
      <link>https://blog.launchpad.net/general/matthew-revell-is-the-new-launchpad-product-manager/</link>
      <pubDate>Fri, 26 Aug 2011 22:04:01 +0000</pubDate>
      <dc:creator>Francis J. Lacoste</dc:creator>
      <guid isPermaLink="false">https://blog.launchpad.net/?p=2827</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://blog.launchpad.net/images/posts/2011/08/mrevell-old-man-192.jpg&#34; alt=&#34;Matt Revell&#34;&gt;
It&amp;rsquo;s my pleasure to announce that as of today, &lt;a href=&#34;https://launchpad.net/~matthew.revell&#34;&gt;Matthew Revell&lt;/a&gt; is the new&lt;br&gt;
Launchpad Product Manager replacing &lt;a href=&#34;http://blog.launchpad.net/general/farewell-jonathan&#34;&gt;Jonathan Lange&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We were seduced by his bold vision for Launchpad along with his data-centric approach that he intends to bring to the role. He also has an already extensive experience interacting with Launchpad developers and users. If you read this blog, you probably read something written by him! Or you might have interacted with him in one of the many &lt;a href=&#34;http://blog.launchpad.net/general/testing-new-designs-on-launchpad-users&#34;&gt;user-research sessions&lt;/a&gt; he ran. The introduction of user-research helped us release &lt;a href=&#34;http://blog.launchpad.net/cool-new-stuff/better-bug-subscriptions&#34;&gt;better designed feature&lt;/a&gt;. Building on this experience, we hope that his leadership will bring Launchpad to the next level.&lt;/p&gt;
&lt;p&gt;Matt will communicate more about his plans for Launchpad shortly. In the&lt;br&gt;
mean time, let&amp;rsquo;s give him our warmest congratulations!&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Echoes from the Dublin Thunderdome</title>
      <link>https://blog.launchpad.net/general/echoes-from-the-dublin-thunderdome/</link>
      <pubDate>Fri, 15 Jul 2011 21:52:33 +0000</pubDate>
      <dc:creator>Francis J. Lacoste</dc:creator>
      <guid isPermaLink="false">https://blog.launchpad.net/?p=2718</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://blog.launchpad.net/images/posts/2011/07/thunderdome.jpg&#34; alt=&#34;Thunderdome&#34;&gt;I can&amp;rsquo;t believe it&amp;rsquo;s been two weeks already! From June 25th to July 1st, the whole Launchpad team was gathered in Dublin for our semi-annual all-hands event. Like usual, we also invited the Bazaar team and  &lt;a href=&#34;https://launchpad.net/%7Egnuoy&#34;&gt;one of our friendly sysadmin­&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The theme this time around was &amp;ldquo;UI, UI, UI&amp;rdquo;. Since the January squad reorganisation, it became evident that a big stumbling block for squads working on features was UI work. Our team is still inexperienced with JavaScript and the YUI3 framework. So each squad has encountered similar problems and sometime found different solutions. We wanted to take advantage of the face-time to come to a common understanding of the best patterns to use.&lt;/p&gt;
&lt;p&gt;In the end, it was a week of intense hacking on UI infrastructure, with part of the mornings dedicated on presentation where people shared what they learnt in the past 6 months.&lt;/p&gt;
&lt;p&gt;Projects that were worked on during the week:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;An &lt;a href=&#34;http://blog.launchpad.net/general/in-for-the-long-poll&#34;&gt;asynchronous notification system&lt;/a&gt; (extracted from Landscape) which will allow us to update pages as soon as tasks complete on the backend.&lt;/li&gt;
&lt;li&gt;We ditched our buggy &lt;a href=&#34;http://www.getwindmill.com/&#34;&gt;Windmill&lt;/a&gt;-based Javascript integration tests, in favour of a &lt;a href=&#34;http://developer.yahoo.com/yui/3/test/&#34;&gt;yuitest&lt;/a&gt;-based suite. We already use yuitest for JS unit tests, but now we&amp;rsquo;ll be able to use it  for integration tests where  we need to make XHR requests to a live server. We&amp;rsquo;ll even be able to set server-side fixtures from within the test!&lt;/li&gt;
&lt;li&gt;Investigate the use of &lt;a href=&#34;http://pypi.python.org/pypi/selenium&#34;&gt;selenium2&lt;/a&gt; for acceptance testing. These are tests ensuring a complete workflow works and that ideally will be able to run against both the staging server as well as within tree for regression testing.&lt;/li&gt;
&lt;li&gt;Integrating loggerhead-backed branch data on some Launchpad pages. You should soon be able to get the diff of a particular revision directly on the merge proposal page.&lt;/li&gt;
&lt;li&gt;Infrastructure to refresh all the &lt;a href=&#34;http://blog.launchpad.net/general/initializing-page-javascript-from-the-jsoncache&#34;&gt;client-side representation of objects related to a page&lt;/a&gt; in one request.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://bugs.launchpad.net/launchpad-project/+bugs?field.status%3Alist=FIXRELEASED&amp;amp;field.tag=thunderdome+dublin&amp;amp;field.tags_combinator=ANY&#34;&gt;Many UI bugs were fixed&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This was also the week we said farewell to old friend: &lt;a href=&#34;http://blog.launchpad.net/general/farewell-jonathan&#34;&gt;Jonathan our Product Strategist&lt;/a&gt;  and &lt;a href=&#34;https://launchpad.net/~ursinha&#34;&gt;Ursula Junque&lt;/a&gt; who is now working as QA analyst for the Ubuntu Server team. In the end, Jono didn&amp;rsquo;t &lt;a href=&#34;http://blog.launchpad.net/general/a-cream-pie-in-the-face&#34;&gt;get pied&lt;/a&gt; as we still had a huge number of &lt;a href=&#34;https://bugs.launchpad.net/launchpad-project/+bugs?search=Search&amp;amp;field.importance=Critical&amp;amp;field.status=New&amp;amp;field.status=Incomplete&amp;amp;field.status=Confirmed&amp;amp;field.status=Triaged&amp;amp;field.status=In+Progress&amp;amp;field.status=Fix+Committed&#34;&gt;Critical bugs left open&lt;/a&gt;. We did rejoice in achieving our performance improvements target. Given the trend, I estimated that we have still 6 months before emptying the Critical bugs list. The new target is to reduce to a 100 for October. Let&amp;rsquo;s see if I was more realistic this time around.&lt;/p&gt;
&lt;p&gt;And we also took the traditional team picture.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://blog.launchpad.net/images/posts/2011/07/LPTeamDublin2011.png&#34; alt=&#34;Launchpad Team Photo&#34;&gt;&lt;/p&gt;
&lt;p&gt;Great fun it was, and I can&amp;rsquo;t wait for the next one in January.&lt;/p&gt;
&lt;p&gt;&lt;small&gt;&lt;a href=&#34;http://www.flickr.com/photos/colleenmorgan/1295956744&#34;&gt;Photo by Miss_Colleen&lt;/a&gt;. Licence: CC BY-NC-SA 2.0.&lt;/small&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Farewell, Jonathan</title>
      <link>https://blog.launchpad.net/general/farewell-jonathan/</link>
      <pubDate>Fri, 17 Jun 2011 21:35:31 +0000</pubDate>
      <dc:creator>Francis J. Lacoste</dc:creator>
      <guid isPermaLink="false">https://blog.launchpad.net/?p=2637</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://blog.launchpad.net/images/posts/2011/06/heading-off.jpg&#34; alt=&#34;Heading Off&#34; height=&#34;180&#34; /&gt;Yesterday, &lt;a href=&#34;http://code.mumak.net/&#34;&gt;Jonathan Lange&lt;/a&gt; our Product Strategist announced that he was leaving Launchpad after four and a half year. The fact that he&amp;rsquo;s only leaving next door to work on the Ubuntu Developer Programme from within the Platform team is only a small comfort.&lt;/p&gt;
&lt;p&gt;Before becoming Launchpad Product Strategist, Jonathan was known for adding support for source package branches to Launchpad. He became Strategist at about the same time I took the interim leadership of Launchpad. It will interesting to see how I manage without him!&lt;/p&gt;
&lt;p&gt;He was instrumental in most of the process changes that happened to the team in the last two years. We can thanks Jonathan for bringing us the &lt;a href=&#34;https://dev.launchpad.net/LaunchpadEnhancementProposalProcess&#34;&gt;LEP process&lt;/a&gt; which make sure that we focus on the right things before starting coding, the &lt;a href=&#34;http://blog.launchpad.net/general/whats-next-part-2-features&#34;&gt;Stakeholders process&lt;/a&gt; to make sure that we are working on the right thing. He also brought some clarity on what &lt;a href=&#34;http://lpqateam.canonical.com/doc/scope.html&#34;&gt;Launchpad was all about&lt;/a&gt;! Recently, he has been working on clarifying the &lt;a href=&#34;https://dev.launchpad.net/PolicyAndProcess/FeatureDevelopment&#34;&gt;feature development process&lt;/a&gt;, so that we can deliver polished changes on a regular cadence to users. I&amp;rsquo;m probably forgetting also a  lot of other changes which his constant quest for improvements suggested to us in one way or another.&lt;/p&gt;
&lt;p&gt;Oh, and we can thank him for making sure that we didn&amp;rsquo;t move on early from &lt;a href=&#34;http://blog.launchpad.net/cool-new-stuff/source-package-recipes&#34;&gt;daily builds&lt;/a&gt;, &lt;a href=&#34;http://blog.launchpad.net/bug-tracking/coming-soon-improved-bug-subscriptions&#34;&gt;improved bug subscriptions&lt;/a&gt; and other changes without the polish they have today. I (and I&amp;rsquo;m sure our users) thank you!&lt;/p&gt;
&lt;p&gt;Whoever takes that role forward, will have big shoes to fill! If you are interested by the challenge, a job opening should be posted soon!&lt;/p&gt;
&lt;p&gt;Thanks a lot Jonathan, it was a pleasure to work with you all these years! You&amp;rsquo;ll be missed. Good luck with your new project, but I&amp;rsquo;m glad to think that the future of Ubuntu Application Development is in excellent hands!&lt;/p&gt;
&lt;p&gt;&lt;small&gt;&lt;a href=&#34;http://www.flickr.com/photos/robino/1285001574/&#34;&gt;Photo by Robin Robokow&lt;/a&gt;. Licence: CC BY-NC-SA 2.0.&lt;/small&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Bryce Harrington appointed Ubuntu Launchpad stakeholder representative</title>
      <link>https://blog.launchpad.net/general/bryce-harrington-appointed-ubuntu-launchpad-stakeholder-representative/</link>
      <pubDate>Sat, 04 Jun 2011 17:38:00 +0000</pubDate>
      <dc:creator>Francis J. Lacoste</dc:creator>
      <guid isPermaLink="false">https://blog.launchpad.net/?p=2558</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://blog.launchpad.net/images/posts/2011/06/petanque.jpg&#34; alt=&#34;51&#34;&gt;&lt;/p&gt;
&lt;p&gt;When I explained &lt;a href=&#34;http://blog.launchpad.net/general/whats-next-part-2-features&#34;&gt;how we determined what feature to work on next&lt;/a&gt;, I mentioned that we were looking to add a stakeholders representative for the Ubuntu project. Well, it&amp;rsquo;s now done. The &lt;a href=&#34;https://wiki.ubuntu.com/TechnicalBoard&#34;&gt;Ubuntu Technical Board&lt;/a&gt; &lt;a href=&#34;https://lists.ubuntu.com/archives/technical-board/2011-June/000910.html&#34;&gt;delegated&lt;/a&gt; &lt;a href=&#34;https://launchpad.net/~bryce&#34;&gt;Bryce Harrington&lt;/a&gt; to that position.&lt;/p&gt;
&lt;p&gt;So if you are part of the Ubuntu community and need something from Launchpad, you can now talk to Bryce.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m really glad to have him on that position. Not only is he a respected member of the Ubuntu community, but he also did a 6 months rotation within the Launchpad team, so has understanding of how our project operates.&lt;/p&gt;
&lt;p&gt;He&amp;rsquo;ll now be in a position to escalate important bugs affecting the Ubuntu community, as well as present the community&amp;rsquo;s view on what new features should be prioritized. It won&amp;rsquo;t be an easy job, since the Ubuntu project is big and varied. The people who cares about bugs are often not the same that cares about translations nor the same that cares about package publishing or the Ubuntu distribution development toolchain. And the stakeholder representative job is to help prioritize these needs to make sure that the Launchpad team works on the most important work. Plus then he&amp;rsquo;ll have to find common grounds with the other stakeholder representatives!&lt;/p&gt;
&lt;p&gt;Thanks Bryce for stepping up to these responsibilities!&lt;/p&gt;
&lt;p&gt;&lt;small&gt;&lt;a href=&#34;http://www.flickr.com/photos/wallyg/822670489/&#34;&gt;Photo by Wally Gobetz&lt;/a&gt;. Licence: CC BY-NC-ND 2.0.&lt;/small&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>What does rotation to maintenance really means?</title>
      <link>https://blog.launchpad.net/general/what-does-rotation-to-maintenance-really-means/</link>
      <pubDate>Fri, 03 Jun 2011 21:36:30 +0000</pubDate>
      <dc:creator>Francis J. Lacoste</dc:creator>
      <guid isPermaLink="false">https://blog.launchpad.net/?p=2551</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://blog.launchpad.net/images/posts/2011/06/foucault-rotation.jpg&#34; alt=&#34;51&#34;&gt;&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve been asked this question privately a few times already. What does it mean for a squad to &lt;a href=&#34;http://blog.launchpad.net/general/announcing-launchpad-squads&#34;&gt;rotate from feature-mode to maintenance-mode&lt;/a&gt;? The question arises as a number of folks noticed that some members of the squad continue working on feature-related bugs after they are on maintenance shift. That happened with the former Blue squad when they completed &lt;a href=&#34;http://blog.launchpad.net/cool-new-stuff/source-package-recipes&#34;&gt;daily builds&lt;/a&gt;, with the &lt;a href=&#34;https://launchpad.net/~launchpad-orange-squad/+mugshots&#34;&gt;Orange squad&lt;/a&gt; when they completed &lt;a href=&#34;http://blog.launchpad.net/translations/sharing-translations-2&#34;&gt;sharing translations&lt;/a&gt;, and with the  &lt;a href=&#34;https://launchpad.net/~yellow/+mugshots&#34;&gt;Yellow squad&lt;/a&gt; and &lt;a href=&#34;http://blog.launchpad.net/bug-tracking/coming-soon-improved-bug-subscriptions&#34;&gt;better bug subscriptions&lt;/a&gt;. So let me clarify what that boundary means.&lt;/p&gt;
&lt;p&gt;In a nutshell, it means that the squad starts new work from a different queue. After the switch, new work will come from the general maintenance queue. Because we do the switch aligned with the calendar week, there is always work related to the feature that is still in-process (code started but not reviewed, or landed but not deployed, etc.) That&amp;rsquo;s the work that continues after the transition. After the rotation, the squad also becomes on the hook to cater for the &lt;a href=&#34;https://dev.launchpad.net/MaintenanceRotationSchedule&#34;&gt;user support duties related to maintenance mode&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;What are the trade-off related to this boundary definition? The main impact is that we get a dip in maintenance related bug fixes around the rotation. That&amp;rsquo;s because the new maintenance squad has still some members not ready to start new maintenance-related work. It could be argued that because of the interrupt nature of the maintenance responsibilities, it would take longer to finish off the work related to the feature. I&amp;rsquo;m not sure that happens in practice, but I make note to check the data&amp;hellip;&lt;/p&gt;
&lt;p&gt;The alternative  would be to only rotate after all the feature-related bugs are done-done. The rest of the squad could fix some lower priority bugs related to the feature or clean-up tech-debt accumulated during their rotation.  It would preserve the number of people effectively working on maintenance around the transitions.  But it would mean that it would take longer before we start the next feature. And given the poor state of our feature cycle time, it&amp;rsquo;s not a trade-off that I (and I guess our stakeholders) would be willing to make at this time. We might revisit this in the future though.&lt;/p&gt;
&lt;p&gt;&lt;small&gt;&lt;a href=&#34;http://www.flickr.com/photos/hoel/527490190/&#34;&gt;Photo by Camilia Hoel&lt;/a&gt;. Licence: CC BY-NC-SA 2.0.&lt;/small&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Countdown to the pie</title>
      <link>https://blog.launchpad.net/general/countdown-to-the-pie/</link>
      <pubDate>Fri, 27 May 2011 22:16:45 +0000</pubDate>
      <dc:creator>Francis J. Lacoste</dc:creator>
      <guid isPermaLink="false">https://blog.launchpad.net/?p=2533</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://blog.launchpad.net/images/posts/2011/05/piepod.jpg&#34; alt=&#34;51&#34;&gt;&lt;/p&gt;
&lt;p&gt;We are now one month away from the Dublin Thunderdome and the stakes of the game have increased substantially since &lt;a href=&#34;http://blog.launchpad.net/general/5-9-23-51-and-other-numbers&#34;&gt;last time&lt;/a&gt;! At &lt;a href=&#34;http://blog.launchpad.net/general/love-from-budapest&#34;&gt;UDS&lt;/a&gt;, Jonathan &lt;a href=&#34;http://blog.launchpad.net/general/a-cream-pie-in-the-face&#34;&gt;announced&lt;/a&gt; he was willing to take a pie in the face if we achieved our 0 critical bugs goal. Two others joined him in the bet.&lt;/p&gt;
&lt;p&gt;As of this writing, we have &lt;a href=&#34;https://bugs.launchpad.net/launchpad-project/+bugs?search=Search&amp;amp;field.importance=Critical&amp;amp;field.status=New&amp;amp;field.status=Incomplete&amp;amp;field.status=Confirmed&amp;amp;field.status=Triaged&amp;amp;field.status=In+Progress&amp;amp;field.status=Fix+Committed&#34;&gt;210 critical bugs&lt;/a&gt; left to fix to pie Jono, Ted and Neil. (203 actually, since  &lt;a href=&#34;https://bugs.launchpad.net/launchpad-project/+bugs?field.tag=not-pie-critical&#34;&gt;7 of those are bugs escalated&lt;/a&gt; after the bet announcement.) Unfortunately, their face seems pretty safe :-/ If we look at the trend of the last 4 weeks, we see that we are burning down about 12 bugs per week. At this rate, we would achieve this goal in 18 weeks, so around the end of September.  3 months too late for a pie! This week, the &lt;a href=&#34;https://launchpad.net/~yellow/+mugshots&#34;&gt;Yellow squad &lt;/a&gt;is starting on maintenance, so we&amp;rsquo;ll see if they can improve on the 12 bugs a week burn-down. I mean, that number is 3 times the long-term rate which is more like 4 a week, so we are definitively improving! Both because we are better at fixing bugs, but also because the number of newly found issues is declining. You can see the combined effect of this on the burndown graph as the slope gets much sharper on the right.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://blog.launchpad.net/images/posts/2011/05/critical-burndown.png&#34; alt=&#34;51&#34;&gt;&lt;/p&gt;
&lt;p&gt;It doesn&amp;rsquo;t look much better on our third objective which  is to have a &lt;a href=&#34;../general/get-an-overview-of-what-were-doing&#34;&gt;free slot in the stakeholders Next queue&lt;/a&gt;. This week the Teal squad resumed work on the our project to improve &lt;a href=&#34;https://dev.launchpad.net/LEP/BetterPrivacy&#34;&gt;Launchpad privacy features&lt;/a&gt;. They did an initial break-down of the project and they have work until the next UDS! The &lt;a href=&#34;https://launchpad.net/~redsquad/+mugshots&#34;&gt;Red squad&lt;/a&gt; is finishing off &lt;a href=&#34;https://dev.launchpad.net/LEP/DerivativeDistributions&#34;&gt;derived distributions&lt;/a&gt;, probably before the Thunderdome. But even then, at that point we would be starting on adding customizable columns on search results. And the Next queue would still be full at 2 items. On the plus side, we won&amp;rsquo;t be over our work-in-process limit anymore :-)&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m looking forward to see how this all turns out in Dublin, but whatever happens, at the very least, we&amp;rsquo;ll have succeeded early on our 9s timeout objective.&lt;/p&gt;
&lt;p&gt;&lt;small&gt;&lt;a href=&#34;http://www.flickr.com/photos/daviddmuir/422360889/&#34;&gt;Photo by David Muir&lt;/a&gt;. Licence: CC BY-NC-ND 2.0.&lt;/small&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Love from Budapest</title>
      <link>https://blog.launchpad.net/general/love-from-budapest/</link>
      <pubDate>Fri, 20 May 2011 21:42:54 +0000</pubDate>
      <dc:creator>Francis J. Lacoste</dc:creator>
      <guid isPermaLink="false">https://blog.launchpad.net/?p=2485</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://blog.launchpad.net/images/posts/2011/05/unconventional-love.jpg&#34; alt=&#34;Unconventional Love&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;http://code.mumak.net/&#34;&gt;Jonathan&lt;/a&gt; (our Product Strategist) and I attended UDS-O in Budapest last week. &lt;a href=&#34;http://bradcrittenden.net/&#34;&gt;Brad&lt;/a&gt;, &lt;a href=&#34;https://launchpad.net/~wallyworld&#34;&gt;Ian&lt;/a&gt;, &lt;a href=&#34;https://launchpad.net/~huwshimi&#34;&gt;Huw&lt;/a&gt; and &lt;a href=&#34;http://bigjools.wordpress.com/&#34;&gt;Julian&lt;/a&gt; also came along for some part of it. And what great feedback we received from Ubuntu contributors! Working on a big and relatively old project like Launchpad  can sometime be hard. From within, we are well aware  that development is slower than it could be, that we have a lot of tech-debt and a &lt;a href=&#34;http://blog.launchpad.net/general/300-critical-bugs&#34;&gt;big pile of Critical bugs&lt;/a&gt;, not to mention the hundreds of things that we know we could do to make Launchpad more compelling. Working distributed where you interact with users and fellow developers mostly through IRC and email, and sometime voice for &amp;ldquo;richer&amp;rdquo; communication makes it even easier to lose the perspective you get when you speak to real users face-to-face.&lt;/p&gt;
&lt;p&gt;For me, UDS brought a nice uplifting fresh air (and that&amp;rsquo;s not a small feat when  you know that this is a conference where you have sometime ~400 people in close proximity in the same room ;-) I don&amp;rsquo;t have enough fingers to count the number of people who thanked us for our performance work or for some other bug fixes we did! From their perspective, Launchpad development is going well and they want more! The performance improvements we did have been noticed! And people were thrilled by &lt;a href=&#34;http://blog.launchpad.net/bug-tracking/beta-squadron-engage-better-bug-subscriptions&#34;&gt;the new bug subscription work&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;You can get a feel for the atmosphere by watching &lt;a href=&#34;http://www.youtube.com/watch?v=4Cxs9OHIBcs#t=0h17m34s&#34;&gt;Jono&amp;rsquo;s 5-minutes lightning talk&lt;/a&gt;. The audience reaction is very much in line with the individual feedback we received.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s always great to know your effort are appreciated by your users. Thank to all the folks at UDS. Keep the love coming!&lt;/p&gt;
&lt;p&gt;&lt;small&gt;&lt;a href=&#34;http://www.flickr.com/photos/jemufo/4511736545/in/photostream/&#34;&gt;Photo by yixing h&lt;/a&gt;. Licence: CC BY-NC-ND 2.0.&lt;/small&gt;&lt;/p&gt;
</description>
    </item>
    
  </channel>
</rss>
