Introducing Project Fluxx

From DevSummit
Revision as of 18:48, 5 May 2015 by Vivian (talk | contribs) (1 revision imported)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Facilitated by Jason Ricci, Energy Foundation

Session Description

Jason spearheaded the effort to create the first user-developed grants management system, now in distribution as Project Fluxx. He began by interviewing people at grant-making organizations across the country, identifying those features and functions that philanthropic foundations needed most. He then layered those features on top of a highly intuitive, open source, software development platform. Since the launch of Fluxx in February 2010, the Energy Foundation has cut their grant signatory and processing cycle time from over 60 days to under 30 days. Jason will demo the platform and discuss this exciting new entry into the grants management and CRM field.

Thanks for checking out Fluxx. As promised during our session, here's my contact info:

Jason Ricci
CIO, Energy Foundation
jricci@ef.org
415.561.6700

Session Notes

Background

The Clean Energy Foundation started Fluxx because they wanted to build grant-focused CRM with extendible database.

Fluxx is a centralized web-based system that requires no plugins. Wanted simple user interface. Other systems were hard to use, hard to visualize connections between users and entities. Wanted to process requests from first entry point all the way through the end. Had to make sure users would use it. Old system (Filemaker) wasn’t used enough b/c it was too difficult. Wanted 100% adoption.

Launched Fluxx at the end of Jan 2010 (launched = shut of Filemaker and officially transitioned). Since launch, they have reduced time to process grant from 60-90 days down to 27.

Built on Ruby on Rails.

Flux Demo:

Dashboard system.

Database broken up into cards (filterable stream of data). Transactions and Reports – actions and entities related to contacts. Adds streams to dashboard, list of streams scrolls horizontally for multiple views. Can support multiple dashboards.

Can filter on cards to show only specific items (ex: Grant Requests). Can rename card to reflect filter/specific scenario/workflow.

Clicking on stream opens up a report/filter form to specify which data should appear in the stream. Clicking on data item open full content/item view.

Workflows are dynamically generated based on several criteria such as who owns it, amount, etc. All forms/views/workflows are very configurable, but currently do require a developer with Ruby on Rails knowledge

Hoping someone else will start picking up pieces like drag and drop workflow builder. Would like support from open source community.

Org cards can have document “buckets” or list of notes/activity stream, want to make it easy to see connections across data. People started using activity streams to add notes manually because they needed a place to track information about records as they moves through process.

Actions (such as edit, return, approve, delete) can be restricted per user. For example – only person who can see approval button is president.

All field changes are tracked so users can see progression. Has stopped a lot of time needed previously for back-and-forth questions about revisions since the history is displayed/transparent.

Involved org users in every step of process, so they have some ownership. Adoption has been really good because they were involved in design and the benefit is so great for not having to go back and forth through other channels (email, phone, etc).

Can create relationships between different people to view networks/linkages. New cards and records open in horizontal stream. Related items are displayed in tabbed sidebar. Easy and fast to move back and forth.

Key was to make UI easy for end users.

Data in MySQL database. Other people have gotten it running with SQL and other databases.

In their old system, users would search for contact, get 4-5 records. Cleaned that up through one-to-many relationships. Ex: NRDC – one location for headquarters, multiple sub-orgs for satellite offices.

Can use drop-down to move back and forth through different dashboards (for different teams, locations, etc). Multiple workspaces. Probably 60% or more use multiple dashboards and have customized their views.

Hardest thing was getting people to interact with their data.

Data is accessible via mobile devices – HTML5. Building an iPhone app for their team, hoping someone else in community will take on Android app.

Workflows

How initial request moves all the way through system to payment: A new grant request is entered. Title field has Ajax lookup to show any matching records already in the database. Workflow is assigned on save, users can then view all steps in the approval process. The grant request can then be rejected or recommended for funding by appropriate users per workflow.

Workflows are not all linear. Secondary approval, branches for approval from multiple people. Try to keep process as linear as possible.

Workflows and triggers are very configurable per organization (code-based).

How difficult is it to bring in outside data?

Used Kettle and Spoon (open-sourced Java tools) to move from Filemaker to Fluxx. All people installing now are foundations. One org is building an export tool and will share back with community. Data migration wasn’t too painful - not as hard as they thought it would be.

What if you want to pull data on web?

  • RSS/XML
  • Example: They have setup XML feed to publish to HGrant every 24 hours

Reporting

  • 90% of reports are done within the card interface. Other reports can be custom built.
  • Conversion funnel shows complete history. Working on generating more visualization options for this data.

Any integrations with financial systems?

Worked on Quickbooks integration, but backed off because they’re not sure if they are going to stick with Quickbooks. One org is building connector with Great Plains.

Bill transfer tool being built by Climate Change Foundation.

Where do users see their action items?

Meta Data – other info, notes, documents can be added to grant request. Marked as complete when ready for next stage. Then goes to grants admin, added to pending approval for that user in real-time. Can be edited, approved, rejected. Then goes to Program Director for approval.

