Here’s a broad ranging list of interesting tidbits I’ve found recently.
Tagged as:
nptech
Any consulting shop that does significant amounts of implementation and development (as we do) needs a project management and ticketing tool. Basecamp seems to be a standard that many people have reached for. We were using Intervals for a while, which is really a fabulous tool if you do a lot of hourly consulting. We also have been using Google spreadsheets for some elements of project management.
All tools have their strengths and weaknesses. And, in addition, the best tool does nothing without good human project management skills using it. As a shop that practices Agile development (we use an adaptation of scrum methodology that seems to work for a shop that does multiple projects with small teams,) finding a good tool that facilitates instead of hobbles Agile was critical for us.
We found, and have chosen to use Redmine for our project management/ticketing system. You can think of it as a multi-project version of Trac, which is a fabulous ticketing/wiki system that we were initially going to go with. Redmine has the elements of Trac that we liked, with the added ability to track multiple projects. Like Basecamp, Redmine has document storage and messaging systems. It doesn’t have milestones per se, but it does allow you to see tasks in calendar and Gantt views, which is very helpful. Unlike Basecamp, you can add custom fields to tickets, users and other features. Having spent many hours in Basecamp, I actually like Redmine much better. It does even do time tracking, which we won’t use, but is nice to know is there. And the wiki is nice. Basecamp’s Writeboards seem so much more like an add on than integrated.
It’s a Ruby on Rails application, and that was actually kind of fun to finally get to install and play with RoR a tiny bit. And it’s great that it’s free and open source. Although that wasn’t an absolute requirement for us, it is most definitely a plus, given so much of our work is implementing open source web tools. And it’s nice to save a few bucks per month.
Tagged as:
nptech,
opensource,
tools,
web
I did a kind of radical experiment a couple of weeks ago: I de-friended almost all of my nptech and client Facebook friends (cutting my friend count by more than 60%). I had a few reasons for this, and over the past couple of weeks that I’ve been living this experiment, it’s made me quite happy. Of course, everyone is still on Twitter, and Linked in, etc., so I still feel connected.
Even though I tend not to blog anywhere near as much as most of my colleagues about social networks (because it’s really not my passion,) I’ve been a fairly early adopter, in the broad sense (of course, if I compare myself to Beth Kanter, I’m a laggard.) I have an account on all of the major social networks (and some of the obscure ones, too,) listen often, and update fairly regularly. A while ago, I realized that I would keep hearing the same nonprofit technology related stuff, over and over again, and I realized I was contributing to that by using Ping.fm to send the same status notices everywhere, or connecting my twitter account to my facebook and linked in accounts, etc. (actually, I think it might even be possible to create an infinite loop doing that stuff.) I stopped doing that a while back.
Now of course it used to be that all of my Facebook “friends” were other nptech early adopters. But around two years ago, a steady stream of my real friends started to come on, and then about 40% of my Facebook friends were non-nptech related. I noticed two important things: first, a status notice that a real friend was having a hard time would get buried in the cacophany of new reports, new campaigns, new blog posts, etc. Not a good thing. Also, I noticed that I censored myself on Facebook – I wouldn’t say things to friends, or play games, or take silly quizzes because I felt the need to be “professional.”
So all of that lead me to make Facebook a “work-free” space. I left work-related groups, disconnected this blog from Facebook, etc.
And doing that led me to think a little bit about how we nonprofit technology leaders use these social networks, and how we work with our clients to use these services. I do think that still, the majority of nonprofit organizations aren’t all that connected to social networks. I’m not entirely utterly convinced yet that all of them should. And I do wonder about the echo effect – if you are an early adopter, and you are on multiple networks, you are going to hear the same stuff over and over. Is that a good thing, or a bad thing? Should we be suggesting that organizations tailor much more specifically their messages, rather than using the services that allow them (and us) to send the same updates everywhere at once?
The technology behind social network strategy and implementation is way more my bad than communications strategy, but this experiment has opened my eyes to some of the things we may be doing wrong. And, of course, there is an entirely interesting conversation to be had about the issues of work and personal life, but I’ll save that for my other blog.
Tagged as:
facebook,
nptech
I spent a big chunk of my day dealing with a project that is, in no uncertain terms, a trainwreck. The client has sunk a ton of money into a product which is in, its current (first phase supposedly finished) state, unusable (client and vendor shall remain unnamed.) My role in the project has been strategic and as a liason, not technical, which to some extent gives me a bit of a distanced view.
Web development trainwrecks are, sadly, far from isolated cases – they happen all the time, even when all of the parties have good intentions. And as someone who is building a business around doing this sort of work, it is of keen interest to me as to why some projects end up in the state that this project is in, and I want to make sure to avoid these kinds of situations. So how do we avoid trainwrecks? Some trainwrecks we can see coming miles away, but yet we are in complete denial about them. Some trainwrecks are like sudden derailments – it’s not at all clear where it comes from. But I think all trainwreck projects have the seed of the wreck somewhere in the history of the project.
The hallmarks of this particular trainwreck were so clear, that in retrospect, they scream out at me:
- Lack of transparency about development process
- Lack of transparency about cost implications of increased scope
- Waterfall development process (well, the vendor said they practiced Agile, but in practice, it’s been waterfall)
As a practitioner of the Agile development process (we use a somewhat modified form of Scrum, in particular,) I’m beginning to really see the value of this kind of process. It makes visible all sorts of things that are often hidden. It seems like the Agile methodology helps in a number of ways:
- Once educated, clients have a window into the development process. They know what small chunks of development are going to happen in a given time interval, and they know what they will get at the end of that time interval
- Things are developed in priority order
- Clients can critique things early
- New functionality becomes a part of the “product backlog” and it is easier to have clarity about what is and is not within scope
Of course, it is theoretically possible to be completely transparent in a traditional waterfall methodology, and completely opaque using Agile, but I do think that the Agile methodology makes it way more difficult to be opaque. But it also takes some work and education of clients unfamiliar with the methodology (as well as making mistakes along the way on our part as developers.)
And I’ve been able to watch this process work well, not only with our own projects, but also with a project I was a strategic lead on. I was pretty skeptical a year or so ago, but now I’m sold. And since transparency has always been something of real importance to me, a development process that encourages transparency is a good thing.
Tagged as:
agile,
Development,
nptech,
web
As you can tell, I haven’t had much time to blog lately. Here are some great links I’ve come across that I thought were worth sharing:
Tagged as:
nptech,
opensource
I don’t have kids, but I do know how young kids ask questions. They are innocent, and free of assumptions, and keep asking “why?” In the end, the poor adults either get tired of the questions, or realize that there are assumptions they’ve been making for all this time that might actually be worth questioning.
Human processes mold around software. We see this all the time. A CRM gives you these 5 canned reports, and you get used to making do with what’s there. A legacy client database requires a certain order of data entry, and your intake forms have been produced to copy that order. Your email software has particular limitations, and you find behavioral workarounds.
What’s also true in the realm of customized software, is that software is molded around people. You put in your RFP that a package spit out data in X,Y and Z ways because your ED is used to data in that form (maybe because a package they had at their previous organization had those canned reports.) You have a requirement that data be entered into the system in one particular way, probably because that’s the way you’ve always done it. Sometimes, you feel the need to replicate a process that the person 3 administrative assistants ago put in place that was molded around their particular limitations, just because that’s what you know.
When you are undergoing the process of creating or implementing a new system of any sort, whether it be a CMS for a website, a CRM, some internal system, it is a really good exercise to be like a 3 year-old, and keep asking “why?” Why do we need this feature? Why will this report be important? Why should the software work this way? Once you peel the layers down to the bottom, you’ll either have “we don’t know” or “because we believe it will help us meet our mission in this specific way.” Then you know what you should take, and what you can leave behind.
Tagged as:
nptech,
Software
I got to spend one day at CiviCRM developer camp this week. Unfortunately, it came after 4 long days of conferencing, after many exhausting days of work, so I wasn’t at my peak. But I learned a lot, and thought I’d share some of what I took away from that day.
First, the core team shared some of the new stuff coming out in version 2.3, and it is awe-some. One of the major reasons CiviCRM gets dinged as a CRM/DMS is that it doesn’t have reports. Well, that problem is about to go away with the release of CiviReport in 2.3. There will be a number of canned reports, and some really nice ways to create reports. Plus charts! Yay! There were some pie charts, and regular bar charts. I don’t have the new svn trunk of CiviCRM installed, otherwise, I’d show some screenshots, but it looked really nice. (I’ll be installing CiviCRM from svn in the next week, and I’ll probably blog more as 2.3 develops.)
There are some really nice usability improvements coming up in 2.3 as well – to make the basic contact pages much easier to navigate. And there is a new menu system, which will make things a lot easier. And, for Drupal users, some sweet Views 2 and CCK integration.
CiviEvent is getting waiting lists, registration approval, and user-modifiable registrations, and some other improvements.
The Alpha of 2.3 should be out by July.
I also learned about CiviCase, which is actually present in 2.2. I saw the example of it used for the Physician Health Program in Canada. It’s quite good, and there are some useful docs to see it at work on the CiviCRM wiki. I’d love to find an organization, such as a small human services organization, in need of case management software, that could use CiviCase – it would be a great, and relatively inexpensive alternative to current offerings out there. And more organizations using CiviCRM for case management would help CiviCase get even better.
I also dug into some of the internals and code of CiviCRM, and feel better equipped to start contributing more than ideas and feedback to the project.
Tagged as:
civicrm,
CRM,
nptech,
opensource
NTC is coming, and I don’t have to pack! That’s a good thing. But I will be BARTing my way into SF everyday, from Saturday for Penguin Day, Sunday through Tuesday for NTC, and Wed and Thursday for CiviCRM Developer Camp. I’m very much looking forward to all of it, even though it seems like it’s going to be an exhausting 6 days.
I’d love to meet new folks and see as many old friends as possible, so I figured I’d share where I’ll be during these days, and perhaps we can meet up. You can email me, @pearbear on twitter, or give me a text message or call … if you know my cell, that is. :-)
Tagged as:
09ntc,
civicrm,
nptech,
nten,
penguinday
In general, the activities of the big tech corporations have somewhat limited and indirect effect on nonprofit technology. For large enterprises, the activities of the big players is a much more immediate and important set of issues to deal with. For us, it’s generally much more removed.
However, today’s news that Oracle is going to buy Sun Microsystems has some very important implications. Why? It has to do with the fact that many, many nonprofit websites and web applications are built using MySQL, the most popular open source database management system. Sun bought MySQL AB (the company behind MySQL) last year for $1 Billion dollars, and therefore, MySQL AB now becomes a part of Oracle, it’s primary competition.
There is some suspicion that there may be anti-trust challenges because of this, but if it goes through, it raises some huge questions about what happens to MySQL because of this. Of course, since MySQL is open source, there is no danger of MySQL going away, someone can always fork it. And, ultimately there is a great open source database alternative called PostgreSQL, but support for it is not universal. However, the future of ongoing support and development for MySQL is certainly in question. Most nonprofits don’t get any support from MySQL AB directly, but larger organizations that might have been getting some support might see changes down the road.
It’s something that those of us who depend on MySQL for our web development projects will be watching quite closely.
Tagged as:
database,
mysql,
nptech,
oracle,
sun
On the right is my blogroll, that needs updating, but I thought I’d do some shout outs to blogs I’ve lately been loving and really learning a lot from, who are probably not on that list (yet).
- Wireframes Magazine – I’ve been doing Information Architecture for a very long time, now, but it’s great to learn new tricks and tools.
- Flowing Data – OK, I’ll fess up, I’m a data geek. And I love data visualizations, and ways to make data easily accessible. I am so envious of people with graphics skills who can do that well. There are a whole lot of really cool things here.
- RoughType by Nicholas Carr – really smart dude, really interesting stuff.
- ONE/Blog – ONE/Northwest never ceases to amaze me
- The Open Road – Matt Asay has some interesting insights from the Open Source biz world
Tagged as:
nptech