This is the P2PU Archive. If you want the current site, go to www.p2pu.org!

Open Journalism & the Open Web

Week 2: Project Management

Sarah Chacko's picture
Fri, 2010-09-24 19:25

Week 2, September 27-October 1, 2010: Project management

Topic Leader: Rob Purdie, Scrum Practice Leader for The Economist
(Feel free to do your own Google search for him but robpurdie.net had this to offer: "oh, hi! i'm rob purdie. i live in brooklyn, work for the economist, organize the NYC scrum user group and my MBTI is INFJ just like gandhi and camus!") :)

Meeting times:  

  • Live meeting (audio & chat): Monday, September 27th, 1PM Eastern (attendance highly recommended)
  • Mid-week check-in (group chat): Wednesday, September 29th, 4PM Eastern
  • Peer assessment (group chat, possible video): Friday October 1st, 1PM Eastern.


Readings (due before the Monday discussion):

The First Principles of Project Management
Project manegement guru Max Wideman lays down the theoretical foundations for effective and successful project management practices.

The New New Product Development Game
Takeuchi and Nonaka outline a new approach to product development in 1986 (and invent Scrum in the process)

Manifesto for Agile Software Development
Written and signed by 17 experienced software developers attempting to find common ground (which happened to be shared values)

Principles Behind the Agile Manifesto
The 12 "first principles" of Agile software development

Scrum (development)
A good introduction to Scrum with links to further reading

Reflection Paper Questions (pick one -- due before the Monday discussion):

  • For software development projects to be successful, what do the people involved need to be?
  • What are some common project risks and how might Agile product development methods like Scrum help project teams manage them?

Larger assignment will be posted after the Monday meeting

Comments

>For successful projects,

David Medinets's picture
David Medinets
Fri, 2010-09-24 20:07

>For successful projects, what do people need to be?
Egoless but passionate (along with lots of among other stuff)

I picked question one. I've

Dave Goodchild's picture
Dave Goodchild
Sun, 2010-09-26 18:18

I picked question one. I've worked on many dev teams, including scrum-driven ones. Off the top of my head for a software project to be successful people need to be:

1. Adaptable
2. Open to constructive criticism
3. Ready to throw code away if necessary (not too much emotional investment in it)
4. Able to collaborate and support others
5. Honest and transparent about impediments and issues
6. Open to new ideas
7. Ready to commit and follow through once a course of action has been decided
8. Able to think outside the box
9. Able to lead and be led (in a scrum where scrum masters are rotated)

Answering the second question

Michael Newman's picture
Michael Newman
Sun, 2010-09-26 20:01

Answering the second question with a lot or personal experience of a few different development strategies.

Large projects, especially with individuals who have very specialized, intricate and complicated rolls can lose focus. Relatively small problems can slow down progress for an individual. Goals are easily compromised because of these problems. Planned incremental schedules are easily pushed back for the 'here-and-now' problems, which look more daunting than they might actually be.

Naturally, humans, and by extension developers, like to see progress. Agile development uses that to make short projects out of a larger one, so progress is clear to everyone involved, keeping everyone moving forward and not getting caught in details.

On top of this frequent reports to all stakeholders can really ease what I like to call project paranoia, where certain people might feel they are taking on a larger part of the project as others or someone might feel like they can do the part of the project better than another person. By explaining frequently what is happening and why, the project moves smoother and everyone can work together as a team to solve problems, instead of a every man for himself.

All in all, for project managers agile development makes it easier to monitor and to keep everyone working the same direction. Trust is easier with frequent reports and progress is easily tracked.

• For software development

Steve Myers's picture
Steve Myers
Mon, 2010-09-27 06:51

• For software development projects to be successful, what do the people involved need to be?

I was struck by one manager's statement in "The New New Product Development Game" that he encourages his team members to be well-versed in two technological fields and two functional areas. A team made up of such people -- whose bodies of knowledge and skills overlapped with one another -- would be so powerful because it would be flexible and able to collaborate at a high level.

I think members of a software development team must also be comfortable with instability, including changing customer requirements. I noticed that the management of the companies profiled in that article created such instability by giving these employees the freedom to do something important and by placing them in challenging situations.

