swarnalatha ashok and saisudha rajagopal · projects with low touch industry project project...
TRANSCRIPT
Experiential Education for Agile Software Engineering
Swarnalatha AshokChief, MTech (Software Engineering)
National University of Singapore
and
Saisudha RajagopalLecturer & Consultant
National University of Singapore
Topics
• Introduction to MTech (Software
Engineering) degree programme
• How Agile Software Engineering is
taught
• Experiential learning
Who are we?
OUR MISSION
Developing infocomm and digital business leaders
through education, applied research and consulting
services
OUR VISION
Providing thought leadership in
organisational innovation and
business transformation
NUS-ISS, an initiative by the Committee for National Computerization, was
established in 1981 as an academic unit within NUS for infocomm advanced
education and professional development.
Our Programmes
Researc
hC
on
su
ltan
cy
Graduate Diploma
(Systems Analysis)
Master of Technology
(IT Leadership)
IT Professional Programmes
(3-6 days short courses for executives)
E-Government Leadership Programme
Master of Technology
(Software Engineering)
Master of Technology
(Knowledge Engineering)
Master of Technology
(Enterprise Business Analytics )
Objective of MTech (SE) Programme
Software developer(Senior) Software Engineer
Problem Solving skillsTeam and inter-personnel skills
Presentation and Communication
Management awareSoftware Architect
Technically soundProject/Quality Manager
Underlying ThemeAgile
Underlying ThemeAgile
Process and Management
• Agile, Contemporary• Iterative, Incremental• Product, Project Mgt• Quality, Config Mgt• Estimation, Metrics• Process Improvement
Software Technology• Mobile, Cloud• IoT, Integration tech• Java, .Net• Security• Big Data Engineering• Machine Learning
Tools and Techniques• Requirements, UXD• Architecture, Design• Testing, QA• Continuous Integration• Maintenance• Product Line
Engineering
Software Engineering TopicsHighlights
Scrum, XP, Kanban Methods
Agile Project Management, Scaling Agile
Internet of Things, Mobile Computing
Architecting Software Solutions
User Experience Design
Responsive Web Design, Cloud Computing
Big Data Engineering, Machine Learning
Secure Software Development
Adult Learning Principles
Involved Adult
Learners
Problem Centric
Relevant and Impact to
Learner’s lives
Adult Learner
Experience
1 2
34
Knowles’s Adult Learning Principles
Students select their• Learning paths• Learning Pace• Projects• Teams
Learning Mode• 50-100%
workshops• Simulations• Games
Topics• Industry
oriented• Current
trends• Practical
Examples, Assignments• Case study
based• Problem
based
Adult Learning Learning methods Hands-on Workshops Team-based projects Application oriented Practical Real-world examples Case studies Simulation of real world
Assessment methods Application Analysis Evaluating
Source: From presentation by Rick Blunt on Guild online forumhttps://elearningindustry.com/the-adult-learning-theory-andragogy-of-malcolm-knowles
Objective of MTech (SE) Programme
Orientation
Exposure to Agile Principles
Projects
Core Modules
Application of specific Agile techniques
Core Modules OOP, OOAD, PM, QM
Elective ModulesElective Modules
Agile PM, Req Eng, UXD, Arch, Design Patterns,Scaling Agile
Experiential Learning
ProjectsResearch, InnovationFinal Year Project
Objective of MTech (SE) ProgrammeSkills learntTeam:• Sustainable Pace• Team Room• Heartbeat Retrospective• Facilitation• Project Charter• Scrum of Scrum• Niko-nikoFundamentals:• Iterative development• Incremental Development• Version ControlDevOps: • Continuous Integration• Automated Build• Version Control• Continuous deploymentLean: • Kanban board• Lead time
Product Management:• Backlog grooming• Personas• Story mapping• Story Splitting• User Stories• 3 C’s, INVESTExtreme Programming:• Pair Programming• Daily meetings• Velocity• Frequent Releases• Collective Ownership• Test Driven Development
(TDD)• Simple Design• Refactoring
Testing:• Acceptance Testing• Mock Objects• TDD• Unit Testing• Exploratory Testing• Usability Testing• BDD, ATDD• Role-feature• Given-Then-WhenDesign: • Agile Architecture• Ubiquitous Language• Simple Design• Refactoring• Rules of Simplicity• CRC Cards
Scrum:• Iterative Development• Time box• Iterations• Three Questions• Burndown chart• Task board• DoD• Points Estimation• Planning Poker• Backlog• Backlog grooming• Definition of Ready
Projects with High Touch
(Lecturer)
(Lecturer)
(Students)Innovation and Research
Project nature: Future-looking, Innovative, ResearchTeam size: 5-6 student teamsMethodology: Scrum methodologyProject Size: 5 Sprints; 1-week Sprint
Projects with Low Touch
Industry ProjectProject nature: Software Engineering, Deployable todayTeam size: 5-6 student teamsMethodology: Any Agile methodologyProject Size: 3 Releases; 4-month part-time; 4-month full-time
Industry Project /InternshipProject nature: Software Engineering, Deployable todayTeam size: 5-6 student teamsMethodology: Any Contemporary methodologyProject Size: 3 Releases; 4-month part-time; 4-month full-time
Industry Project /InternshipProject nature: Software Engineering, Deployable todayTeam size: 5-6 student teamsMethodology: Company specified Agile methodologyProject Size: 3 Releases; 4-month part-time; 4-month full-time
• Students choose an Agile methodology• Managed by the students• Release every quarter
• Students follow the company’sAgile methodology
• Managed by the students or company• Release every quarter
• Students choose a contemporary methodology
• Managed by the students or company• Release every quarter
Projects with High Touch- Objectives
Students
FacultyFaculty
5Sprint Planning
Pair Programming
eXtreme ProgrammingCollaboration &
Collective OwnershipBurndown charts
Analysis of the Sprint
Assessment
Daily StandupSprint Planning
Sprint RetrospectivePeer Assessment
Experiential Learning
RefactoringTDD
Continuous Integration
Automated BuildKanban Board
Colocated Agile TeamWork Day : 9am – 5pm
Projects with High Touch- Orchestration
Projects with High Touch- Showcase
Team : 6 students
Technology ExplorationMobile application that
also integrates• IoT for pill stock
management• Smartwatch for
notification
Projects with High Touch
Final Project Presentation
End of 5 weeksDemo of the project
End of Project Retrospective
Projects with High Touch
- Challenges
• Team Maturity• Lack of maturity to own project as opposed being managed
• Resistance to colocation and fixed time• Lack of faith in value of colocation and disciplined work time
• Involvement• Lack of alignment in project objective
• Student attitude • Low motivation to excel• Low ability to collaborate
Projects with Low Touch- Objectives
Industry ProjectProject nature: Software Engineering, Deployable todayTeam size: 5-6 student teamsMethodology: Any Agile methodologyProject Size: 3 Releases; 4-month part-time; 4-month full-time
• Students choose an Agile methodology• Managed by the students• Release every quarter
Gain deeper industry insights and apply what students learn to real-life work environments
Projects with Low Touch- Orchestration
Experience working on Agile methodologyExperience working with real-time industry demands
Experience practicing the software engineering concepts
Assessed for their application of the concepts
Projects with Low Touch- Showcase
Team : 5 students
6 Sprints3 Releases
Project Management
Distributed TeamMid Sprint Review of
UX/ UI
Cloud Storage
Mobile App Real-time data capture
Web App Research Lead monitors Field
activity Real-time
Projects with Low Touch
- Challenges
• Schedule Alignment• Aligning the project time line with industry demands
• Managing stakeholders• Managing the expectations of industry sponsors
• Balancing between industry and project requirements• Constantly ensuring that the sponsor’s requirements and the project
requirements are catered to.
Industry-Ready Agile Software Engineering
Professionals
Q & A
Questions?
Thank you