Posted 03.20.2011 by Jack
with Aaron Pava (CivicActions), Jody Hamilton (Zivtech), Eric Gundersen (Development Seed), Lior Kesos (Linnovate) View the session video on Archive.org
Lior Kesos of Linnovate
- Linnovate: transparency is key for work with all partners, internal and external
- Old-school organizations hide stuff from clients; Linnovate wants clean laundry, outside in the sun
- Distributed team is challenging
- Started working with Redmine three years ago; 141 projects, 10533 issues, 279 users.
- Every client gets a login, has access to all data on their project: weakness, mistakes, uncertainty included.
- Redmine: "yet another one of those solutions to manage different aspects of the project management cycle.
- Nice integration with code repositories - use Gitosis plugin to make Redmine into a GitHub clone with Gitosis software. Give partners per-project permissions to git repositories
- Target versions = sprints to which they allocate issues. Have wiki entries with associated changelogs for upcoming deployment.
- Redmine Backlogs - plugin for agile teams, 80-90% working, create backlog of user stories and associate them to sprints. Another view takes you to a task list. Very classic Scrum work and feel. Create user stories and substories (Redmine subtasks); to clone top-level story, need to close all sub-tasks. Transform RFP item into stories and createCRM Drupal sub-tasks for each story. Drag story to different statuses.
- Paymo Timetracker: commercial tool, takes care of logging time on projects through widgets and applications. Neat dashboard with cool charts for projects, budgets, team goals and performance, detailed reporting -- all lead to accountability and transparency.
- Live in Skype for communication and team management.
Jody Hamilton of Zivtech
- Started 3 years ago at Drupalcon Boston as 3 people, now up to 16 people, most people work out of open space office in Philly
- As they grow, starting to have more remote workers, not everyone can be in one room.
- Service organization: they bill for their time, will do a lot of different things (training, consulting, fixing problems, planning, architecture, regular development, design, etc.)
- Law firm model, central headquarters, relaxed organizational roles, high organizational transparency
- Project Business Cycle
- Sales leads go into Sales CRM
- Estimate/Proposal -> Contract
- Create Team, tickets, and milestones
- Development, communication, time tracking
- Billing and budget updates
- Sales CRM is built in Drupal, content types with node references, views to track what's going on.
- Have extranet with wiki, public keys, servers, sites, pricing, projects, sales
- Apache Solr search to make it easy to find info
- Estimates: use Excel, have certain lime items that are put in as percentages based on other totals (e.g. project management)
- No fixed pricing; low and high estimates
- Proposal template with certain sections that go into proposals when relevant
- When a project starts, that's another part of the extranet - who the main contact is, who the dev lead is, who the internal lead is
- Use Unfuddle for project management -- hosted (paid) version of Redmine, but thinking about switching to hosted version for more plugins. Ticket management, code management in git, and time tracking. All time tracking is tied to tickets, which can be annoying for things that don't really need tickets.
- Use Drupal 6 for a billing tool, Unfuddle API pulls time tracking into Drupal, builds budget reports that they can pull out and give to clients
- Things that are going well: Extranet (in Drupal), development virtual machine with python scripts for deployment, Unfuddle git integration, ticket review (can't close your own tickets -- send to a peer for review, they test the tickets, make sure you did everything within coding standards and that it works perfectly before it can be closed)
- Patch policy for pushing any patches up to Drupal.org and storing patches centrally
- Unfuddle API and Unfuddle Feedback modules - check out Feedback module for client feedback (independent)
- Only ok: Billing, spreadsheets, etc.
- Pain points - tracking all time, tracking all billable time. Difficulty in transition from sales lead to project, passing conversations from sales people to project people. Difficulty tracking budget progress and not exceeding budget. Resource allocation planning: because clients can ask for new stuff all the time, hard to know if there's too much work or not enough work at any given time. Struggle with whether they're overdeveloping or underdeveloping their own tools, since they're buidling them all out in Drupal 7 but that's not billable time. Spend a lot of time tweaking their own tools. Too much email/communications!
Eric Gundersen of Development Seed
- Open source product company, 15 people, team in DC, predominantly with international organizations.
- Been trying to get out of consulting for past 4 years.
- Want to build products, tools that are reusable, help out many, many (hundreds/thousands) NGOs
- Firm Fixed Pricing: Statement that is this basic: "We will build an interactive map of all your projects, showing both a macro global view with drill down to the district level. We will do this for $70,000."
- Have estimates and bill sheet: Scope (itemized), total, months during which work is done.
- Project Triangle: Scope, Cost, and Time -- strong project = equilateral triangle. When scope grows, time should grow and price needs to grow too. Explaining triangle to team and to partner is essential. Make the cost point a fixed angle; trim scope down to work with it.
- Risk of doing firm fixed pricing; you will die working on the same projects and having no money because you can't get out of the project. "Triangle of death."
- Mitigate these problems by getting out of consulting and into product development. Build products to build products. Developed Open Atrium, Managing News, and MapBox
- Products help: let you build faster with a solid starting point. MitigatTRAININGS SESSION * Apps Matt suggests: Screenflow, Camtasia, Mousepose, x264 Encoder, QuickTime 7 Player Pro * Record a larger screen and scale down no more than 25% * Use zoom and highlight tools to force focus and do this real-time! Post production wastes time. * H.265 makes things lighter, adjust contrast and brightness to make things pop! Deeper Saturation and strong Contrast.e risk by working within confines of product. Customization work funds product development -- reinvest in the product itself. Generate leads by having a project out. Positioning for bids is easier. Gives a sense of ongoing creativity.
- Team is very multidisciplinary.
Aaron Pava of CivicActions
- Context to use in choosing all tools and how they operate as a company: Simple & Connected. Tools are simple, facilitate that connection.
- Important because of the highly distributed team. Don't have a physical office. Cofounded in Berkley, ~40 people in 7 time zones. Need to use tools that keep folks connected, foster connection to overcome lack of face to face interaction.
- Used to be structured in a matrix organizations, with projects on one end, development on another, match up project managers & engineers that were available. But that's inefficient in terms of time management, reorienting people so project managers worked with different engineers, etc.
- Re-organized into pod structure - shared management, admin, sales, and marketing as core part of company. Currently have 5 different pods; each pod has a dedicated project manager, tech ...
- Use Agile/SCRUM
- Much is done by phone, using Asterisk, multiple rooms, conference calls, extensions.
- Email communication. One listserv for each project, one for each group (operations group, project management group, etc). Every email that is sent in the company is sent to the listserv, partly for archiving but also to keep the right people in the loop.
- All financials done through Quickbooks Online; time tracking is done outside and each team member reports time tracking on a daily or weekly schedule, gets inputed into Quickbooks, run reports, do invoicing.
- Open Atrium for internal knowledge base. Each group has own notebook in OA. Process methodology is in there. Brainstorm in Google Docs, solidified docs go into Open Atrium notebooks.
- Coding for how they track time, work, calls, etc: Red = administrative, Blue = billable, Black = strategy.
- Trac is ticketing system, lead tracking, project management, bug and issue tracking.
- Big Blue Button - combo of 14 open source components. Do web video conferencing with many people with an IM integration; Share docs and desktop, works with OpenOffice.
- Screenshot of Trac; components are customizable; custom fields on which they can run custom reports. Every client has their own Trac implementation
- Estimation Spreadsheet; creative commons spreadsheet where you can put in line items estimates, timelin and sprint planning, takes into account certainty of estimates. Last tab of estimating spreadsheet can print out a client deliverable estimating sheet. Available on their website
I asked a question about how to include quality assurance and project management into tiny project budgets. Responses:
- Don't reference project management and overhead in their proposals; just mark up your costs.
- Don't work with clients who don't want to pay for things like QA and PM.
- Some clients would rather pay for dev than PM; try to track PM and communications and QA time on the task it's related to, blends into development.
- If you're going to cut costs on anything, cut design!
- CivicActions: Train clients on how to do QA from the get go. If you train them, they're partners, they can do the QA themselves. You should be doing it too throughout the project, though.