A Social Site with a Focus on Higher Education
Zinch (www.Zinch.com) an online social network that enables students to demonstrate to colleges, universities, and other institutions of higher education they are more than just a test score and a GPA (grade point average). Zinch also enables college administrators to recruit and evaluate students in a more personal way.
Zinch is an amazing start-up success story with over 2.5 million students who have created professional profiles on Zinch.com. They visit the site to connect with admissions counselors, scholarship opportunities, study abroad programs, and graduate school personnel. Zinch also serves as an informational hub for all things related to higher education.
www.Zinch.com is one of the most innovative and ambitious Drupal web projects to date.
With its 2.5 million users, a project of this size requires an extremely high level of brain power to architect, develop and deploy, so Zinch has asked for help from some of the most talented groups in the Drupalsphere, including Achieve Internet.
Zinch’s Tom Melcher, Vice President of Product & Partnerships, and his team have been working furiously to keep up with the growing user base and their push for global adoption. In addition to being available in the U.S., Zinch is available in China, and has plans to become available in the Middle East soon. “Our mission—helping every student in the world gain access to the college admissions process—is very clear and we work hard every day to make it work,” Melcher says. “We’ve contracted with the best Drupal firms to help us, and Achieve is certainly in that top category.”
Achieve’s Zinch Engagement
Achieve Internet joined the Zinch project after the site had been launched, which is always a challenge because developers must learn the existing system before making changes, fixes, and improvements. However, Achieve is becoming known as a team that is able to ramp up quickly and add value from their first day.
Achieve CTO Bill O’Connor knows his team’s ability to ramp up quickly is because of their depth of Drupal knowledge and their ability to work as a cohesive unit. Achieve’s developers and technical managers know Drupal systems from an architecture standpoint, including deep knowledge of server and caching configurations, Drupal core’s architecture, contributed module choices, and theming.
When Zinch brought Achieve into the project, there were over 350 software issues, and emerging concerns about performance as the number of users grew. In the first two months of the engagement, Achieve has engineered solutions for the top 50 issues associated with a variety of software challenges. Additionally, O’Connor has emerged as a key advisor in two key areas: creating effective processes for a geographically distributed development team, and solving Drupal performance and scalability issues.
Achieve Project Management
A successful engagement always begins with effective communication and quality project management. Melcher believes that Achieve’s ability to provide advance notice on developer availability has been very valuable, and he calls that a best practice.
Melcher is familiar with all the nuts and bolts of the project, and he notes that several Achieve team members have made significant technical contributions to the project. “Dagaberto Aceves has quickly been productive on tricky tickets in various areas of the project, and German Licon did us a great service by re-factoring the CSS so it was tighter, more sensible, and scalable.”
Achieve’s team has enjoyed working with Zinch as well. Aceves says, “Tom [Melcher] is on the ball, and always makes sure I have what I need to do my work.”
Large Project Leadership
What began as a limited engagement evolved into a more significant role for Achieve. “Bill quickly demonstrated an ability to see beyond the issue he’s fixing to the big picture,” Melcher says. “He has taken a nice, calm, wise role in the process. He’s really good at listening, thinking, and helping the team come up with the right answers. He helped us understand how to improve our processes.” Those processes related primarily to developing technical processes for effective team development.
Development Environment for a Distributed Team
Zinch’s innovative and geographically-distributed development team allows developers to work around the clock in San Francisco, Denver, Phoenix, Portland, Sao Paulo, and Beijing. The challenges associated with such a team are well known: potential code overwriting, communication difficulties, and duplicate work.
Even more significant was the challenge of setting up development environments for each team member. Zinch’s production database is nearly 25 GB, making it impossible to recreate it in local development environments for those working throughout the world.
The team is using Hudson (http://wiki.hudson-ci.org/display/HUDSON/Meet+Hudson) to pare down the database for staging, development, and local environments. O’Connor helped the team revise and adjust Hudson scripts to truncate certain tables, eliminate others that weren’t needed, and configure Hudson to create “baby” databases for development – and these databases are created on a regular schedule that synchronizes with the development cycle.
O’Connor’s experience also helped the team work through problems they were having exporting code fixes using the Features module (http://drupal.org/project/features). Features allows developers to bundle certain code updates and export them for installation up or down the development chain. Problems can arise because certain Drupal configurations are stored in code, while others are stored in the database. Exports can therefore be overwritten if procedures are not in place to prevent it.
Bill’s familiarity with using subversion and establishing procedures for developers to compare code and all use the same processes allowed him to help Zinch work much more efficiently.
Performance & Scalability Concerns
Zinch had assembled a talented team already, and O’Connor’s high-level skills in bringing the various global team members together has helped the entire team work effectively in addressing the site’s growth.
Zinch Marches On
Achieve’s engagement with Zinch is on-going, with O’Connor and his team continuing to help with bug fixes, performance tweaks, and advisory services. Zinch’s future plans include the possible integration of Apache Solr and advanced localization efforts, two of Achieve’s special areas of expertise.
“We’ve really enjoyed working with Achieve,” Melcher says, “And they’ve certainly helped us toward our goal of leading the charge for evolving the college admissions process.”