Inside Hayes: How Ideas Become Working Software

By Anna Maxin

This is the first in a series of posts that dives into what goes on behind the scenes at Hayes Software Systems to develop our software products.  We work incredibly hard to provide you with software and ongoing services to make your job easier.  We want you to be aware of how new features are added to our products, when customer and prospect feedback are utilized, and who makes product decisions.

“First do it, then do it right, then do it fast.” – Anonymous

Software development probably isn’t the most exciting topic:  C++, HTML5, Javascript, SQL – foreign languages to most, yet the way in which we develop our products directly reflects our company’s culture and the quickness in which we are able to respond to the needs of our customers.  We rely heavily on both customer feedback and trends in the education market to shape the direction of our products.

At Hayes Software Systems, we utilize Agile Software Development to continually get quality software to schools across North America. This developmental framework was created when a group of incredibly smart guys got together in 2001 and came up with The Agile Manifestothe basis of this development practice.  This manifesto, along with twelve guiding principles, works to embrace change and customer collaboration, shorten the development time, and ultimately gets working software into the hands of users faster.

Integrating User Feedback into Development

Development occurs in what we refer to as “slices”.  We take an idea, such as being able to assess a charge to students for damaged materials, and deliver portions of the overall feature as soon as it is ready to be released to customers.

With our student charges example, we began by delivering a method for assessing a charge to a student.  Initially, you could only print out a charge receipt when you issued the charge.  In the release following that, we provided a global printing of receipts for all unsatisfied charges and then a report to query by charge status.  We then heard from our customers that districts would like more control over the types of charges assessed, so in the next release we applied a feature that allows only the district to add charge types.  Over a 9 month period we were able to provide valuable functionality quickly while being responsive to how customers do their jobs and expect the software to help them.

Every two weeks representatives from product development, sales, marketing, and customer support meet to prioritize the next two weeks of programming.  This development process allows Hayes to change direction quickly and work on features as a need is recognized.  It allows us to deliver new ideas and processes to the application quickly.

As you can see by the above example, a key pillar for our development process to be successful is listening to feedback from our customers to make sure we are meeting their needs.  We like to maintain an open channel of communication; it is one reason why we let any user of a Hayes Software System product receive customer support by phone or email.  We frequently schedule in-person meetings with our users to sit down and dive into what processes and policies are in place, how TIPWeb can help facilitate these processes, and look for any insight into changes or additions to the software users might need.

Do you have feedback for us? Or do you want to see our products in action? Contact us at to schedule demo.

Read More