Putting Scrum into Practice with Software Development

Since jumping on the Agile bandwagon two years ago, Temasys has started to reap the rewards of adopting Scrum in their software design. Our GDipSA student, Priyanka Narasingu, had the chance to intern at Temasys and put her learnings to the test. 

There are more and more companies who are jumping on the Agile bandwagon, one of which is Temasys Communications Pte Ltd. Understanding that investment in design activities is essential to building a robust software, Temasys started adopting the Scrum methodology in their workplace two years ago.

“We adopted Scrum as an iterative and evolutionary development model, where features are delivered in iterations (or sprints), “shares Nathaniel Currier, Temasys’ Director of Engineering. “This approach also triggered us to adopt a continuous delivery model, so that whenever a feature is ready for deployment, the features will be released.”

Temasys has already started to reap the rewards of Scrum. “The methodology pushes the team to focus on delivering value to customers through employing software design techniques to achieve a robust systems, and allocating design time in the sprints ensure that the end products are of high quality,“ says Nathaniel.

From his personal experience in implementing Scrum methodology in Temasys, Nathaniel shares his key takeaways:

  • Continuous delivery and integration are indispensable
    It is crucial that teams need to build features with ease of updates and which are easily integrated with the other components of the system. Adopting an incremental development approach along with a continuous delivery model will ensure that a feature is released whenever it is ready for deployment. Software Design techniques and principles, such as Object-Oriented principles, polymorphism, interfaces and abstract classes are adopted to build a component-based architecture.
  • Design delivers value 
    The teams acknowledge that software design is done incrementally.  The design emerges as there is no up-front design phase (or sprints). Design activities are inseparable from coding and features implementation, and design time must be allocated in the sprint to ensure high quality end products.  The teams establish clear design objectives, such as requiring systems to be built to allow easy extension of additional features.  Design is never done for the purposes of documentation alone.
  • Always design to handle abnormal events
    Products delivered are expected to achieve high availability and features should be designed to handle failure or abnormal events. Certain business service components need to be pluggable or removable to isolate error component.  Appropriate design techniques such as interfaces and abstract classes are effectively utilised to fulfill the requirements.  It is crucial for the developers and software designers to be well equipped with OOAD (Object-Orient Analysis and Design) techniques to speed up the development process which also facilitate software integration.

“The Scrum team should invest sufficient design time with the sole purpose of delivering value to the customers, “as Nathaniel sums up nicely.

Priyanka Narasingu (in the photo), who is undergoing the Graduate Diploma in Systems Analysis (GDipSA) programme, had a chance to intern at Temasys and experience for herself what it is like to be part of a Scrum team.

“It is an amazing opportunity to put into use what I’ve learnt from the programme, “says Priyanka, “At Temasys, I develop iOS modules that extends features of the existing application, and communicate with the core systems through a list of services already provided for different client modules.”

The GDipSA programme provides its students with skills and knowledge on Object-Oriented Analysis and Design, Scrum methodology and iOS development. Applying the knowledge learnt in the programme, Priyanka has built an iOS application which extended features from core systems at Temasys. 

“Temasys has provided the intern the opportunity to apply what she has learnt.  As part of the scrum team, Priyaka has been involved in adding new features which integrate with the core product of the company.” said Chia Yuen Kwan from ISS, her internship advisor. 

Of Priyanka’s stint at the company, Temasys’ Senior Research and Development Engineer, Liang Xiangrong says, “Priyanka has adapted well and is well integrated into her work group. She is working on iOS-related projects, and I believe the GDipSA programme has prepared her well on mobile topics.”

A NUS-ISS GDipSA Alumnus himself, Xiangrong has this to say, “I think GDipSA students are as industry-ready as they can be within 13 months.” 

The NICF – Object Oriented Analysis & Design (OOAD) course teaches how OOAD techniques can be applied to analyse user requirements and produce quality system design. Click here to find out more.

The NICF – Certified ScrumMaster course teaches the premier management technique used in Agile projects and prepares you to embark on Agile software development using Scrum techniques. Click here to find out more.

For more information on the Graduate Diploma in Systems Analysis (GDipSA) programme, click here.