<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"
xmlns:thr="http://purl.org/syndication/thread/1.0">
<link rel="alternate" type="text/html" href="http://www.pbs.org/idealab/2008/10/agile-programming-good-model-for-collaboration005.html" />
<link rel="self" type="application/atom+xml" href="http://www.pbs.org/idealab/atom.xml" />
<id>tag:www.pbs.org,2009:/idealab//31/tag:dipsy.pbs.org,2008:/idealab_test_blogs//31.4606-</id>
<updated>2009-10-19T21:47:42Z</updated>
<title>Comments for Agile Programming: Good Model for Collaboration?</title>
<subtitle>Idea Lab is a group blog by innovators who are reinventing community news for the Digital Age.</subtitle>
<generator uri="http://www.sixapart.com/movabletype/">Movable Type 4.24-en</generator>
<entry>
<id>tag:dipsy.pbs.org,2008:/idealab_test_blogs//31.4606</id>
<link rel="alternate" type="text/html" href="http://www.pbs.org/idealab/rss2/redir/idealab/2008/10/agile-programming-good-model-for-collaboration005.html" />
<link rel="service.edit" type="application/atom+xml" href="http://blogs.pbs.org/mediashift/mt4/mt-atom.cgi/weblog/blog_id=31/entry_id=4606" title="Agile Programming: Good Model for Collaboration?" />
<published>2008-10-29T02:48:17Z</published>
<updated>2009-01-05T22:16:11Z</updated>
<title>Agile Programming: Good Model for Collaboration?</title>
<summary>In my experience in media companies and academia, developing or implementing new software is almost always a painful process. The people who are going to use the software can&apos;t communicate what they want, and the developers don&apos;t understand the end users&apos; needs. The developers think the end users have unreasonable expectations, while the end users think the developers are dragging their feet. Software projects are always behind schedule, and even after completion, everyone involved is dissatisfied with the results. Such a scenario is bad enough when it plays out in the workplace. But the journalism &quot;innovation project&quot; I&apos;m directing this...</summary>
<author>
<name>Rich Gordon</name>
<uri>http://www.linkedin.com/in/richgordon</uri>
</author>

<category term="Best Practices" />

<category term="Education" />

<category term="Technology" />

