Project Management for Organizational Software Deployment

From DevSummit
Jump to: navigation, search

Facilitated by Peter Campbell, EarthJustice and TechCafeteria

Peter will facilitate a discussion on the differing levels of project management one can bring to bear, and what kinds of tools and best practices to utilize in project management for developing and deploying software in nonprofit environments.


Session Notes

What is agile development?

* variable scope contracts - explain that not all needs are known up front
* requires trust between customer and client
* lowers the cost to change -- embrace change
* how do you convince clients?  need to be high levels of communication -- show progress, keep demos up to date and always working, bring client along all the way
* build 100% functional 1/2 project, not 50% of the whole project

What are the key challenges in project management?

* communications to a deliverable  -- get visual and real soon
  * what specifics to you need?
     * depends on the project -- 
        * if its a brand new idea, simple visuals can be helpful
        * simple functional specs go a long way
        * with existing projects, it can be easier to get started
        * documentation needs to evolve alongside project, rather than in a big bang at the end
        * small teams with low communication overhead is a great way to start

Tools? trac

* can use trac wiki to organize project in a clear way
* use trac to enable transparency and collaboration w
* TOPP has trac plugins -- can share
* Cluemapper -- layer on top of trac -- project management and time tracking

custom systems

* use ticket systems to keep track of people's time -- clients billed against this
* internal and client-facing notes on tickerts
* do time allocation using trac

Other systems & process?

* every monday -- focus and priorities	
* gantt charts -- clients love them.  however they create problems -- dependencies everywhere.
* burndown chart -- shows time remaining in project. based on resource and budget, etc.
* how do you manage changes?
* how do you do estimating?
   * Bruce: do estimating on every feature -- break it down into 8-hour segments
* with client work, focus on use cases and user stories, rather than feature requests.
* How do you do user stories?
   * card sorting exercises, prioritize
* a failed waterfall process is a good starting point for convincing clients that agile process could work
* making quick mockups (wireframes, HTML mockups, etc.)
* how do you bring clients into conversations about technical decisions?
   * develop success criteria before diving into specific options
   * document the decision for reference later

Resources?

* Joel on Software http://joelonsoftware.com
* 37 signals -- getting real  http://37signals.com
* Martin fowler -- website
* Communicating Design
* http://mntp.aspirationtech.com -- aspiration wiki on managing nonprofit technical projects.

Takeaways

* discussion of agile approach -- agile is magic
* start small, with a focused team (if you can)
* how to manage clients -- communication is key -- can use agile methods in a waterfall process
* discussion of pm tools (trac is also magic) -- however, creating a culture of use around tools is more important than the specific tools themselves
* please add your notes under tools & resources on the wiki!