IT-ITeS Sector Skills Council Foundation Skills in Integrated Product Development - Agile Development Guideline Document for the Facilitator in the Outcomes Based Format (OBF) Powered by: Aricent, Infosys, Alcatel-Lucent Supported by: Engineering Talent Council NASSCOM
<Inside page> Every effort has been made to trace the owners of copyright material included in this document. NASSCOM would be grateful for any omissions brought to their notice for acknowledgement in future editions of the document. First published in 2012 All rights are reserved. No part of this document or any related material provided may be circulated, quoted, or re-produced for distribution without the prior written approval from NASSCOM. Page 2
Acknowledgements NASSCOM would like to place on record its appreciation of its member companies Aricent, Infosys, and Alcatel-Lucent who have partnered with us in this initiative. We would also like to thank members of the Engineering Proficiency Program (EPP), (Annexure VI) for supporting this initiative, by structuring and fine-tuning the materials provided. NASSCOM is highly appreciative of its member companies for believing in this initiative under the IT-ITeS Sector Skill Council, which aims to increase the industry readiness of the available student pool. This is achieved by developing and facilitating the implementation of programs of educational relevance with an aim to bridge the perceived industry academia skills gap and specific industry related competencies w.r.t. Engineering Services Sector. The industry specific competencies (i.e. skills and knowledge) w.r.t Foundation Skills in Integrated Product Development Agile Development is aimed at empowering students with the development process knowledge required for product development. NASSCOM recognizes that this is an initiative of great importance for all the stakeholders concerned; industry, academia, and students. The tremendous work and ceaseless support offered by members of the working group / partnering companies in strategizing and designing this material for the Foundation Skills in Integrated Product Development Agile Development is commendable. NASSCOM would also like to thank the senior leadership of these partner companies for sharing their thoughts and invaluable inputs in the planning and execution of the Foundation Skills in Integrated Product Development Agile Development program. Introduction to the Program The Foundation Skills in Integrated Product Development Agile Development program will increase the industry readiness of students who want to work in the engineering and services industry, aimed at product development. This program has been developed by Industry experts: Alcatel-Lucent, Aricent, and Infosys with a vision to enhance the student awareness about the development processes for the product development eco system. The Outcomes Based Format (OBF) used to develop this program helps one focus on the key skills required to perform a given job role. The program has two tracks one that is concentrated on guiding the facilitator and the other for guiding the student. Objective of the Program The program has been developed to improve a student s understanding of the Agile Development processes practiced in the Product Development industry. This program aims to provide one with the requisite awareness and knowledge to understand key concepts regarding Agile Development. Page 3
About the Program NASSCOM suggests that the Foundation Skills in Integrated Product Development Agile Development program to be run as an addon program (as an interim measure to begin with) in various educational institutions. This will enable students to equip themselves with the process knowledge that is required for this industry towards product development. This will also empower the students towards a higher level of employability. Industry will also benefit from the resulting availability of engineers with a broader understanding and appreciation of the processes being practiced by Product Development companies. Eligibility This program is targeted towards students pursuing Graduate courses in Electronics and Communication Engineering, Telecommunications, Electrical and Electronics Engineering, and Computer Science. Program Duration The program is expected to be conducted over 40 hours including a blend of guided or instructor-led learning, tutorials, and practical exercises. Page 4
Table of Contents - Foundation Skills in Integrated Product Development - Agile Development I. How to Use this Program II. Outcomes Based Format (OBF) Framework III. Module Outline for the Agile Development Program A. Section: Agile Development 1. Module: Introduction and Agile Basics 8 hours 1.1 Unit: Context [3 Hrs] 1.1.1 Session: A refresher on software engineering 1.1.2 Session: History and Evolution of Agile 1.1.3 Session: Management Paradigms like Lean, VSM, TOC, CCPM, CPM 1.1.4 Session: Continuous Improvement Models PDCA, DMAIC, KAIZEN 1.2 Unit: Agile Manifesto, 12 Principles and Practices [2 Hrs] 1.3 Unit: Essence of Agile [3 Hrs] 1.3.1 Session: The Agile Umbrella 1.3.2 Session: Comparison of Development Models like Waterfall, Lean, DSDM, XP, RUP, FDD, Crystal and Scrum for Agile 2 Module: Lean, Kanban - 8 Hours 2.1 Unit: Product Discovery [1 Hr ] 2.2 Unit: Lean Start Up and Incremental Planning [1 Hr ] 2.3 Unit: Lean [2 Hrs] 2.3.1 Session: Principles 2.3.2 Session: Value Stream Mapping & Wastes 2.4 Unit: Kanban [2 Hrs] 2.4.1 Session: 3 Principles 2.4.2 Session: 5 Steps for Kanban 2.4.3 Session: WIP, TOC 2.5 Unit: Push-Pull based scheduling [2 Hrs] 3 Module: Extreme Programming Practices 12 hours 3.1 Unit: Visual Management and Informative Work Space [1 Hr ] 3.2 Unit: Evolutionary Requirements [1 Hr ] 3.3 Unit: Evolutionary Architecture and Design [2 Hrs] Page 5
3.4 Unit: Test First Programming and Refactoring [2 Hrs] 3.5 Unit: Pair Programming [2 Hrs] 3.6 Unit: Collective Code Ownership [2 Hrs] 3.7 Unit: Configuration Management [2 Hrs] 3.7.1 Session: Principles of Configuration Management and Release Trains 3.7.2 Session: Continuous Integration 4 Module: Scrum 8 hours 4.1 Unit: Scrum Life Cycle [1 Hr ] 4.2 Unit: Scrum Artifacts [2 Hrs] 4.2.1 Session: Product Backlog 4.2.2 Session: Sprint Backlog 4.2.3 Session: Burn Up/Down Charts 4.3 Unit: Scrum Ceremonies [2 Hrs] 4.3.1 Session: Daily Stand Up Meetings 4.3.2 Session: Sprint Review 4.3.3 Session: Sprint Retrospective 4.4 Unit: Scrum Roles [2 Hrs] 4.4.1 Session: Product Owner 4.4.2 Session: Scrum Master 4.4.3 Session: Development Team 4.5 Unit: Scaling Agile Models for Enterprise [1 Hr ] 4.5.1 Session: Scaling Scrum 5 Module: Agile and Continuous Improvement 5.1 Unit: Anti-Patterns [1 Hr ] 5.2 Unit: Tools for Continuous Improvement [1 Hr ] 5.3 Unit: Tools used in Agile [2 Hrs] Page 6
How to Use this Program? In order to make the teaching-learning process effective, this program has been developed based on the OBF for curricula design. The curricula framework highlights an integrated output that encompasses the following for the program: Outcomes Processes Inputs The curricula framework enables every parameter to be detailed to maximize impact and empowers the learner with the requisite skills and competencies toward lifelong learning and gainful employment. For the expected learning outcomes, the facilitator must refer to the Outcomes Based Framework (OBF) detailed in the following pages. The module content identified is followed by a suggested lesson plan. Page 7
Outcomes Based Format Curriculum Design Foundation Skills in Integrated Product Development Agile Development Curriculum Framework IT-ITeS Sector Skill Council An Industry Initiative Page 8
Engineering and R&D Services: Foundation and Advanced Curriculum Framework Framework for Employment oriented curriculum This Curriculum Framework highlights an integrated output that encompasses Outcomes, Processes and Inputs. The framework will enable stakeholders to develop and customize programs of learning using different media to empower candidates with the desired foundation and advanced skills necessary for entry level employment in the Product development industry. Page 9
We propose the course assessments, formative and summative, to be based on the learning styles, as explained in the adaptation of the Bloom s taxonomy. Please refer to the illustration below. Current Practice (anecdotal evidence) Proposed System (Subject to module requirement) 80 Remembering 10 15 Understanding 50 5 Applying 20 Analyzing 20 Evaluating Creating Effective Communication Page 10
Part 1: Outcomes and Processes (are combined in this template) Part-I: Outcomes Program: Industry Specific Skills Agile Development: Students are expected to get a good understanding on the development processes associated with Product Development. The program will enable development of process orientation in the minds of young engineers.. 1. Program Outcomes Course Outcomes Duration (Hrs.) I. Professional Outcomes Details are covered separately in Professional Skills OBF. - II. Course Outcomes The students are expected to get a good understanding on the development processes associated with Product Development. The program will enable development of process orientation in the minds of young engineers. Understand Agile and different management paradigms Understand different improvement models Know about Agile Manifesto Describe a process map Understand Flow Describe and use Visual Management Describe Configuration Management Understand execution Know about Scrum lifecycle Know about Scrum artifacts, ceremonies, and roles Understand how Agile can be used for enterprises Define Lean and its principles Define Kanban and its principles Understand Push-pull based scheduling Understand the trends 40 III. Employability Outcomes This OBF is integrated with the FSIPD OBF. - Total 40 Page 11
Note: All levels of thinking skills need not be mandatorily filled in. Program Outcomes Professional Outcomes Student Learning Outcomes Student Learning Objectives Key Performance Indicators (KPI) Details are covered separately in Professional Skills OBF Performance Ensuring Measures (PEM) / Assessments Continuous (C), Summative (S), Final (F) Duration (Hrs.) Process (How to do) Program Outcomes Course Outcomes ( Domain Subject ) Student Learning Outcomes Knowledge Student Learning Objectives At the end of the program, the students will be able to: Know the history of Agile development Know how Agile development became essential for software development Describe the 12 principles of Agile Manifesto Key Performance Indicators (KPI) The student is able to: Describe the Agile development history and evolution Explain the 12 principles of Agile Manifesto Performance Ensuring Measures (PEM) / Assessments Continuous (C), Summative (S), Final (F) Class Discussion Class discussion Duration (Hrs.) Process (How to do) 3 Discussion: Show video of different case studies on Agile. Ask various questions on how Agile helped companies in different ways 2 Face-to-Face Comparison of different development Models Understand the different development Models Class discussion 3 Face-to-Face Page 12
Define Kanban Define thrsee principles of Kanban List five steps of Kanban Understand Kanban Principles Class discussion Case Studies Seminars 1 Face-to-Face 1 Evaluation of case studies and seminars Describe Push-pull based scheduling Understand Push Pull based Scheduling Class discussion 2 Face-to-Face Discuss various examples. Define Lean Define different principles of Lean Understand the Lean principles value stream mapping Class discussion 2 Face-to-Face Discuss various examples. Extreme Programming Practices Understand the nuances of Extreme Programming Class discussion Case Studies Seminars Define Scrum Understand Scrum Class discussion 2 Training videos Evaluation of case studies and seminars 1 Training videos Define Agile and Continuous Improvement Understand Anti-Patterns and tools for Continuous improvement Class discussion 1 Face-to-Face Understanding Understand different Agile methodologies Understand the Agile Manifesto Explain different Agile methodologies and their application Discuss on the Agile principles Class discussion 2 Face-to-Face Page 13
Explain different scrum ceremonies o Daily Stand Up Meetings o Sprint Review o Sprint Retrospective Describe different scrum ceremonies o Daily Stand Up Meetings o Sprint Review o Sprint Retrospective Class Discussion 2 Discussion: Provide a situation in which a project needs daily monitoring. Ask students why and how one of the ceremonies will be effective in managing the project. Page 14
Understand Extreme Programming. Understand the use of Extreme Programming Explain the four different values of Extreme Programming - simplicity, communication, feedback, and courage Summarize the twelve supporting practices in Extreme Programming: o Planning game o Small releases o Customer Acceptance Tests o Simple Design o Pair programming o Test-Driven Development o Refactoring o Continuous integration o Collective code ownership o Coding standards o Metaphor o Sustainable pace Understand the intent of continuous integration Explain Extreme Programming, its uses, values, and supporting practices Describe how continuous integration is utilized Class discussion Class Discussion 9 Face-to-Face 1 Face-to-Face Page 15
Application At the end of the program, the students will be able to: Choose on the right methodology for product development and develop an appreciation for Agile Apply logic why agile development process is more beneficial than traditional development process. The student is able to: Identify the steps involve in each of the Agile methodologies Understand the reasons to use Agile development in comparison to traditional development Class Discussion 1 Face-to-Face Analysis (HOTS) At the end of the program, the students will be able to: Analyze a specific development model to be used in specific projects Use different scrum artifacts in a given project The student is able to: Understand the reason for choosing a specific development model in a given project Apply the knowledge to use different scrum artifacts in a project Practical sessions Practical session 2 Case study and project: Use a small case study and then ask the students to choose the best possible development model that can be applied into this project. The students should create a list of possible reasons why a specific development model should work. 2 Practical: In the existing project that class has been doing, identify different scrum artifacts. Ask student how and why these artifacts mattered Page 16
in this project. ` Ask each of the student to label themselves as scrum role owners Identify different roles in a scrum project Relate different roles in a scrum project with the team members Class Discussion 2 Face-to-Face PART-II Inputs for Facilitating and Achieving the Outcomes Inputs Curriculum TOC Syllabus A. Section: Foundation Skills in Integrated Product Development Agile Development Module: Introduction and Agile Basics 8 hours o Unit: Context o Unit: Agile Manifesto, 12 Principles and Practices o Unit: Essence of Agile Module: Lean and Kanban 8 hours o Unit: Product Discovery o Unit: Lean Start Up & Incremental Planning o Unit: Lean o Unit: Kanban o Unit: Push-Pull based scheduling Page 17
Module: Extreme Programming Practices 12 hours o Unit: Visual Management & Informative Work Space o Unit: Evolutionary Requirements o Unit: Evolutionary Architecture and Design o Unit: Test First Programming & Refactoring o Unit: Pair Programming o Unit: Collective Code Ownership o Unit: Configuration Management Module: Scrum 8 hours o Unit: Scrum Life Cycle o Unit: Scrum Artifacts o Unit: Scrum Ceremonies o Unit: Scrum Roles o Unit: Scaling Agile Models for Enterprise Module: Agile and Continuous Improvement 4 hours o Unit: Anti-Patterns o Unit: Tools for Continuous Improvement o Unit: Tools used in Agile Infrastructure Required Faculty and Support Staff Library Infrastructure: Classroom layout (classroom diagram ) Classroom infrastructure & ICT requirement Labs o Physical o Virtual Faculty: o Qualifications o Experience Support staff o Qualifications o Experience Library - Physical and virtual o CBT o WBT o Articles o Books Page 18
o Internet references Text books Practical -Labs infrastructure & ICT requirements Internship programs Lesson Plans Template Projects Assessment & Evaluation Practice Details Sample question papers; End of Course Certification Employment Skill Assessment None Practical: Labs o Physical o Virtual Tutorials Internship Company Simulated in classroom Lesson Plans for Delivery (a sample lesson Plan for each is to be prepared) and attaches as annexure Course/program delivery using Blended learning: Lectures Role plays Presentations Assignments (classrooms and homework) Discussion forums & Group discussions Projects: Lab based Classroom based Online projects Assessments and Evaluation Continuous End of Module assessments To be decided later To be decided later Page 19
Page 20
ANNEXURE-I Content Outline Weekly Plan Guideline document for the Trainer: To be filled in by the trainer while customizing delivery Course Name: Module :Introduction to Agile Basics Face -to- Face A Context 3 Team Work individual project/ Internship + Feedback Hours Practical + Feedback Practical+ Feedback Assessments +Feedback Continuous Summative Lesson Plan for each activity in place Yes / No B Agile Manifesto, 12 Principles and Practices 2 C Essence of Agile 3 Page 21
ANNEXURE-II Directional Guideline Plan for Modules Curriculum Module 1 Module 2 Unit 1 Unit 2 Unit n Session 1 Session 2 Session n Session Rationale Session Objectives Session Plan Module n Page 22
ANNEXURE-III A. Lesson Plan Template: *Day-wise Template Note: This table is to be filled by the facilitator for each session based on the schedule and class information. Course Name Date, Day, Time Name of Faculty Name of Company/ College/University Number and Nature of Students Base Equipment Foundation Skills in Integrated Product Development Agile Development DD/MM/YYYY, <Day>, HH:MM Mr./Ms/ XXX XXX University/ YYY College 30 students in Engineering stream Overhead Projector/Chart Board/Pens etc) in Class or Conference Room *Course Lesson Plan templates Course Rationale, Objective & Plan Course Rationale & Objective: Course Rationale: The purpose of learning this course on Foundation Skills in Integrated Product Development Agile Development is to improve the student s awareness and understanding regarding the processes being followed for Product Development in the industry and also the tools that are used for Agile development. Course Objective: At the end of this module on Introduction and Agile Basics, the learner will be able to: Understand Agile Development Obtain exposure to different methodologies of Agile Development. Page 23
Session Rationale, Objective & Plan Session Rationale: The purpose of learning this session on the History and Evolution of Agile is to provide an overview of the evolution of Agile Session Objective: At the end of this session on History and Evolution of Agile, the learner will be able to: Understand the history of Agile Understand how Agile has evolved over time and is used in various projects Session Plan Time Content Learning Aid / Methodology Trainer Approach Learner Activity Learning Outcome (Skill, Competency) 9:00 to 9.10 AM Introduction PPT/Lecture Discussion Participation Acknowledge importance of session. 9.10 to 9.40 AM Agile - Evolution PPT/Lecture Discussion Participation Understanding of Agile. 9.40 to 9.50 AM Did I get it? self check exercises Questions - Participation Verification of the concepts learnt 9.50 to 10.00 AM Conclusion & Summary Supplementary information and links Discussion Participation Get a recap of things learnt and links for further learning Page 24
ANNEXURE-IV Assessment Templates: Any further assessments required by the trainer can be developed. Page 25
ANNEXURE-V Employment Assessment NASSCOM Assessment of Competence-Tech (NAC-Tech) About NAC-Tech NAC-Tech has been conceived as an industry standard assessment and certification program to ensure the transformation of a "trainable" workforce into an "employable" workforce, hence creating a robust and continuous pipeline of talent for the IT/engineering industry. It is targeted at final year and pre-final year students, who will be seeking employment opportunities in the IT/engineering sector. Conceptualization of NAC-Tech In-depth meetings with the large recruiters in the industry were conducted to understand their recruitment practices, cause of attrition desired skills in a candidate, etc. Based on this, a job-skill matrix was developed which formed the basis for the design of this assessment program. Core and working committees from the industry were formed and constant interactions were made to make sure that the program was in line with the industry requirements. An evaluation committee was set up to finalize the vendors and decide on the approach to the pilot. Multi-tier evaluation of the vendors happened after the initial interaction. The identified vendors provided the content and technology to run the test. The companies that have helped develop the assessment program are TCS, Wipro, Infosys, Accenture, Cognizant and HCL. Key Features of NAC-Tech Eligibility for NAC-Tech - Any candidate appearing in final year of BE, B. Tech, MCA, M. Sc-IT is eligible to take the test - Preferred scores of candidates: 60% aggregate in graduation, 12th standard & 10th standard Advantages of NAC-Tech for various stakeholders a. For Colleges/Universities Enable the college to generate a quantifiable picture of the knowledge and skill level of its students. Approach industry aggressively and in a more organized way for placement opportunities. b. For Students Detailed feedback on their knowledge and skills help them decide career opportunities in different areas of IT. NAC-Tech score card enables them to leap-frog to the next level of selection to multiple companies endorsing the program. c. For the Industry Industry gets a pool of pre-assessed candidates mapped against competencies required for entry level professionals. It helps them reach out to a wider geography and access talent from level 2 and 3 cities and institutions. Page 26
Test Matrix for NAC-Tech is illustrated below: Part A (this must be attempted by all candidates) Skill Competencies Checked Duration Mode of delivery (in min) Verbal Ability To assess candidate's verbal building blocks by evaluating skills like 20 Online grammar, spellings, punctuations, and vocabulary. To assess English usage by evaluating skills like structure, arguments, and verbal reasoning. Reading Comprehension To assess candidate's comprehension of English passages and ability to 10 Online make inferences from a large amount of information. Be able to connect the dots and make an assessment based on information and ideas spread across the passage. Analytical Reasoning To assess problem-solving skills thrsough questions on quantitative 25 Online reasoning. To assess candidate's logical skills by evaluating skills like deduction, induction and visualization. Attention to Detail To assess candidates eye for detail. 5 Online total duration 60 Part B - Optional (can be attempted if the student desires so) (The candidate can choose any one of the domains) Skill Competencies Checked Duration Mode of delivery (in min) IT To assess candidate's technical skills in the core area of education. 30 Online Electrical -do- 30 Online Electronics -do- 30 Online Mechanical -do- 30 Online Civil -do- 30 Online Chemical -do- 30 Online Textile -do- 30 Online Bio-Technology -do- 30 Online Telecommunications -do- 30 Online total duration 30 Page 27
Technical requirements for NAC-Tech Description Operating System CPU RAM HDD Web browser: Broadband Internet connection Sound Card with necessary audio and video drivers Headset with Microphone Java Scripts Adobe Flash Player 10.0 UPS (assuming that generator will be used during power failure) Generator (may be used for 8 hours or more if needed) CD-ROM Drive USB Ports Antivirus Screen resolution Minimum Configuration for NAC-Tech Tests Client PC (Test Taking PC) (with a Monitor, Mouse, & Keyboard) Windows XP SP3+, or 7 Pentium IV and higher 1GB RAM and above At least 500 MB free disk space Internet Explorer 6.0, 7.0 or 8.0 E1 with a bandwidth of at least 1Mbps or Shared DSL or cable with a bandwidth of at least 2 Mbps for 25 30 users Yes (Should support recording & playback capabilities) OPTIONAL Headset with a USB headset is strongly recommended -- OPTIONAL JRE 1.6 (Enabled in the browser) Yes 2 Hours Battery Backup Yes OPTIONAL OPTIONAL Yes 1024 x 768 pixels Network security access to allow http://202.138.124.234/nactech2 (port 80) Disable pop-up blocker on all machines Page 28
ANNEXURE-VI Engineering Proficiency Program Members S. No. Name of the Company Contact Person Email id 1. HCL Manjunatha Hebbar Manjunatha.Hebbar@hcl.com 2. HCL Vayu Nandan Kumar Nandankumar.Kv@hcl.com 3. HCL Ashok G Ashok.G@hcl.com 4. TCS S Selvan selvan.ss@tcs.com 5. Infosys KNS Acharya Sriranga_Acharya@infosys.com 6. Infosys Tomy Thomas Tomy_thomas@infosys.com 7. Infotech Enterprises Ramanand pattige Ramanand.Puttige@infotech-enterprises.com 8. Defiance KN Varadarajan Varadarajan.KN@defiance-tech.com 9. L&T Integrated Engineering Services Krishnakumar Krishnakumar.Nair@lnties.com 10. igate Santanu Ray Santanu.Ray@igate.com 11. igate Sheela Jain sheela.jain@igatepatni.com 12. igate Animesh Das Animesh.das@igate.com 13. EMC Veda Veda.Srinivasan@emc.com 14. KPIT Cummins Prashant Ghanekar Prashant.Ghanekar@kpitcummins.com 15. KPIT Cummins Renuka Krishna Renuka.Krishna@kpitcummins.com 16. Microsoft Phani Kondepudi phanikon@microsoft.com 17. Microsoft Vinay Tamboli Vinayt@microsoft.com 18. Wipro Hemachandra Bhat hemachandra.bhat@wipro.com 19. Alcatel Lucent Murthy Bhamidi murthy.bhamidi@alcatel-lucent.com 20. Alcatel Lucent RadhaKrishna rk.arvapally@alcatel-lucent.com 21. Synapse Naren Nande naren@synapse-da.com / nsnande@gmail.com 22. Aricent MC Parameswaran mc.parameswaran@aricent.com Page 29
23. Mahindra Satyam Srinivas Ramanathan Srinivas_Ramanathan@mahindrasatyam.com UTC Aerospace 24. Sharatkumar Variyar Systems sharatkumar.variyar@goodrich.com 25. Bosch Ajay Kumar Ajaykumar.KK@in.bosch.com 26. Bosch Anju Bhadoria Anju.Bhadoria@in.bosch.com 27. Tata Technologies Ravindra Ranade RAVINDRA.RANADE@tatatechnologies.com 28. Mahindra Engineering Prabu Sunil PRABHU.SUNIL@mahindraengg.com 29. Mahindra Engineering Durgaprasad Shukla Shukla.durgaprasad@mahindra.com 30. Airbus Suraj Chettri suraj.chettri@airbus.com 31. SAP Jai Prakash Nethala nethala.jai.prakash@sap.com 32. Intel Apreeta Singh apreeta.singh@intel.com 33. SASKEN Vijai Simha vijai.simha@sasken.com 34. Huawei Ashok Gopinath ashokg@huawei.com *** Page 30