Members of a team with overlapping areas of expertise would be more prepared to deal with instability and turnover. They may be able to solve problems more effectively because people with similar knowledge bases would approach problems from different perspectives depending on their other specialties.

I would think being able to move up and down the ladder of abstraction would be key, too. For instance, team members should be able to see how a piece of code could be abstracted for other purposes -- to move from the concrete to the abstract. But they should also be able to break down large projects and initial concepts into smaller, discrete tasks.

Never having worked on a

nancy cardozo's picture
nancy cardozo
Mon, 2010-09-27 08:04

Never having worked on a software development projects, I can only speculate at what makes people valuable team members, or what style of management is best suited to these jobs. That's also true of project risks and the benefits of Scrum and Agile-ity.

I have a suspicion that it's not so unlike putting out a publication. You're part of a team that is producing a product that's made up of components, or modules. You have a defined audience, and a general description of what they want, but no super-specific guidelines. You have to be able to work both on your own and with other people. You have to be creative but work within strict guidelines. You have to be able to take criticism and respond productively to it. Your work has to fit into a defined space. You have deadlines. Things can change very fast. Management needs to stay out of the way while providing the tools and environment that let the writers, editors, art and photo people, and designers do their jobs. Management needs to define the mission clearly, hire great people, then let them do their work.

Assuming honest, ethical, competent, team-oriented workers then a few things come to mind.

Team members: confident, collaborative, thick-skinned, able to listen clearly, able to explain clearly, flexible.

Management: Either have software dev. experience or be capable and trusting enough to believe team members when they say something. Not be afraid of the team.

Individual attributes matter, but for any of this to work, there has to be a level of trust and transparency between management and team, as well as within the team. Even with the most technically competent developers and the most experienced managers, if the underlying dynamic between those to elements is adversarial, the project will suffer. The Scrum techniques seem like they have the potential to build trust and confidence fairly quickly in situations that start off with each side wary of the other. As the iterations, or the incremental stages of the project start to come into existence, management (and the customer) can begin to be reassured about the team. And as management responds to the team's requests, and the “culture” starts getting comfortable and increasingly conducive to the sprints, the team will feel more secure in the idea that management is a trusted and trustworthy factor.

The self-organizing aspect of these work styles methods would allow the team to respond better to difficult customers. The person in the chicken role, whose job it is to represent the customer's voice, would probably not always be the same person. You never know who will relate best to someone else, but it seems useful to be able to try having different people help customers define their needs and phrase their feedback in the most informative way.

It also seems like that kind of collaborative flexibility means that even if a team member is unable to work, the chances are that other people there will be up on what they were working on and how they were approaching their task. (I picture an open workspace with lots of opportunity to interact and talk through problems.)

I also think that business writers get paid by the word. Talk about writing that could use a little jazzing up! How about some video or a photo or something. Especially if you're going to use Rugby as a source. A scrum is one of the roughest and most fun things to watch. And it seems like a business that truly used these techniques might be a fun place to work.

For software development

Mai Hoang's picture
Mai Hoang
Mon, 2010-09-27 09:01

For software development projects to be successful, what do the people involved need to be?

** Flexible — They can not to be stuck on one principle or idea. They must be constantly aware of the needs of the customer or final user, as noted by the Manifesto for Agile Software Development.

** Self-starters -- Under the scrum principle, you do not have a manager tell you what to do. The manager has a vision or idea and your job is to figure out where to go with it. There is no hand holding here.

** Engaging -- You must be willing to work with others involved in the project. You can't be an introvert here. You must be willing to interact daily to get a sense of where the project is going and how to work together to get it done.

** Passionate -- Someone mentioned this year. This is related to be a self-starter. Since you're not having someone tell you that you MUST do this, then chances are success will only come if you are driven to succeed.

** Willing to invest -- This is more so for the manager or the people who are providing the resources. Wideman explains that the practice of under staffing a project is a recipe for failure. If nothing else, he notes, you need extra folks to be there to take care of contingencies. Actually, a great example of this is being seen in the journalism business: Both USA Today and the Deseret News in Salt Lake City announced that they were focus on providing innovate products online while announcing massive layoffs. Of course, the justification was that the layoffs was a result of a de-emphasis on the print product, but I find it hard to believe that all the folks layoff had nothing to offer in future innovation.

I've never been a part of an

