NUS Institute of Systems Science

NICF- Essential Practices for Agile Teams

Available dates

This course has no confirmed dates in the future. Subscribe to be notified when it is offered.

About the course

This 3-day course provides in-depth technical training for various agile engineering practices to allow the team to be more adaptive to changes in business requirement. Successful completion of this course together with Certified ScrumMaster course will allow participants to attain the Certified Scrum Developer certification. NUS-ISS is a Registered Education Provider of Scrum Alliance.

This course covers the most important engineering approaches for the sustained success of teams practicing agile methodology such as Scrum. The practices covered include test driven development, pair programming, refactoring, agile architecture, continuous integration and user stories.

Participants are taught both the ideas and practical matters via lectures and hands-on sessions. The lecture sessions will be interlaced with actual design and code samples, while the hand-on sessions and exercises are designed to help the participant assimilate the knowledge in a clear and practical way. At the end of the course, the participants will be immersed in an actual coding session to apply all the concepts in a mini project setting together.

Java is used as the main programming language to explain the concepts in lectures, workshops and the coding session. Participants need to be able to contribute in a Java coding session within a team.

This course is part of the Software Engineering & Design Series offered by NUS-ISS.

Key Takeaways

At the end of the course, participants will be able to:

  • Appreciate different agile software development methodologies
  • Collaborate with stakeholder using user stories
  • Understand and practise pair programming
  • Understand and practise Test Driven Development (TDD)
  • Apply architecture and design practices in agile software development
  • Perform refactoring and apply refactoring patterns
  • Understand the need for continuous integration (CI) and build a CI system

What Will Be Covered

  • Introduction to Agile Software Development
  • User Stories
  • Pair Programming
  • Test-Driven Development
  • Architecture and Design
  • Refactoring
  • Continuous Integration


Lectures, games, hands-on workshop and mock project

Who should attend

  • Java Architect, Designer and Developer who needs to implement agile method into their project.
  • System analysts and software engineers involved in software development that is applying or considering agile methodology.
  • Technical project managers and project leads who manage agile teams and would like to improve the effectiveness of the team.
  • Certified Scrum Masters who would like to attain Certified Scrum Developer certification


Participants should have experience in at least one cycle of the software development and familiar with at least one programming language (preferably Java). It is also preferred that participants have at least one year prior experience in software development in technical role. Since Java is used as the language in the coding session, participants need to be comfortable in writing Java code together with a partner who may be versed in the programming language.

Trust the experts

Swarnalatha Ashok

Swarna teaches object oriented technology, web services and Java technology at ISS. Having been with leading manufacturing and consulting companies like D.C.M Data Products and Tata Consultancy Services in India, she has extensive experience in networking and systems software development. At Info...


Choong Yue Lin

M.Tech. B.S. B.A. Qualified Machine Learning Software Engineer. Qualified Scrum Master. Experienced in leading and coaching teams in software architecture, design and best practices. Excellent organisational skills with great attention to detail. Expert programmer in C. Highly qualified Softwa...


Course reviews