Slashdot Mirror


Ask Slashdot: Event Sign-Up Software Options For a Non-Profit?

New submitter don_e_b writes I have been asked by a non-profit to help them gather a team of volunteer developers, who they wish to have write an online volunteer sign-up site. This organization has a one large event per year with roughly 1400 volunteers total.I have advised them to investigate existing online volunteer offerings, and they can afford to pay for most that I've found so far. In the past two years, they have used a site written by a volunteer that has worked fine for them, but that volunteer is unavailable to maintain or enhance his site this year. They believe the existing online volunteer sign-up sites are not quite right — they feel they have very specific sign-up needs, and can not picture using anything other than their own custom software solution. I am convinced it's a mistake for this non-profit to create a software development team from a rotating pool of volunteers to write software upon which it is critically dependent. How would you convince them to abandon their plan to dive into project management and use an existing solution?

19 of 104 comments (clear)

  1. CiviCRM by Anonymous Coward · · Score: 4, Informative

    Look at CiviCRM (in combination with drupal). Extremely flexible, build for non-profits, completely Open Source.

  2. Use socratic method. by gurps_npc · · Score: 3, Insightful
    Specifically, ask them questions.

    Start with:

    Is this software related to our industry?

    Do we need some advantage over our competition or can we just use the same stuff they do?

    What's our back up plan if we discover that our self created software ends up making the Obamacare website rollout look good?

    How much money do you think we will save?

    If it ends up costing more money, how much we will sink into this project before quitting?

    --
    excitingthingstodo.blogspot.com
  3. SurveyMonkey by Registered+Coward+v2 · · Score: 2

    I've used it to handle large event signups. You can add drop downs, free text fields, etc and pretty much setup any kind of information you need. You can then export the results to a spreadsheet to create name badges, sort by requests, etc as well. They have a free version but it may not allow you as many signups as you need. You can, however, buy a month to month subscription and then drop back to the free one when you don't need it.

    --
    I'm a consultant - I convert gibberish into cash-flow.
    1. Re:SurveyMonkey by aradiaseven · · Score: 3, Informative

      Eventbrite is set up for this sort of thing -- volunteer signup is a very common use. Plus, free.

      I think I'd set up a small demo using your real data and requirements -- its obvious ease of use and lack of cost would make the case pretty easily. (I'm sure that's the case for ten or perhaps fifty other off-the-shelf services too.)

    2. Re:SurveyMonkey by jeffb+(2.718) · · Score: 2

      Frankly, when I here "we have unique demands" I ask for clarification an detain gently guid ether to the determination they are not a unique as they think.

      I'm a consultant - I convert gibberish into cash-flow.

      Speaking of unfinished jobs...?

  4. Vague Requirements by Ksevio · · Score: 2

    Though the requirements are a bit vague, Google spreadsheets might be able to fit the need. It can be setup to just have a form/questionaire for the volunteers to fill out and then sticks it all into a spreadsheet.

  5. Removing my palms from my face... by bfwebster · · Score: 5, Insightful

    I am convinced it's a mistake for this non-profit to create a software development team from a rotating pool of volunteers to write software upon which it is critically dependent.

    Yes, it is, for a whole host of reasons that I'm sure will be expanded upon here shortly. I've spent 20 years dealing with troubled and failed IT projects, and one of the biggest mistakes I see time and again is an organization trying to create a mission-critical project, often in a compressed time frame, using developers who are not an experienced, functioning team. You can usually throw into that first-time adoption of some silver-bullet technology and/or methodology. So, what you get it, "OK, let's get 10 random programmers who have never delivered a working system together as a team, and they're going to develop this mission-critical system from scratch in 4 months using Swift and Agile, even though none of the programmers have ever used either. And we can add more programmers if we start to fall behind."

    Having the programmers be volunteers is even worse, since they are now self-selecting based on their own interest, instead of being chosen for, you know, actual skills, talent, experience, and so on.

    Sigh. ..bruce..

    --
    Bruce F. Webster (brucefwebster.com)
  6. I wouldn't by NoImNotNineVolt · · Score: 4, Interesting

    How would you convince them to abandon their plan to dive into project management and use an existing solution?

    I wouldn't. This seems like a trivial project, something you could whip up with Perl/CGI in a few hours. Is there something wrong with the "site written by a volunteer"? Why is the original developer the only one that can "maintain" and "enhance" the site? What exactly needs "maintaining"? Why do you expect that there is an "existing solution" that not only meets their needs but that also costs nothing to "maintain" and "enhance"?

    I've noticed a sort of reverse-Not-Invented-Here syndrome recently, where problems that would be trivial to build one-off solutions for are instead solved with huge, unwieldy, general-purpose, off-the-shelf products. It seems the pendulum swings both ways.

    --
    Chuuch. Preach. Tabernacle.
  7. Easy by Charliemopps · · Score: 4, Interesting

    How would you convince them to abandon their plan to dive into project management and use an existing solution?

    Easy, give them a quote. Then let them know that doesn't include support.
    I think any developers on slashdot could likewise quote them...
    I'm going to say, if I like the charity and am willing to do them a favor: $100k up front, and another $50k on completion if it's relatively simple. Then another $50k per year for support. I can pass background checks and all that stuff.

    Oh... so they want, for free, something that would cost at least $200k? And they think their free versions going to be even remotely be equivalent? It's like saying "Well, we could take the buss, but ferrari's are more comfortable. We can't afford a real ferrari so go get us some volunteers and have them custom build a Ferrari from the ground up so we can save money."

    It's silly on its face... and if they can't figure that out, I think it's a clear sign how they'll handle the rest of the money they get. Run, don't walk away from that place. This is an important lesson for you not them.

  8. Kind of a solved problem. by Animats · · Score: 4, Informative

    Here's a list of 62 volunteer-management packages. Some are web based. Some are free. Somewhere in there should be something that solves your problem.

  9. the heart of the matter by Anonymous Coward · · Score: 5, Insightful

    They're being lazy, and you're being lazy. Let me give you some real get-shit-done dealing-with-dullards project management 101.

    When an organization feels they must use custom developers it's often because of those "unknown unknowns" in the non-existent specification that they want to make up as they go along because they cannot sit down and concentrate long enough to commit it to paper. You should not accept this. If you do, you shouldn't be in this business. Your job is to MAKE them decide on the specifications. If you think it's someone else's job, but nobody is doing the job, then guess what - it's your job, because your job is to do the fucking project correctly.

    Mock it up SCREEN BY SCREEN ON PAPER, button by button, every edge case handled. Nail down every field, every possible error condition. Hold meetings with simulations waving bits of paper around to simulate swiping, button clicking, and result pages. Do not stop until you have a "working" piece of software that exists entirely in paper mockup that everyone agrees will solve all their problems. Tell them it is crazy to start coding until you get to this point because it's like starting work on a custom engine before you know if it's going into a car or truck. There is no reason not to do this, and nobody does this, because people are stupid and don't understand how software development works, and they think they can write the spec as they go along and the developers will just adapt and figure it out. It's our fault for being so adaptable on 90% of late-stage feature requests that come through, and it makes us feel like the 10% that kill us are actually our own inadequacies.

    Then you write it up formally (as briefly as possible, preferably with shiny pictures or a pop-up book if you can) and you tell them this is the specification. You get signatures. You create an Appendix A that says that any feature request is a change to the scope, and that changes require a new Appendix, and also make them sign something that acknowledges that any appendices may necessitate starting ALL CODING FROM SCRATCH AGAIN, and that if the appendix is added because of something they "forgot" or "didn't think of until they had a chance to actually use the UI" then they take full responsibility for not thinking about the mockups hard enough.

    Once that nightmare is over (which should be 3/4 of the cost of the project if you're getting paid), then you try to match their needs to a piece of existing software. Only if they truly have requirements that do not exist do you accept a custom development project.

    The rotating pool of volunteers is of far less importance. A shitty implementation and customization of a third-party system can be just as confusing as a custom code project for new volunteers coming in, though arguably slightly less so, so it is certainly preferred.

  10. Boil it down to cost by plover · · Score: 5, Insightful

    A couple of years ago, I was asked to be the registration chair for a national event, which we successfully held this spring. All previous events had been run strictly on paper-and-pencil mail-in forms, but that involves a lot of manual work, including a lot of last minute work at the event door. I looked long and hard at various open source and commercial event management offerings, and I spoke to other people who ran similar events. Based on recommendations from other event organizers, I landed on regonline as a good blend of features and customizability, even though it was a bit expensive (though they offer a discount for a 501(c)(3) organization.) What it came down to for me was effort. I wouldn't have time to set up all the hosting needed, to install and configure the software, or to integrate with a payment gateway, and I got a lot of really valuable features from their system. I didn't want us to make our attendees suffer through hour-long lines at a registration booth. And I was able to provide instant reports to the conference chair, who used them to help run the event smoothly.

    Something it sounds like you need to do here is figure out "who is the Registration Chair"? If it's you, your only question to the Event Chair should be "what is my budget?" Base your solution on the bottom line. If your budget is $5/registrant, and it includes lanyards and ID cards, your options are wide open. If your budget is $0.50/registrant, and you have to use a box of old "Hello my name is..." stickers, your options are a bit more limited. The important thing is: the Registration Chair is in charge of registration. He or she decides how to best solve the problem, not "here are some random developers, you must write us a site."

    One thing that still isn't clear is why you would have to "write" a new site. It sounds like you created one a few years ago, and then another, and then another. I realize your group is a precious snowflake, completely unique in the world, but events really are just events. They all have web sites, registrants, admins, venues, agenda items, merchandise, travel, lodging, taxes, payments, receipts, badges, volunteers, and reports. And there is nothing in that list you can't get from the marketplace. Ultimately, if you absolutely can't use a packaged solution because of [illogical rationale], you should only need to have someone reconfigure the existing site. That's a lot less effort, perhaps not much more than c/2014/2015/g

    Finally, if you're taking payments on line, you're going to run into extra effort and risk to interface with them. No matter what, you really, really don't want to be responsible for someone else's credit cards. Not these days. The risk is more than you can imagine. If that's something you can foist off on a third party, you'll keep a ton of liability out of your organization.

    --
    John
    1. Re:Boil it down to cost by businessnerd · · Score: 2

      This. You need to do formal business requirements gathering on what the solution should do, regardless of whether it is a custom solution or off the shelf. This is a collaborative process that you need to drive. You also need to speak their language. This is not a technical discussion, it is a list of business wants/needs. You shouldn't even call it a specification, this is before the specification. An example business requirement is, "I must be able to assign volunteers to one or more categories" or "The system must be able to generate a report showing the sign-up history of all users." Process mapping can go a long way to helping identify requirements. Talk through the process of how volunteers need to sign up, administrative activities, etc. and what a system would need to do at each point. They have been doing this process already, so it should be easy to map out. You may even identify places where the process can be improved. Once you have a requirements list, you need to have them prioritize each requirement. This is critical for you since you are trying to convince them to go off-the-shelf. Each requirement is either Must Have or Nice to have. You can do a 1-3 scale too if that works better. If those edge cases they feel aren't addressed by off the shelf solutions are Must Haves, then, and only then, do you price out a custom solution along with all of the pros/cons of doing so. The price may make them change their minds on those edge cases. If it turns out those edge cases are Nice to Have, then you have what you need. You have essentially lead them into making the decision that you want them to make.

      --
      "It's not whether you win or lose, it's how drunk you get." -- H. J. Simpson
    2. Re:Boil it down to cost by plover · · Score: 2

      You have essentially lead them into making the decision that you want them to make.

      I agree with everything except your conclusion. It's not a contest, with a winner and loser. Everyone at the table needs to be trying to serve the users and business interests. Once the goals and requirements come out, it may turn out his initial decision was not the best. It's about cooperating to deliver the best fit solution that meets everyone's requirements to the maximum extent practical.

      To that degree, it often helps not to look at it as a process of compromise; it's better to think that you're all agreeing to deliver the most important stuff.

      --
      John
  11. Re:Perl ACT by NoImNotNineVolt · · Score: 2

    But even Perl ACT seems to provide an order of magnitude more functionality than what's required!

    An "online volunteer sign-up site", as far as I can tell from the stated requirements (of which there are none), needs to accept some user-provided text data fields (let's say name, address, phone number, email address) and store it somehow. This is easily accomplished using HTML forms and a Perl CGI script that simply takes the values from the form fields and drops them into a perl .db file. In fact, this is so easy that it's the equivalent of Perl/CGI's "Hello World" and the required code can be pilfered from any of the top Google hits for 'perl cgi example'. An experienced Perl coder could build this solution in minutes. Maybe even just one minute, literally. A total Perl noob might take a full day, at most.

    Pretty soon we'll be seeing Ask Slashdot submissions like "We need some software that will print out the text 'Hello World', but management seems to be suffering from not-invented-here syndrome. How would you convince them to abandon their plan to dive into project management and instead use an existing solution?"

    I feel like software developers are more like software integrators now, with all the hostility towards actually coding anything yourself.

    --
    Chuuch. Preach. Tabernacle.
  12. CiviCRM by Mathieu+Lu · · Score: 2

    They should only go with custom code up to a certain extent. The organization should have the freedom to choose its own service provider (including volunteers). I'm probably stating the obvious, but if there is too much custom code they will be forced to spend a lot to rewrite code when volunteers rotate (and most likely will want to roll their own fancier solution), spend a lot of energy/time/money to maintain the code, or have difficulties finding volunteers who want to get involved in such a mess.

    I don't know the specifics of your use-case, but CiviCRM is a Free Software contact relationship management software aimed specifically at non-profits. It has a large community of users and developers. While the community mostly operates on non-profit budgets, it includes users such as the FSF, EFF, Wikimedia, sub-orgs of UNESCO, Amnesty International, NY State Senate, etc. I use it for my small local clients, but I'm happy to be able to pool ressources with such organisations.

    While turn-key tools can only do so much, you would probably have better chances of customizing that to fit your needs, and in the long term, the organization can turn to specialized service providers if necessary, without restarting from scratch.

    Heck, worst case, if your volunteers are PHP-averse and don't feel like spending too much time customizing the application, you can write just a front-end application to it, and use the CiviCRM REST API to store the data. Writing a whole new application just for that seems like a huge waste of ressources, and does not seem sustainable. An event management tool has a ton of small but critical features to think about.

    If they think it will be hard to learn an existing generic tool, imagine how hard it will be for new staff/volunteers to use a completely custom tool. Not to mention that if your organisation has an aim of promoting common good, community building, etc, they should also participate in existing Free Software projects :)

  13. Go to Staples with a $20 bill by paiute · · Score: 2

    95% of all projects like this, including in large corporations, would have cost less overall if they had just used index cards in metal boxes.

    --
    If Slashdot were chemistry it would look like this:Cadaverine
  14. You're doing it wrong. Requirements list! by raymorris · · Score: 2

    > How would you convince them to abandon their plan to dive into project management and use an existing solution?

    I wouldn't. Pushing for "your" solution rather than the right solution is being a fan, not a professional.
    I would instead work with them to come up with a list of requirements. Note that that a requirements document is needed in order to do either correctly - to either build or buy, you need to know what features the solution needs to have. Applying a "checkbox" style to the list might be a good idea, to visually emphasize that the right solution is that one that checks off all of these needs.

    Then with the requirements list in hand, you look at each option - the existing one, off-the-shelf solutions, and a schedule / quote to build a a custom solution.
    If an off-the-shelf solution meets al of the requirements, you show them that - here's the list of 20 things we figured out you need, and this solution checks off all 20 boxes. If no off-the-shelf solution can check off all of the boxes, you ask if any of them can be customized to check off all of the boxes. If not, you must either build custom or revise your requirements.

    This process will find the right solution, rather than convincing them to do it your way, against their better judgement. Remember, there's at least 50/50 chance that you're wrong. The other people are just as likely to be right as you are. Listing the requirements as a checklist will answer the question, in a clear, convincing way.

    I once asked a couple of friends who'd heard me argue a proposal whether they thought I had done a good job arguing my view. They surprised me when they answered by shrugging and saying "well, you were right. I don't think you did a god or bad job of convincing us, it just became clear that your view is correct." When you present a clear set of facts showing which way is right, you don't need to "convince" anyone to do it "your way", you've simply demonstrated which way is in fact the right way to go.

  15. CiviCRM is a good choice by IndieRafael · · Score: 2

    I have used CiviCRM and recommend it for the situation you describe. Among other things, the CiviVolunteer module is being improved rapidly. CiviCRM can do things like track time for different kinds of jobs, etc. It also has a strong CiviEvent module that can track registrations, etc. If you are organized, and test it first, you can set up tablets at the check-in tables that feed directly into the CiviCRM setup. (Test that first and be sure you have reliable internet, etc.)

    While CiviCRM is a cousin to Drupal, CiviCRM is increasingly being used by organizations who use Wordpress for their website, not Drupal. Pairing it with Drupal allows one to use Drupal Views to display the CiviCRM info in custom ways. Wordpress doesn't offer that flexibility. But if you seek basic but solid functionality now, and likely improved integration with Wordpress later, then CiviCRM with Wordpress can work fine.

    I strongly recommend talking to a consultant to plan and to get it set up for you for the first time. Then your people can learn by doing. If they are capable of writing custom software, they can learn and use CiviCRM.

    License: "GNU Affero General Public License 3 (GNU AGPL 3) and the CiviCRM Licensing Exception."