Marlon x's picture
Marlon x
Mon, 2010-09-27 15:20

I've never been a part of an agile development team, but from what I've heard, the characteristics of the individuals on the team are much more significant than in a more assembly line-type process.

It seems important that individuals be invested in the outcome of the project. Rather than performing a single function for multiple projects and sending them on their way to meet whatever fate they may, the agile team is expected to follow one project all the way to completion.

The team members probably need to like or at least tolerate interacting with each other on a personal level, since they do a lot more face-to-face meeting than in other models.

It also seems like the individuals need to be "process geeks", that is, especially interested in doing things according to the proper procedure. I say this both because agile development itself has a pretty strict process, and because it requires the development work to be done according to good standards, to enhance flexibility.

>more assembly line-type

David Medinets's picture
David Medinets
Mon, 2010-09-27 16:34

>more assembly line-type process

Software development is still more of an art than a process. Simply because there are so many decisions to make. Decisions are the essence of art.

>the agile team is expected to follow one project all the way to completion.

The word 'completion' can have many definitions, I suppose. Agile teams use Sprints to chunk work into blocks of time (for example, two weeks). After each sprint, people can be re-allocated. However, a stable team is encouraged. Stable teams can produce the same amount of work sprint after sprint which aids in planning.

>team members probably need to like ... each other

Yes. If not, the dislike acts as friction and less work is done.

>It also seems like the individuals need to be "process geeks"

I don't agree. Some process is obviously needed but the exact amount and how the process is defined is fairly flexible.

>it requires the development work to be done according to good standards, to enhance flexibility.

Good standards arise from good team members. The best process in the world means nothing because people can subvert it fairly easily (i.e., lie). However, peer pressure can work every time if you can fire people who don't respond.

For software development

Jason Dean's picture
Jason Dean
Mon, 2010-09-27 18:00

For software development projects to be successful, what do the people involved need to be?

Innovative. While I loathe the term “think outside the box,” it is important to find people that are willing to try something different. Why would anyone want to use something that is the same as an established brand?

Motivated. As mentioned in the readings, individuals in agile development need to know how their segment affects the whole. While I might not know how to code for an online publication, I should be willing and able to learn the basics to make the site successful.

Good communicators. In order to learn form others in the group, communication is key

Willing to start over. If a concept or project is not working or deemed unusable by the consumer, willing to scrap and start from scratch.

Quick learner. Failure happens. It’s what we learn from it that allows us to succeed.

Willing to step outside comfort zone. It is important for individuals to try things that might frighten them at first to succeed.

For software development

Terri  Langford's picture
Terri Langford
Mon, 2010-09-27 18:24

For software development projects to succeed, management has to clearly state a goal, select creative, cooperative, flexible types from across departments and then step back and let the team work on the project.

Team members with a passion for what they do and a variety of backgrounds/experiences would tend to be more successful because they’re not easily cornered by failure or frustrated by details. They have patience for the long haul and are able to quickly shift gears when an idea fails to give the group the outcome they need to accomplish the stated goal.

Members should have a track record for meeting deadlines. As free-flowing as the scrum method is described, it comes with a built-in accountability check, where members are constantly benchmarking their progress from day-to-day, week-to-week, month-to-month.

Three common project risks are:

-Wrong people selected. Those who cannot meet deadline, tend to focus on the negative and not accustomed to working with others.
-Lack of focus. No stated goal. Too open-ended, as in “Come up with a way to make us money.”
-Lack of autonomy. Group is constantly having to check in with management or the other way around.

With Agile product development methods, these three problem areas are eliminated. The ultimate problem is convincing management in a more rigid top-down organization to see the value of allowing subordinates the time to problem-solve.

Common project risks in my

Michael Roberts's picture
Michael Roberts
Mon, 2010-09-27 19:24

Common project risks in my experience:

1. Not having a plan to start with
2. Not being able to meet the plan
3. Having the wrong plan
4. Customers (sponsors) don't understand the reality of software development

#4 is the biggest bone of contention and, really, the reason I don't do software development for money any more: when you don't know how long something will take, and the customer says, "My boss needs a schedule" - then you end up making something up. If you're lucky, that will work out. But it's a huge risk.

Belatedly adding my reaction

Sarah Laskow's picture
Sarah Laskow
Fri, 2010-10-01 18:25

