By Jesse Drake
In IT, stability can mean several things. A glass half full person may use it to refer to an application’s up-time. A glass half empty person may talk about a system’s low rate of failure.
However you frame it, developers derive satisfaction from creating something that’s consistently reliable for end users.
“Every time a project is completed, I feel good knowing that other people's jobs are becoming more streamlined and efficient, that a known problem has been eliminated, or that new functionality is now available,” said Software Engineer Ray Daurelle, who works on the Finance, Faculty, and Research (FFR) Engineering Team in University Support Services.
The FFR group is home to two development teams: one for web applications, the other for Peoplesoft, the backend framework that supports integrated applications and interfaces.
Several team members are full stack developers, like Web Software Engineer Lihong Yu. Stacks are technologies that build and run an application. A full stack developer commonly refers to someone adept at developing client and server software. In addition to mastering HTML and CSS, they can program a browser, server, and database with advanced programming languages like PHP and SQL.
Yu said that even though most applications they work on are stable, the team inevitably spends time managing technical debt. Technical debt is the cost of rework required when a limited IT solution is chosen over one that’s ultimately better, but takes longer to deploy. Taking less time upfront, the argument goes, creates more overall work later on.
Akin to someone working to dig out of financial debt, most organizations that develop software deal with technical debt to some degree.
Testing is a critical part of software development, and from a tester’s perspective, Olds said there are clear advantages to “off the shelf” products with built-in black box testing. In this case, the software is like a black box you can’t peek into. The functionality of an application is tested without looking at the code or internal structure. Olds said this frees PeopleSoft developers to focus more on inputs and outputs than object-oriented coding.
Most PeopleSoft enhancements, Olds said, are “one-off small tasks that can be performed by one person in the matter of a few days.” The web team, on the other hand, focuses more on new functionality than minor enhancements, which gives them greater opportunity to use Agile development. Agile breaks projects down into iteratively reviewed steps, which helps keep projects on track, and brings Quality Assurance and User Interface teams into the process.
“Agile makes my job easier because I’m clear on what I need to do, I can see what other team members are working on … and I have a place to check story histories,” Yu said.
One is an eAward application for the Office of Sponsored Projects. Some enhancements are in production, with additional phases under development. eAward will make coordinating grant and contract post-award work easier, faster, and more transparent. Another is ePayment Request (ePR), a joint web application and PeopleSoft project, which captures reimbursement and other payment requests, and stores receipts electronically. By reducing the manual work of individual departments and Accounts Payable, employees are reimbursed more promptly.