<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Guillaume Paumier&#039;s weblog &#187; Product management</title>
	<atom:link href="http://www.gpaumier.org/blog/tag/product-management/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.gpaumier.org/blog</link>
	<description>open knowledge, design &#38; technology</description>
	<lastBuildDate>Thu, 26 Jan 2012 15:14:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Scaling up Software development for Wikimedia websites (Part II: Tools)</title>
		<link>http://www.gpaumier.org/blog/520_scaling-up-software-development-for-wikimedia-websites-tools/</link>
		<comments>http://www.gpaumier.org/blog/520_scaling-up-software-development-for-wikimedia-websites-tools/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 17:05:50 +0000</pubDate>
		<dc:creator>Guillaume Paumier</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Wikimedia Technology]]></category>
		<category><![CDATA[Bug tracker]]></category>
		<category><![CDATA[bugzilla]]></category>
		<category><![CDATA[MediaWiki]]></category>
		<category><![CDATA[Product management]]></category>
		<category><![CDATA[Project management]]></category>
		<category><![CDATA[Redmine]]></category>
		<category><![CDATA[Requirements management]]></category>

		<guid isPermaLink="false">http://www.gpaumier.org/blog/?p=520</guid>
		<description><![CDATA[I have previously explained why the current setup of the Wikimedia bug tracker is not ideal. I have also advocated for a more managed &#038; scientific software development strategy. This article aims to discuss an appropriate tool to support this strategy, and at the same time fix what is broken. <a href="http://www.gpaumier.org/blog/520_scaling-up-software-development-for-wikimedia-websites-tools/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><em>During the past few weeks, I have been thinking about a more structured way to manage software and product development within the Wikimedia community. The result is a list of ideas and recommendations I have compiled and submitted to the relevant staff members at the Wikimedia Foundation. I am also publishing them here in order to allow for a wider feedback. This article is the fourth and last of a series dedicated to this topic.</em></p>
<p><em><strong>Disclaimer:</strong> The content of this article reflects only my personal opinion and is not an official plan or communication of the Wikimedia Foundation.</em></p>
<p>I have previously explained why <a href="http://www.gpaumier.org/blog/494_wikimedia-mediawiki-bugs-issues-and-requests/">the current setup of the Wikimedia bug tracker is not ideal</a>. I have also advocated for a <a href="http://www.gpaumier.org/blog/519_scaling-up-software-development-for-wikimedia-websites-human-resources/">more managed &amp; scientific software development strategy</a>. This article aims to discuss an appropriate tool to support this strategy, and at the same time fix what is broken.</p>
<div id="attachment_819" class="wp-caption aligncenter" style="width: 600px"><a href="http://commons.wikimedia.org/wiki/File:Tooled_Flatty_by_flattop341.jpg"><img class="size-medium wp-image-819" title="Tooled_Flatty_by_flattop_640" src="http://www.gpaumier.org/blog/wp-content/uploads/2010/03/Tooled_Flatty_by_flattop_640-590x442.jpg" alt="Tooled Flatty by flattop 640 590x442 Scaling up Software development for Wikimedia websites (Part II: Tools)" width="590" height="442" /></a><p class="wp-caption-text">“Give us the tools, and we will finish the job.” (CC-by by fattop341)</p></div>
<h2>Software lifecycle &amp; Project management</h2>
<p>Right now, there is little project management of the technical activities at the Foundation. When someone does manage projects, they often use personal desktop applications that don&#8217;t allow collaborative work. There isn&#8217;t any real development roadmap or product requirements. If we want to be serious about structuring our activities, <strong>we need a project management strategy &amp; the appropriate associated tools</strong> that allow us to manage things such as project scope, schedule, budget &amp; financial resources, quality assurance, human resources, communications, risks &amp; opportunities, procurement and coordination.</p>
<p>I asked around to see what the needs of the various members of the team were. Naoko Komura, who has been project-managing the Wikipedia Usability Initiative, and is now overseeing all <acronym title="User experience">UX</acronym> programs, is particularly interested in the integration of the Project management platform with calendars &amp; issue tracking. Operations staff members also said they were interested in Project management features such as time and task tracking.</p>
<p>I think it is way past time to have a more organized development process &amp; software lifecycle management. The recent hiring of a new Chief Technical Officer is a step towards a more structured organization of technological activities. Of course, changing our bug tracker alone won&#8217;t automatically structure our activities, but it is a step in this direction.</p>
<p><strong>Recommendation: Use tools that allow a better management of, and integration between, the different stages in our product(s) lifecycle.</strong></p>
<h2>Requirements</h2>
<p>A few months ago, I asked Priyanka Dhanda (our new Code maintenance engineer) to explore open-source collaborative project management platforms that could be easily integrated with bugzilla (or that included a bug tracking system of their own). The Wikimedia tech community was <a title="Tracker/PM discussion call" href="http://thread.gmane.org/gmane.science.linguistics.wikipedia.technical/46544">invited</a> to <a title="Tracker/PM_tool requirements" href="http://www.mediawiki.org/wiki/Tracker/PM_tool">list requirements of such a tool</a>, as well as possible solutions.</p>
<p>From the feedback we received, we can summarize what the required features for an issue tracker are: integration with our Version control system, being FLOSS, multiple projects support and ability to separate between &#8220;tasks&#8221; and other items such as bugs and feature requests. Additional, &#8220;nice to have&#8221; features include: ability to import data from existing Bugzilla instance and fined-grained e-mail subscription options</p>
<p>Similarly, the required features for a Project management tool are: being web-based to facilitate collaboration, multiple projects support, calendar/scheduling and roadmap, assignments &amp; resource management and time tracking per task/user/project. Additional, &#8220;nice to have&#8221; features include: Gantt charts, public/private projects, fine-grained access to projects by user, basic accounting &amp; budget management and requirements management.</p>
<h2>Redmine</h2>
<p>I haven&#8217;t found many Project management softwares that can be easily integrated with Bugzilla. However, I have discovered alternatives to Bugzilla that include project management features like those we&#8217;re looking for. <a title="Redmine" href="http://www.redmine.org/projects/redmine">Redmine</a> seems to be a good project management software and provides an advanced issue tracking system as well. It supports multiple projects, public/private projects, calendars &amp; Gantt chart, <a title="List of features of Redmine" href="http://www.redmine.org/wiki/redmine/Features">and a lot of other neat stuff</a>. It also offers the ability to distinguish between features/improvements and bugs; this would be particularly useful to prioritize development efforts. We are now considering using Redmine as project management software and taking this opportunity to move our Bugzilla setup to Redmine. Initial research shows that a lot of people seem to praise Redmine compared to Bugzilla; there are migration scripts to import an existing Bugzilla setup into a new Redmine one.</p>
<p><a title="who is using Redmine" href="http://www.redmine.org/wiki/redmine/WeAreUsingRedmine">Major projects</a> such as <a title="forge.typo3.org" href="http://forge.typo3.org">TYPO3</a> are using Redmine. The software seems to benefit from a dynamic community of developers and it is also possible to sponsor custom development. There are many plug-ins to extend the default core features; popular plug-ins are usually included into the core software at some point.</p>
<p>Priyanka set up a local test instance of Redmine to let us play with it a bit; a <a title="test Redmine platform" href="http://project2.wikimedia.org:3000/">public test platform</a> was later made available for wider testing and the Wikimedia Tech community was invited to pitch in. So far, I personally like it and it fits my needs perfectly. Wider testing is now necessary to see if it fits the needs of the tech community.</p>
<p>Because the time I can devote to this change is limited, I haven&#8217;t reviewed other alternatives than Redmine, and don&#8217;t plan to unless another major alternative is suggested.</p>
<p><strong>Recommendation: Move from Bugzilla to Redmine after careful preparation, especially regarding the organization of the platform.</strong></p>
<h2>Read also in this series</h2>
<ul>
<li><a href="http://www.gpaumier.org/blog/494_wikimedia-mediawiki-bugs-issues-and-requests/">Wikimedia &amp; MediaWiki bugs, issues and requests</a></li>
<li><a href="http://www.gpaumier.org/blog/503_wikimedia-user-experience-programs/">Wikimedia User experience programs: a systematic approach</a></li>
<li><a href="http://www.gpaumier.org/blog/519_scaling-up-software-development-for-wikimedia-websites-human-resources/">Scaling up Software development for Wikimedia websites (Part I: Human resources)</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://www.gpaumier.org/blog/520_scaling-up-software-development-for-wikimedia-websites-tools/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scaling up Software development for Wikimedia websites (Part I: Human resources)</title>
		<link>http://www.gpaumier.org/blog/519_scaling-up-software-development-for-wikimedia-websites-human-resources/</link>
		<comments>http://www.gpaumier.org/blog/519_scaling-up-software-development-for-wikimedia-websites-human-resources/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 19:57:44 +0000</pubDate>
		<dc:creator>Guillaume Paumier</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Wikimedia Technology]]></category>
		<category><![CDATA[Community management]]></category>
		<category><![CDATA[interaction design]]></category>
		<category><![CDATA[MediaWiki]]></category>
		<category><![CDATA[Product management]]></category>
		<category><![CDATA[Software development]]></category>

		<guid isPermaLink="false">http://www.gpaumier.org/blog/?p=519</guid>
		<description><![CDATA[Our human resources are currently focusing on what happens after the code has been written: we review it, we try to ensure quality, we try to automate testing, we file bugs, etc. However, there is little preparation before the development is actually done. This has led to a developer-driven design, resulting in an interface based on the implementation model. We need a more systematic approach to User experience and development management if we want to scale up properly. <a href="http://www.gpaumier.org/blog/519_scaling-up-software-development-for-wikimedia-websites-human-resources/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><em>During the past few weeks, I have been thinking about a more structured way to manage software and product development within the Wikimedia community. The result is a list of ideas and recommendations I have compiled and submitted to the relevant staff members at the Wikimedia Foundation. I am also publishing them here in order to allow for a wider feedback. This article is the third of a series dedicated to this topic.</em></p>
<p><em><strong>Disclaimer:</strong> The content of this article reflects only my personal opinion and is not an official plan or communication of the Wikimedia Foundation.</em></p>
<p><em> </em></p>
<div id="attachment_822" class="wp-caption aligncenter" style="width: 600px"><em><em><a href="http://commons.wikimedia.org/wiki/File:Brighton_University_usability_lab_by_Danny_Hope.png"><img class="size-medium wp-image-822" title="Brighton_University_usability_lab_by_Danny_Hope640" src="http://www.gpaumier.org/blog/wp-content/uploads/2010/03/Brighton_University_usability_lab_by_Danny_Hope640-590x394.jpg" alt="Brighton University usability lab by Danny Hope640 590x394 Scaling up Software development for Wikimedia websites (Part I: Human resources)" width="590" height="394" /></a></em></em><p class="wp-caption-text">User research is critical in order to understand the users and design products that make sense to them. (CC-by by Danny Hope)</p></div>
<p><em> </em></p>
<p>I am not going to give specific advice about how many developers the Wikimedia Foundation should hire: there are other people more knowledgeable about how many we need, and what they should work on. However, there are other key positions that I think are need to scale up.</p>
<p>Our human resources are currently focusing on what happens <em>after</em> the code has been written: we review it, we try to ensure quality, we try to automate testing, we file bugs, etc. However, there is little preparation <em>before</em> the development is actually done. This has led to a developer-driven design, resulting in an interface based on the implementation model. We need <a href="http://www.gpaumier.org/blog/503_wikimedia-user-experience-programs/">a more systematic approach to User experience</a> and development management if we want to scale up properly.</p>
<h2>Product management &amp; Design</h2>
<p>In the Software development world, Product managers and Designers are the most common bridges between users and engineers. Product managers identify the needs of users and prioritize features &amp; improvements; their goal is to translate the users&#8217; experience and feedback into explicit requirements to meet the users&#8217; expectations. It is then the role of the designers to create innovative, well-thought solutions to address these issues and meet the requirements. Finally, developers provide feedback about the technical feasibility of these solutions, and implement them the best way possible. This is of course a simplistic summary, but it helps get the point across.</p>
<p>&#8220;Designer&#8221; can have a lot of different meanings. A lot of people think that &#8220;design&#8221; is just making things pretty. When I talk about designers, I think mainly of <a title="Interaction Design on Wikipedia" href="http://en.wikipedia.org/wiki/Interaction_design"><em>Interaction</em> Designers</a>, i.e. people who design solutions to improve the user experience and the way the product interacts with the user.</p>
<p>The community of MediaWiki users is amazingly large, partly because they include participants from all Wikimedia Websites. Similarly, MediaWiki also benefits from a large base of volunteer developers. Product managers and designers have been the missing piece in this picture; their bridging role is critical, simply because there aren&#8217;t any volunteers to take up this task. Admittedly, some users are also developers, and some developers keep themselves informed of the users&#8217; wishes. But <strong>without product managers, clear requirements &amp; prioritization are missing</strong>. And <strong>without designers, the technical solutions created by the developers don&#8217;t meet the users&#8217; expectations</strong> and mental model.</p>
<p>In my experience, developers prefer to focus on the actual development and rarely enjoy meta-activities related to it. They usually dislike project management and writing product specifications, and rightly so: it is not their job. However, <strong>a successful software product strategy cannot rely only on development</strong>. We benefit from a large community of volunteer developers, but we lack management &amp; design resources; it is the role of the Foundation to supplement this lack. It doesn&#8217;t mean we shouldn&#8217;t expand our development team: our number of paid core developers is ridiculously small. It only means we should also invest where the weakness lies.</p>
<p><strong>Recommendation: Recruit Product managers and Designers to strengthen the development cycle of our technological platform</strong></p>
<h2>Research team</h2>
<p>The <a title="Multimedia usability hub" href="http://usability.wikimedia.org/wiki/Multimedia:Hub">Multimedia usability project</a> has relied heavily on initial research in order to gather as much information as possible about users and their goals. A lot of useful information was already available, but a lot of specific metrics were also missing; collecting and analyzing them took a lot of time and it will still take months to get all the metrics we need. Research is critical in order to make the right decisions, especially about design. <strong>Research is the only way know our users in order to make the best design &amp; management decisions.</strong> Good research is the best basis on which product managers, designers and developers can then respectively specify, design and build awesome solutions.</p>
<p>Right now the only researcher we have is Erik Zachte as Data analyst, but his job seems to essentially focus on providing operational metrics. While this work is much needed, we also need some more specific data on a case by case basis. I see at least three other positions needed:</p>
<ul>
<li> A <strong><acronym title="User experience">UX</acronym> research specialist</strong>, who would conduct regular in-house low-cost usability testing, and generally manage <acronym title="User experience">UX</acronym> studies</li>
<li>A <strong>Metrics engineer</strong>, who would develop integrated metrics in the software and be able to extract specific information from the database on a case by case basis.</li>
<li>A <strong>Community specialist</strong>, with a good knowledge of social psychology and online interaction, who would especially focus on improving the interaction between participants by identifying the community issues and proposing ways to fix them.</li>
</ul>
<p><strong>Recommendation: Build a Research team to guide design &amp; strategic decisions about our technological platform</strong></p>
<h2>Volunteer developers</h2>
<p>We benefit from a fantastic community of volunteer developers, but we underestimate their potential; I think we are not doing enough to support their work and engage them into our activities. In 2007, the Foundation hired Cary Bass to try and coordinate the large pool of volunteers willing to help us with meta activities. Similarly, <strong>we need a <em>Dev community manager</em> to care for our volunteer developers</strong>. We need someone who knows the developer community very well, and knows their strengths and weaknesses in order to find the right person for each job. We need someone who can help orient new volunteers, organize real-life meet-ups and manage projects such as the Google Summer of Code.</p>
<p><strong>Recommendation: Recruit a Community manager to coordinate the efforts of volunteer developers.<br />
</strong></p>
<h2>Read also in this series</h2>
<ul>
<li><a href="http://www.gpaumier.org/blog/494_wikimedia-mediawiki-bugs-issues-and-requests/">Wikimedia &amp; MediaWiki bugs, issues and requests</a></li>
<li><a href="http://www.gpaumier.org/blog/503_wikimedia-user-experience-programs/">Wikimedia User experience programs: a systematic approach</a></li>
<li><a href="http://www.gpaumier.org/blog/520_scaling-up-software-development-for-wikimedia-websites-tools/">Scaling up Software development for Wikimedia websites (Part II: Tools)</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://www.gpaumier.org/blog/519_scaling-up-software-development-for-wikimedia-websites-human-resources/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