Belatedly adding my reaction -- the people involved clearly need to be organized! One of the things I found most compelling about the scrum method was the daily scrum meeting, where every participant says what they will do that day to advance the project. I think it's a good motivator, first of all. And it gives all participants access to each other, including project leaders, so no one is waiting around. It's like a built-in, communal to-do list.

- Pick a piece of

Matt Carroll's picture
Matt Carroll
Sun, 2010-10-03 02:44

- Pick a piece of functionality that you'd like to implement
Create a new database page, filled with 100s of the searchable databases collected by the paper.

- Work together to break that functionality into a list of features
-- Get online eds on board.
-- Get time to do the work
-- Collect data
-- Separate pages for;
Which would include databases on:

Govt:
Payrolls
Pension lists
Voter lists

Real estate
Sales per community
Foreclosures

Crime
General

Medical
Asthma rates
Births
Deaths

- Prioritize those features based on their value
Collect data
Time for online developers to work on pages

- Come up with a plan with how that functionality could be developed incrementally and iteratively
Focus on one page
eg: Crime
Collect all crime data
Find online developer
Go.

- Pick a piece of

Terri  Langford's picture
Terri Langford
Mon, 2010-10-04 17:58

- Pick a piece of functionality that you'd like to implement

My functionality is not too high-brow, nor does it require a lot of programming gymnastics.

InvestigateThis!

An interactive tool for Chron.com’s homepage that would bring readers to the page, and keep them there for more than 30 seconds.

InvestigateThis! would be featured as a button on the homepage, asking readers to send investigative story ideas quickly to the reporters who could follow up on them.

Once clicked, that button would open up a template for readers to fill out.

Five criteria would be featured:
1. Story idea in 30 words or less.

2. Is this time-sensitive (or when is happening?),

3. What’s at stake? (waste of money/resources, corruptive or unfair process, life or death?)

4. Any records involved? (What should the reporter ask for?)

5. Optional contact number/email for the tipster if a reporter has more questions (not for publication).

Once filled out, the accumulated tips would be forwarded to designated editor in Metro, or to reporters interested either once or twice a day OR they could be sent out once a day to the entire staff.

If an InvestigateThis! tip leads to a story, we would say so at the bottom of the story, encouraging others to keep sending investigative
story ideas to us.

This app is broken down into two parts: the click button and the template the user is led to.

To get this app built and launched:

-Write a detailed proposal/Powerpoint/Prezi complete with stick drawings and flow-chart showing exactly how this would work.

-Field-test the proposal by sending it first to Projects/Investigative editor. Edit proposal, based on her input...or not.

-Do same thing with Newsroom IT Director, Chron.com Editor, Graphics Editor, City Editor.

-Do not send group email. Group emails tend to make management nervous and defensive, especially when they come from the worker bees pitching ideas. They
like to think you came to them first with your great idea.

-Meet with Graphics Editor to work with you on mock art of the app.

-Edit proposal after all of their input.

-Meet with City Editor, Projects/Investigative Editor, Graphics
Editor, Newsroom IT Director, Chron.com Content Editor to a presentation/discussion of edited proposal. Discuss logistics about where this app would appear. Set a deadline for completion of the app.
Find out exactly who will build.

-Meet with web advertising department about the app so they can locate
potential advertisers around the area on the web where InvestigateThis! will appear.

-Start regular meetings with builder of the app (daily/weekly) until
the app is made.

-Test the app. Retool, edit, redesign, where necessary. Re-test.

-Contact advertising to put ads in place.

-Launch app.

-Retool again, after a few days or weeks use, based on reader/user input.

Terri Langford, that sounds a

david mason's picture
david mason
Mon, 2010-10-04 18:13

Terri Langford, that sounds a lot like openfile.ca. I've saved a copy of their submission form here: http://zooid.org/~vid/tmp/openfile/open.html

Thnx. While it'd be great if

Terri  Langford's picture
Terri Langford
Mon, 2010-10-04 18:27

Thnx. While it'd be great if people send us links and video and exact addresses, most folks who contact us with great story ideas are not that organized.

They only know that something is askew and they want someone to look at it. But I like the file image link option. I'd like to keep this very link because so many users are so registration- weary and I don't want the form to look like a webpage registration form.