New software development process to improve efficiency, productivity
On Oct. 1, ADRS Computer Services will officially switch to a new software development methodology aimed to increase efficiency and productivity.
The new approach – which is being implemented now through trials – is called “Scrum.” It is the best-known variant of several “agile” software development strategies. Agile software development is nimble and promotes adaptive planning, quick development, early delivery, and continuous improvement.
Scrum encourages rapid and flexible response to change and works through collaboration between self-organizing, cross-functional teams. The term originates from rugby and refers to a specific play that requires complete commitment of the entire team to gain possession of the ball.
“Scrum is something that’s entirely new for us,” said ADRS Software Development Manager Clay Weaver. “The changes to how we work are numerous and stark, but they’re all positive. My staff is excited. They feel energized. Our Scrum trial runs began in June, and we’ve already seen huge efficiency improvements in what we’ve accomplished in that time.”
Weaver said that one of the many positive elements of Scrum is the highly collaborative environment. It promotes a team culture where communication is key. All aspects of the project are discussed as a team, and the team collectively decides how to best reach the project objectives.
Another key difference of Scrum is a strong and structured emphasis on time management. All programming is done in time-limited development cycles known as “sprints.” Sprints range from three weeks to 30 days, and team members decide on the level of work they can commit to within that set time frame.
Each day of the sprint begins with a “Daily Scrum.” The Daily Scrum is a standup meeting – limited to 15 minutes – where each team member provides a status on the tasks as assigned by answering three questions: 1. What did I do yesterday to help the team meet the sprint goal? 2. What will I do today to help the team meet the sprint goal? and 3. What impediments do I see that will prevent me or my team from reaching the sprint goal? The “Scrum Master” (team leader) leads the meeting and will immediately adjust to resolve any impediments seen by development team members.
“Before Scrum, we used a more traditional structure where development was separated into various phases,” said Weaver. “It was never ideal in implementation for our needs, and this switch to an agile method has been in planning for years. Our old software development method was lengthy and prone to delays. In turn, that would make our customers wait too long to provide us feedback.”
Weaver said that the Scrum process will ultimately provide ADRS staff with better finished products in a shorter amount of time.
“The customer is more involved in our process,” he said. “They see the product as it is being developed, and they can chime in on changes to the software as they happen, rather than waiting for the end of a development cycle. Scrum thrives on that immediate feedback because it helps us learn exactly what the customer wants.”
The collaboration is also good for the Scrum team members. Before, a programmer assigned to work on CHARMS had no working knowledge of GIFTS and vice versa. Dividing the work by program became problematic for programmers because the workloads were uneven in maintaining the different databases.
“It just wasn’t an optimal use of our programming resources,” said Weaver. “Our programmers weren’t growing as employees as much as I would have liked because they weren’t getting hands-on experience working on coding for different systems. Scrum is a better method all around for everyone involved.”
Weaver said that the strength of Scrum’s methodology is its flexibility. There is no formal process to follow, and all planning emphasizes reaching short-term goals and resolving issues as they present themselves.
“That’s why they call it a sprint and not a marathon,” said Weaver. “Scrum is unlike any other way I know to tackle a job. It’s a great way to write software, but it would be a horrible way to build a bridge.”