Our Process

Our process is tailored to deliver the most from the amazing number of solutions Drupal has to offer

Agile Development

When possible, we use a modified version of the Agile Development Process, which helps us to ensure that we set and reach attainable goals and produce the best possible code. We break our projects up into parts called ‘sprints’. Sprints generally last four weeks and have outcomes that can be reviewed by the client. This ‘build and review’ process increases the speed and quality of development by instituting client feedback within a system that sets clear milestones.

Project Management

Zivtech uses the online project management system Unfuddle (http://unfuddle.com) to handle ticketing, release management, time tracking, and repository hosting. Unfuddle gives our team a bird’s eye view of our project, while helping to ensure we never miss a detail in the concurrent threads of development inherent in any project. Unfuddle also makes it easy for us to manage client feedback effectively and work in an agile fashion. Our clients can easily create, update, and comment upon individual development tickets. They can monitor our progress via these individual tickets and code commit messages, or simply monitor an overview of our development hours per sprint.

Sprint Cycles

Discovery

Our discovery phase translates your goals into an actionable specification sheet. By working closely with our clients during this phase we can guide them in directions that lower the time and costs of building a site by using pre-existing modules and technology. While we love to code, we know that Drupal and its supporting technologies will be your foremost communications tools.

Prototype & Design

Once we have a firm understanding of the goals and deliverables for a sprint we begin to design and build functional prototypes. Having a fully integrated design and development process allows us to build prototypes within the CMS itself, allowing our designers to design for the interactions, and for the site building to be continually influenced by the design. This removes the need to create mockup html pages. It cuts the time and cost associated with a prototype, which ultimately ensures the client gets exactly what they want.

Build

Once our clients approve our prototypes and designs we build out the necessary functionality to complete the requirements of the sprint. In general, this entails some combination of module and site configuration, module development, theming, and advanced user interface (UI) implementation.

Client Feedback

Zivtech prides itself in incorporating feedback into our development process. We do everything we can to ensure feedback is easy to submit and is responded to in a timely fashion. We are constantly looking to improve our feedback process. Recently, Zivtech added project management integration with Unfuddle and the Drupal Feedback Module. Our clients now create issue tickets in their Unfuddle project, directly from the page with the issue. The ticket contains valuable information, including the page id, user’s role, browser, browser version, and operating system. As with many items in Drupal, the feedback form only appears for users with sufficient permissions.

Analyze & Revise

At the end of each sprint Zivtech analyzes and revises the project with the client. Together we set the deliverables for the next sprint. By analyzing and revising our plans with our clients on a frequent basis, we guarantee we never waste precious time implementing features that are not fully understood.

Version Control - Git

When the product of your life’s work is code, it is absolutely critical to have a sophisticated way to track the changes that happen to it over time.  Git is an open source distributed version control system designed with speed in mind.  With Git each development team member has a full copy of the code for a project, including every version to date, on their own computer. Git gives our developers the ability to edit a project’s code on their own computers and share only those edits that are complete with their teammates. It lets us quickly move from task to task in the most efficient way possible, ensuring that one component does not hold up the rest of the team. It also allows us to save our progress on one component and jump into another if priorities change. Git allows us to stay as agile as possible as we work on projects of ever increasing complexity and scope.

Testing

Zivtech’s testing system includes code review, automated testing, and manual site testing. When one of our developers writes new code, they are responsible for testing it manually or writing and running an automated test (depending on the code’s complexity). Our developers are then required to submit the code to a second developer for review. The code is returned to the original developer if it does not meet standards in the second review. This level of detail in testing helps eliminate 90% of bugs that might otherwise be missed in a standard quality assurance (QA) cycle. It also proves incredibly efficient at uncovering potential security holes by ensuring are developers are consistently following Drupal Coding Standards. Zivtech’s philosophy with regards to testing is one of continual diligence and refinement. We are always searching for problems or places which have the potential for future problems in our development workflow; we squash bugs as soon as they are uncovered, making life easier for everyone involved.

Consulting & Technical Support

Zivtech provides consulting support to select clients during normal business hours. Our consulting support hours are a flexible way for Zivtech to maintain a mentoring relationship with an organization’s developers. As an Acquia partner Zivtech also offers clients the ability to purchase network licenses for 24/7 technical support.