During the last LDSTech Service Day, I talked with volunteer Justin Carmony about the Child Protection Act System Project.
Here's a general transcription of the conversation.
Tom: We’re at the LDS Tech Service Day in August 2011. I’m talking with Justin Carmony. Justin is a volunteer on the CPAS Project. Can you tell us a little about this project?
Justin: Sure, the CPAS project addresses some new new legal requirements in Australia for members to work with children and young adults. In Australia, you now have to be certified by the state to work with youth. To make sure all the youth and primary leaders have those certifications, the Church needed a tool to be able to manage and keep track of the certifications.
Tom: And CPAS stands for Child Protection Act System?
Justin: Yes, initially just two states in Australia had this requirement. Then it became a national requirement. With the national requirement, the old system that had been developed needed to be rewritten using new technologies. That’s when I was brought in to help.
Tom: Tell us a little about kind of what you did. What was your role on the project?
Justin: We helped move from a .NET solution using Microsoft tools to using a web-based solution with PHP and MySQL. Because I’d been working with both of these technologies, I was brought in to do all the conversion of the data. I helped convert all the scanned documents from the Microsoft database and put them in the MySQL database. After that, I helped with other improvements on the new site in PHP.
Tom: As a team member on this project, what was the biggest challenge you faced in trying to both figure out and finish the solution?
Justin: One of the interesting challenges was with time zones. A lot of times we would meet earlier in the day, but for the people in Australia, it would be late at night. It was tricky because there were very narrow windows of opportunity to have these meetings.
Another challenge was in communicating and understanding the end-user’s needs correctly, trying to figure out what would be most beneficial for the stake and ward leaders as well as understanding what information they needed to perform their tasks. Sometimes we would create something and they would come back and ask for additional or different functionality, so we would discuss ways to do that.
Tom: So you kind of had to function as an outsider, looking into the environment over there? It’s a different group and culture.
Justin: Yes, unless I move to Australia, I would probably never need to use this system or be involved whatsoever. But for the members there, this system was very important to them. And it was cool to work on something that wasn’t benefiting me directly but was making the lives of the people we were building it for easier.
Tom: So have you been to Australia?
Justin: No, not yet. That will be on my to-do list.
Tom: In general, working on a community project, there are lots of different challenges. You mentioned the time zone issue, and understanding the users. What are some other challenges? Did you meet regularly? What was the participation level on your project?
Justin: I think the biggest challenge most community projects face is making sure the people working on the projects -- the developers -- have the information and access they need, along with the directions to do their tasks and a forward momentum.
On the CPAS project particularly, we had a tight deadline, which made it difficult given we were working with almost all volunteers. Even though it was a volunteer work, I couldn’t just skip out or not do it because we needed to make sure that we got things done on time. Deadlines make it a bit more challenging.
Tom: Do you have just one project manager for this, or did you have multiple people working to make sure all this was in place?
Justin: We had one project manager, and then we had a couple of team members in charge of specific functions. I was more in charge of the conversion. We had another member in charge of the new web site and its direction. We also had another person in charge of the entire project whose job it was to communicate with all the stake leaders.
Tom: Have you finished the project yet or is it still ongoing?
Justin: Yes, as far as I’m concerned it’s finished.
Tom: Are there any kind of lessons learned where you wish you had of done something different?
Justin: From a programming standpoint, we did step on each other’s toes a little bit. But we learned to coordinate better out and made the application more cohesive and easier to use. Really the only reason we had problems was because of the tight deadline and our general unfamiliarity with each other.
Tom: So you had challenges in coordinating who does what?
Justin: Who does what and what’s the best way. Because everyone’s unique, they have their own method of coding, and that can be challenging. When you’ve never worked with somebody, trying to mesh all that together on a tight deadline to get a good end product is tough.
Tom: That does sound like a challenge with community projects. You have different styles; different people have different ways of doing things. How do you decide on standards for the project? Do you just let everybody do it their own way and then have someone review it?
Justin: Normally you have some standards, someone who sits down and says: Okay, this is how we want to approach this project. Here are the general concepts we’re going to use. And then as people submit changes, you review them and make sure you’re all on the same page.
Tom: I’m guessing you have to communicate pretty regularly to be on the same page.
Justin: Yes, we used Skype. We had weekly Skype meetings with everyone and then would instant message each other frequently with questions or approaches. The ability to have this communication was key. It was important not to just save up all of the questions for a weekly meeting or else we wouldn’t get much done. Frequent communication helped out a ton.
Tom: Thanks for talking with me today, Justin.
Justin: Thank you.
Special thanks to Dennis Ewing on the LDSTech Blog project for transcribing the video.