<content type="html" xml:lang="en" xml:base="http://www.pbs.org/idealab/">
<![CDATA[<p>In my experience in media companies and academia, developing or implementing new software is almost always a painful process. The people who are going to use the software can't communicate what they want, and the developers don't understand the end users' needs. The developers think  the end users have unreasonable expectations, while the end users think the developers are dragging their feet. Software projects are always behind schedule, and even after completion, everyone involved is dissatisfied with the results.</p>
<p>Such a scenario is bad enough when it plays out in the workplace. But the journalism "<a href="http://www.pbs.org/idealab/2008/10/medill-student-innovators----i.html">innovation project</a>" I'm directing this term -- involving the first two Knight News Challenge "<a href="http://www.pbs.org/idealab/2007/12/introducing-the-first-two-jour.html">programmer-journalist</a>" scholarship winners and four other  <a href="http://www.medill.northwestern.edu">Medill School</a> master's students -- simply couldn't have these kinds of problems. Delays aren't an option because the class has to wrap up by the end of the academic quarter, and frustrations with software development could leave the participating students with a sour taste in their mouths. Plus, the whole assumption of our Knight News Challenge grant was that software developers with journalism training could team up successfully with other journalism students and create something important for the future of journalism. </p>
<p>All of which is why I became interested in different kinds of approaches to software development -- approaches with names like "extreme programming," "scrum programming" and "agile programming." <strong>Brian Boyer</strong>, one of our programmer-journalists, is a devotee of "agile programming," and our class has adopted this methodology. Brian is posting periodically to the class Web site about the agile approach -- read the first two posts <a href="http://crunchberry.org/2008/10/09/our-agile-process-part-1-an-introduction-to-agile/">here</a> and <a href="http://crunchberry.org/2008/10/16/our-agile-process-part-2-laying-the-foundation/">here</a>.</p>
<p>After the <a href="http://crunchberry.org/2008/10/27/first-week-of-code-and-being-cool/">first week of software development</a>, I'm becoming an  "agile" fan. Here are some of the things I like:</p>
<ul>
  <li>The process nicely separates idea generation, design, coding and testing, which means different people can be responsible for different aspects of the project.</li>
  <li>Software development starts only when there is a clear vision for the design of a particular component.</li>
  <li>People who are not programmers themselves can be effective collaborators in software development.</li>
  <li>Programmers know exactly what they need to complete in each "iteration" of the software.</li>
  <li>User feedback is embedded in the process, reducing the likelihood that software development will go astray.</li>
</ul>
<p>I'm also seeing that agile programming might be an ideal approach for collaborations between journalists and technologists -- or journalism students and computer science students.</p>
<p><strong>Amy Gahran</strong>, my fellow Knight News Challenge winner, <a href="http://www.poynter.org/column.asp?id=31&amp;aid=153062">blogged this week</a> about the need for journalism schools to collaborate with computer science programs, but I know from experience that it's difficult to make such collaborations equally valuable for students and faculty in both disciplines. In part, this is because journalists and programmers have different ideas about what kinds of problems are interesting to solve. Beyond that, there are <a href="http://www.pbs.org/idealab/2008/02/journalists-and-technologists.html">cultural and communication gaps</a> that I described earlier this year in a report from the first <a href="http://www.computational-journalism.com/symposium/index.php">Computation + Journalism Symposium</a>:</p>
<blockquote>
  <p><em>Too many journalists don't respect technology development as a creative  activity -- they think developers should just build stuff they want.  Too many technologists don't respect journalism as an intellectual  activity -- they think journalists just pump out content for their  algorithms to process. Too many journalists really don't like  technology change; they blame it for hurting media businesses,  threatening their livelihoods and diminishing the quality of news  available in local communities. Too many technologists think it's not  their job to worry about the negative impact of technology innovation  on media companies and journalism -- and when they do think about the  consequences, think only about information at the national and global  level (which is broader, deeper and more accessible than ever) and not  at the local level (where online news ventures rarely do the kind of  original reporting that newspapers do).</em></p>
</blockquote>
<p>Agile programming offers a potential bridge between the worlds of journalism and technology. It imposes a structure that journalists (or journalism students) can learn to work with, and it forces them to carve a software project up into manageable chunks. It also clarifies and simplifies the work that developers need to do, protecting them from changing whims of people (such as journalists) who don't have a deep understanding of how programming is done.</p>
<p>The software my class is developing is intended to improve online conversations around news, especially involving young adults. In the first week of software development, the development team  figured out how to use <a href="http://developers.facebook.com/news.php?blog=1&amp;story=108">Facebook Connect</a>, a soon-to-launch tool allowing integration between Facebook and another Web site. Meanwhile, the design team mocked up an approach to a new kind of "comment structure" -- one that will enable a user to ask a question about an  article and get answers from other users.</p>
<p>This week, the development team is going to build the question-answer tool, while the design team comes up with an approach to another type of user interaction. </p>
<p>Next week, the development team will get to work on the second user-interaction tool, while the design team works on a third one and our "consumer insights" team gets feedback from end users on the question-and-answer component.</p>
<p>Even with just four or five weeks to focus on software development, I'm seeing that agile development provides our students with the structure they need to achieve a successful result: functional software that offers new approaches to user interaction related to news. </p>
<p>You can follow the class's further adventures on the <a href="http://www.crunchberry.org">Crunchberry Project</a> Web site.</p>]]>

</content>
</entry>

<entry>
<id>tag:dipsy.pbs.org,2008:/idealab_test_blogs//31.4606-comment:45362</id>
<thr:in-reply-to ref="tag:dipsy.pbs.org,2008:/idealab_test_blogs//31.4606" type="text/html" href="http://www.pbs.org/idealab/rss2/redir/idealab/2008/10/agile-programming-good-model-for-collaboration005.html"/>
<link rel="alternate" type="text/html" href="http://www.pbs.org/idealab/rss2/redir/idealab/2008/10/agile-programming-good-model-for-collaboration005.html#comment-45362" />
<title>Comment from maghsood baziari on 2009-10-19</title>
<author>
<name>maghsood baziari</name>
<uri></uri>
</author>
<content type="html" xml:lang="en" xml:base="">
teri scenario idea titles: the unconsicious mind(police- criminal) and compensation(social) and house of kindness (social)
</content>
<published>2009-10-19T10:37:56Z</published>
</entry>

</feed>