Every user has similar dashboard – first card shows items that need action.

Where do you see budget? How do you track funds that are available?

Budget tracking is huge problem because currently everyone can see how much they’ve spent per grant, but can’t see how much they have allocated generally or available allocations., so that’s the next big project. Mockups are ready that include visualization with bar graphs that show money budget, money granted, money out the door, and pipeline. Don’t have allocations in system currently.

Is it all web-based? Browser-based, runs well in all but IE. PCs in Beijing use Safari. Run in Fluid in US office. Like to run it separately from web browser so it can always be open and running.

What other scenarios do you think Fluxx would be useful for? Can see this being used for anything that tracks workflows especially for tracking documents.

Double entry with financial system, but their CFO likes the double entry because it allows for reconciling. Finance team reports back to program team so they can update incorrect numbers b/c they have visibility into Fluxx. Found that data in Fluxx was better than data in Quickbooks, so that’s why they are looking for a new solution.

Lots of nonprofits looking for CRM that does everything to avoid double-entry. How much can you do with Flux? As much as you want. Designed to be very flexible. They know it will have to talk to financial systems, but want to build it the right way.

Originally planned to use this with Salesforce, but found they could add a few features and cover most the things their users needed in a CRM.

Looks like it could be adapted for case management. Some foundations like Knight Foundation, Hewlett Foundation supporting nonprofit software development. Hard though because programs are very specifically defined. Hope is that community and other foundations will pick up on development and get involved.

How hard/easy is development Depends on what you are changes and the type of change you want to make. Most changes are like changing a template. Workflow changes require a Ruby developer, but can be fast/minimal for a Ruby developer.

Revision history/change tracking Every change is tracked and can see all previous versions and/or revert back. Complete field history shown in History box on record. Can see workflow history in sidebar tab.

CMS integration One integration being worked on currently by an organization using Drupal so applications feed right into Fluxx. Leaning towards Drupal for their own site so might build some modules like that. Other integrations that could be helpful would be SSO, user integration, publishing granting information to web, member list.

Have you used this for board members?

Looking to build simpler, much more limited interface for board. Difficult because interface is not compatible with IE so not good for support reasons. Going to create a lightweight interface with different UI for their board.

License?

  • GPLv2

Adoption

Has been really good among their team. Board was on board for making it open source from day 1. Lots of interest in the project so far. All code was internally funded at the Clean Energy Foundation. About $500k or a little more invested so far with a couple hundred thousand more budgeted for next year. Original plan was to get a bunch of organizations to collaborate, but it didn’t work well. Was going to do big $200k report for what they needed, decided just to build it themselves.

Started a 501c3 called SoulPath to shepherd the project. That nonprofit does not currently have staff but hoping to fund one full-time staff member evangelist.

Had to build it because there’s no good software for managing grants or workflows. A lot of other foundations who have need and believe in community ethos to fix the problem that vendors haven’t been able to in 20 years.

Are other orgs also committing to publishing their grant making? Have baked-in the ability to be highly transparent. About 2 are, the other 3 of 5 who have committed haven’t discussed that yet.

Started Grantsfire project a couple years ago to get this data submitted in real time to fill gap between annual I90s because it’s not accurate or updated. Hewlett Foundation, Mott, Packard – hoping the rest will follow suit.

Open sourced the aggregator, just not enough data yet. Trying to convince Foundation Center to fully open API. Talking to partners to encourage this.

How has it helped? How are you tracking your success? Getting money out the door. A lot of policy work. Used to take 3 months, so getting that process down to 27 days has easily provided ROI.

Also has helped with “peer pressure” amongst users to get things done because they have to be accountable.

Good also for funders because increased efficiency is good selling point.

And China team has access to data now, which they didn’t have before.

People have been really behind it, lots of support.

Came on board 1.5 years ago and there was resistance at first when talking about taking away Filemaker. Started design process, proved they knew what they are doing.

What inspired the design?

Watching how users worked. Like creating tabs in browser, but made it easier for organizing to avoid issue of getting lost across too many tabs.

Process to get people to adopt it – how did that work?

Training program was another big failure. Original plan was to get 2 groups going, do big group session. UI was the easy part, but getting users to think about their data was more difficult. Backed off to do smaller groups for training, worked with teams who used data in similar ways.

Testing

  • Iterate fast and often.
  • Went from 1st line of code to deployment in about 5 months.
  • Some key “power users” were involved in QA testing.
  • Allow anyone to submit new feature request at anytime.
  • Agile development process with daily scrums, sprints for new functionality, release new functionality every 2 weeks. 2 full-time developers (one for front-end, one for back-end) and 3 other part-time for UI/CSS work.

Hosting

  • Run on Slicehost VPS.

General discussion about funding for nonprofits developing software development

  • The Omidyar Network putting up $40 million for nonprofit technology.
  • Skoll Foundation
  • Open Society Foundation