IT4304 Rapid Software Development (Optional)



Similar documents
IT3205: Fundamentals of Software Engineering (Compulsory)

IT1105- Information Systems & Technology

IT Information Technology Project Management (Compulsory)

IT1104- Information Systems & Technology (Compulsory)

CHAPTER 3 : AGILE METHODOLOGIES. 3.3 Various Agile Software development methodologies. 3.4 Advantage and Disadvantage of Agile Methodology

IT3504: Web Development Techniques (Optional)

IT3203 Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3

IT3404: Business Management

IT2404 Systems Analysis and Design (Compulsory)

IT Fundamentals of Multimedia (Optional)

Software processes that are:

Unit I. Introduction

When is Agile the Best Project Management Method? Lana Tylka

IT6304 e-business Applications (Optional)

Life Cycle Models. V. Paúl Pauca. CSC Fall Department of Computer Science Wake Forest University. Object Oriented Software Engineering

Agile Software Development

Call for Tender for Application Development and Maintenance Services

How To Understand The Limitations Of An Agile Software Development

Principles of Software Engineering: Software Methodologies. COSI 120b, Spring 2005

IT Data Communication and Networks (Optional)

Agile with XP and Scrum

Laboratório de Desenvolvimento de Software

Agile Practitioner: PMI-ACP and ScrumMaster Aligned

IT2305 Database Systems I (Compulsory)

CSSE 372 Software Project Management: Managing Agile Projects

Software Development Life Cycle Models - Process Models. Week 2, Session 1

A Software Project Management Innovation (SPM) Methodology: A Novel Method for Agile Software Development

Akhil Kumar 1, Bindu Goel 2

How To Plan A Project

Agile in Financial Services A Framework in Focus

Comparative Analysis of Different Agile Methodologies

Advanced Software Engineering. Software Development Processes

Software Requirements and Specification

CS435: Introduction to Software Engineering! " Software Engineering: A Practitioner s Approach, 7/e " by Roger S. Pressman

IT3503 Web Development Techniques (Optional)

Agile Software Development

Agile Software Development compliant to Safety Standards?

10/4/2013. Sharif University of Technology. Session # 3. Contents. Systems Analysis and Design

Génie Logiciel et Gestion de Projets. Software Processes Focus on Extreme Programming

IT4405 Computer Networks (Compulsory)

SOFTWARE PROCESS MODELS

PLM - Agile. Design Code Test. Sprints 1, 2, 3, 4.. Define requirements, perform system design, develop and test the system. Updated Project Plan

Agile Project. Management FOR DUMME&* by Mark C. Layton WILEY. John Wiley & Sons, Inc.

IT6204 Systems & Network Administration. (Optional)

Agile Processes and Methodologies: A Conceptual Study

T Bhuvaneswari et al, International Journal of Computer Science and Mobile Computing Vol.2 Issue. 5, May- 2013, pg

D25-2. Agile and Scrum Introduction

PMP vs. Scrum Master

Agile Software Development with Scrum. Jeff Sutherland Gabrielle Benefield

Agile and Secure: Can We Be Both?

The traditional project management uses conventional methods in software project management process.

Introduction to Software Engineering: Overview and Methodologies

CSSE 372 Software Project Management: More Agile Project Management

IT4203 Information Technology Project Management (Compulsory)

Requirements Engineering and Agile Software Development

CompSci Fall 2014 Professors: Robert Duvall, Ajay Patel, Salman Azhar (rcd@cs, ajay.patel, azhar@cs)

Agile Software Development Methodologies and Its Quality Assurance

5/19/ Professor Lili Saghafi

Software Development Methodologies

Agile and Secure: OWASP AppSec Seattle Oct The OWASP Foundation

An Agile Project Management Model

Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology

ABHINAV NATIONAL MONTHLY REFEREED JOURNAL OF RESEARCH IN SCIENCE & TECHNOLOGY

Career Builder Course Bundle

CSPO Learning Objectives Preamble. Scrum Basics

Vragen. Software development model. Software development model. Software development model

Neglecting Agile Principles and Practices: A Case Study

UVA IT3350 Syllabus Page 1

Quality Assurance in an Agile Environment

Higher National Unit specification. General information. Software Development: Analysis and Design (SCQF level 7) Unit code: HA4C 34.

The Co-Evolution of Agile and Continuous Integration. Jeffrey Fredrick Technical Evangelist

AGILE SOFTWARE DEVELOPMENT. BY Sysop Technology Aurangabad

A Quantitative Framework for the Evaluation of Agile Methodologies

Agile Development Overview

Introduction to Agile

Scrum, User Stories, and More! CSCI 5828: Foundations of Software Engineering Lecture 22 11/06/2014

ACP Exam Prep Plus Desk Reference including the Project Management Agile Body of Knowledge TM (PMABOK TM )

REVIEW OF AGILE METHODOLOGIES IN SOFTWARE DEVELOPMENT

Software Development Methodologies in Industry. By: Ahmad Deeb

Applying Agile Methods in Rapidly Changing Environments

CS4507 Advanced Software Engineering

Génie Logiciel et Gestion de Projets. Software Processes Focus on Extreme Programming

CSE 435 Software Engineering. Sept 16, 2015

AGILE & SCRUM. Revised 9/29/2015

Agile Extension to the BABOK Guide

Course: ISYS 4373 Application Development with Java Prerequisite: ISYS 3293

Lean QA: The Agile Way. Chris Lawson, Quality Manager

How to manage agile development? Rose Pruyne Jack Reed

Comparative Study of Agile Methods and Their Comparison with Heavyweight Methods in Indian Organizations

Agile Framework for Globally Distributed Development Environment (The DAD Model)

Agile Estimating: My DPS Dissertation

Methodology: Agile development of safety critical systems Annex D1.1.d to deliverable D1.1

History of Agile Methods

"Bezpieczny Projekt"

Transcription:

Rapid Software Development (Optional) INTRODUCTION This is one of the optional courses designed for Semester 4 of the Bachelor of Information Technology Degree program. This course on Rapid Software Development (RSD) focuses on software development methods and tools associated with building correct, high quality software on schedule and within budget. CREDITS: 04 LEARNING OUTCOMES After successful completion of this course students will be able to: Obtain a firm foundation on RSD concepts and methodologies. Acquire sufficient working knowledge on RSD tools. MINOR MODIFICATIONS When minor modifications are made to this syllabus, those will be reflected in the Virtual Learning Environment (VLE) and the latest version can be downloaded from the relevant course page of VLE. Please inform your suggestions and comments through the VLE. http://vle.bit.lk ONLINE LEARNING MATERIALS AND ACTIVITIES You can access all learning materials and this syllabus in the VLE: http://vle.bit.lk, if you are a registered student of BIT degree program. It is very important to participate in learning activities given in the VLE to learn this subject. ONLINE ASSIGNMENTS The assignments consist of two quizzes, assignment quiz 1 (It covers the first half of the syllabus) and assignment quiz 2 (It covers the second half of the syllabus). Maximum mark for a question is10, minimum mark for a question is 0 (irrespective of negative scores). Final mark is calculated considering 40% of assignment quiz 1 and 60% of assignment quiz 2. Pass mark for the online assignments in a course is 50. You are advised to do online assignments before the final exam of the course. It is compulsory to pass all online assignments to partially qualify to obtain year 2 certificate. 1

FINAL EXAMINATION Final exam of the course will be held at the end of the semester. Examination Paper will consist of two parts. Part 1 : 1 Hour paper consisting of Multiple Choice Questions Part 2 : 1 Hour paper consisting of Structured Questions OUTLINE OF SYLLABUS Topic Hours 1- Introduction to RSD 02 2- Characteristics of Rapid Software Development 02 3- Project Estimation 02 4- Project Scheduling 04 5- Teamwork 04 6- Iterative and Incremental Development 04* 7- Rapid Application Development 04* 8- Software prototyping 02* 9- Agile software development 26* 10- Other topics in Rapid Software development 10* Total 60 * Students may need more time to do relevant practical work. 2

REQUIRED MATERIALS Main Reading Ref 1: Steven McConnell, Rapid Development ISBN: 81-7853-013-9, WP Publishers & Distributors (P) Ltd. Supplementary Reading Ref 2: Agile and Iterative Development: A Manager's Guide by Craig Larman, Agile Software development series, Alistair Cockburn and Jim Highsmith, Series Editors Ref 3: http://www.csulb.edu/committees/webcomm/hannonhill/hannon_hill_content_management_w hite_paper.pdf Ref 4: http://www.freesoftwaremagazine.com/articles/cms_end_users_part_1?page=0,0 Ref 5: http://www.freesoftwaremagazine.com/articles/cms_end_users_part_2 Ref 6: http://www.agile-tools.net/ Ref 7: http://www.atlassian.com/agile/tools/ Ref 8: http://www.codegear.com/products/jbuilder Ref 9: http://www.easyeclipse.org/site/distributions/index.html Ref 10: http://www.netbeans.org/ Ref 11: http://www.eclipse.org/ Ref 12: http://www.stevemcconnell.com/rdcntnt.htm Ref 13: http://www.hallogram.com/menus/rad_tools.html Ref 14: http://www.stevemcconnell.com/rdkind.htm Ref 15: http://www.itmweb.com/essay520.htm Ref 16: http://www.netobjectives.com/files/events/download/rup_xp_scrum_pc_030326_ppt.pdf Ref 17: http://www.functionx.com/ Ref 18: http://www.codeproject.com/kb/architecture/scrum.aspx#introduction0 Ref 19: http://www.oreilly.com/catalog/netbeans/ Ref 20: http://www.netbeans.org/kb/articles/books.html Ref 21: http://www.extremeprogramming.org/ Ref 22: http://agilemodeling.com/ The pages of the web addresses mentioned above last accessed on 31st March 2011. The content of the above address are on the VLE. 3

DETAILED SYLLABUS: Section 1: Introduction to RSD (2 hrs) Instructional Objectives Identify issues in traditional software development Describe the difference between traditional software development and Rapid Software Development Identify commonly made classic mistakes during Rapid Software Development Select appropriate Rapid Software Development model Material /Sub Topics 1.1. What is Rapid Software Development? [Ref 1: pg 1] 1.2. Issues in traditional software development 1.3. Classic mistakes in Rapid Software Development [Ref 1: pg 37-38] 1.3.1. People related classic mistakes [Ref 1: pg 40-43] 1.3.2. Process related classic mistakes [Ref 1: pg 44-46] 1.3.3. Product related classic mistakes [Ref 1: pg 46-47] 1.3.4. Technology related classic mistakes [Ref 1: pg 47-48] 1.4. Why RSD? 1.4.1. Choosing most rapid life cycle model [Ref 1: pg 133-151] 1.5. What kind of RSD do you need? [Ref 1: pg 8-27] 1.6. Modern RSD Section 2 : Characteristics of Rapid Software Development (2 hrs) Instructional Objectives Describe the general strategy for rapid development Describe the four dimensions of development speed Discuss the importance of customer oriented development List some customer oriented practices Material /Sub Topics 2.1. Rapid development strategy [Ref 1: pg 8-18] 2.1.1. General strategy for rapid development 4

2.1.2. Four dimensions of Development 2.1.2.1. People 2.1.2.2. Process 2.1.2.3. Product 2.1.2.4. Technology 2.2. Customer oriented development [Ref 1: pg 233-245] 2.2.1. Customer s importance to rapid development 2.2.2. Customer oriented practices 2.2.3. Managing customer expectations Section 3 : Project estimation (2 hrs) Instructional Objectives List different ways of estimating a RSD project Describe the differences among main aspects of RSD project estimation Material /Sub Topics 3.1. Software estimation and estimation process in RSD 3.2. Size estimation [Ref 1: pg 174-182] 3.3. Effort estimation [Ref 1: pg 182-183] 3.4. Schedule estimation [Ref 1: pg 183-185] 3.5. Estimate refinement [Ref 1: pg 197-200] Section 4 : Project scheduling (4hrs) Instructional Objectives Explain the relationship between schedule pressure and schedule slips Identify root causes of overly optimistic scheduling Identify negative effects of overly optimistic scheduling Explain different approaches of beating schedule pressure Material /Sub Topics 4.1. Overly optimistic scheduling [Ref 1: pg 207-220] 4.1.1. Root causes of overly optimistic schedules [Ref 1: pg 209-210] 4.1.2. Effects of overly optimistic schedules [Ref 1: pg 210-215] 5

4.1.3. Excessive schedule pressure [Ref 1: pg 215-217] 4.2. Schedule pressure 4.2.1. Beating schedule pressure [Ref 1: pg 220-224] Section 5 : Teamwork (4 hrs) Instructional Objectives Describe the importance of creating effective teams Explain the process of long term team building Identify the issues related to team work Material /Sub Topics 5.1. Teamwork s Importance to RSD [Ref 1: pg 276-277] 5.1.1. Variations in Team Productivity 5.1.2. Cohesiveness and Performance 5.2. Creating Effective Teams [Ref 1:pg 278-289] 5.2.1. Team Characteristics 5.3. Why Teams Fail? [Ref 1:pg 289-292] 5.4. Long-Term Team Building [Ref 1:pg 292] 5.5. Team Structure [Ref 1:pg 297] 5.5.1. Team Models [Ref 1:pg 304] Section 6 : Iterative and Incremental Development (4 hrs) Instructional Objectives: Identify characteristics of RAD approach List advantages and limitations of Iterative and Incremental Development List commonly used Iterative and Incremental Development tools 6.1. Characteristics of the developmental model [Ref: Teacher's note] 6.1.1. Iterative planning 6.2. When to use Iterative and Incremental Development [Ref: Teacher's note] 6.3. Iterative Development methods [Ref: Teacher's note] 6.3.1. Unified Process 6.4. Iterative and Incremental Development tools [Ref: Teacher's note] 6

Section 7: Rapid Application Development (4 hrs) Instructional Objectives: Identify characteristics of RAD approach List advantages and limitations of RAD List commonly used RAD tools 7.1. Characteristics of RAD [Ref: Teacher's note] 7.2. RAD constraints [Ref: Teacher's note] 7.3. When to use RAD [Ref: Teacher's note] 7.3.1. Advantages of RAD 7.3.2. Disadvantages of RAD 7.4. RAD environment tools [Ref: Teacher's note] 7.4.1. Database programming 7.4.2. Interface generators 7.4.3. Report generators 7.4.4. Links to office applications Section 8 : Software prototyping (2hrs) Instructional Objectives: Identify characteristics of prototype approach List advantages and limitations of prototyping Identify two(2) different prototyping methods 8.1. Characteristics of prototyping method [Ref: Teacher's note] 8.2. Benefits of prototyping [Ref: Teacher's note] 8.3. Prototyping process [Ref: Teacher's note] 8.4. Prototyping methods [Ref: Teacher's note] 8.4.1. Throwaway prototyping 8.4.2. Evolutionary prototyping 8.5. Prototyping tools [Ref: Teacher's note] 7

Section 9: Agile software development (26 hrs) Instructional Objectives: Identify characteristics of agile approach List advantages and limitations of agile development Identify different agile development methods Use Rapid Software Development tools in agile development 9.1. What is agile software development? [Ref 2: pg 25-26] 9.2. History of Agile development [Ref: Teacher's note] 9.3. Agile process characteristics [Ref: Teacher's note] 9.3.1. Human factors 9.4. The Agile manifesto and principles [Ref 2: pg 27-28] 9.5. Agile methods 9.5.1. Adaptive Software development [Ref: Teacher's note] 9.5.1.1. Features 9.5.2. Agile Unified Process (AUP) [Ref: Teacher's note] 9.5.2.1. History 9.5.2.2. Characteristics of AUP 9.5.3. Scrum 9.5.3.1. History of scrum [Ref 2: pg 135-136] 9.5.3.2. Characteristics of Scrum [Ref: Teacher's note] 9.5.3.3. Roles and Practices [Ref 2: pg 115-123] 9.5.3.4. Agile project management with scrum [Ref: Teacher's note] 9.5.3.5. Artifacts [Ref 2: pg 114] 9.5.3.5.1. Product backlog [Ref 2: pg 123-124] 9.5.3.5.2. Sprint backlog [Ref 2: pg 123-124] 9.5.3.5.2.1. Sprint planning best practices 9.5.3.5.3. Burn down [Ref 2: pg 125-126] 9.5.4. Extreme Programming (XP) 9.5.4.1. History [Ref 2: pg 170] 9.5.4.2. Characteristics of XP [Ref: Teacher's note] 9.5.4.2.1. Planning, Design, Coding, Testing 9.5.4.3. Work products, Roles and Practices in extreme programming [Ref 2: pg 144-156] 8

9.5.5. Dynamic Systems Development method [Ref: Teacher's note] 9.5.5.1. Principles 9.5.5.2. Critical success factors 9.5.6. Crystal clear [Ref: Teacher's note] 9.6. Agile tools and methods [Ref: Teacher's note] 9.6.1. Integrated Development Environments (IDE) Jbuilder, EasyEclipse, NetBeans etc. 9.6.2. Requirements Management (Product/release/backlogs) 9.6.3. Planning (Release/Iteration planning) 9.6.4. Automated testing 9.6.5. Version controlling & Integration/ Automated builds 9.6.6. Tracking (project/release/iteration progress tracking) 9.6.7. Quality Assurance (testing, bugs management) 9.6.8. Feedback Gathering (feedback from customers, ideas, issues) Section 10 : Other topics in Rapid Software development (10hrs) Instructional Objectives: Identify the use of CMS Identify different types of CMS Describe the advantages of CMS Create a simple website using a CMS 10.1. Content Management Systems(CMS) [Ref: Teacher's note] 10.1.1. Introduction 10.1.2. Advantages of CMS 10.1.3. Different types of CMS 10.1.3.1. Web CMS 10.1.3.2. Transactional CMS 10.1.3.3. Publication CMS 10.1.3.4. LCMS 10.1.3.5. Integrated document management system 10.1.3.6. Enterprise CMS 9

10.1.4. Creating a managed website 10.1.4.1. Choosing a right CMS 10.1.4.2. Installing a CMS and promoting the site 10.1.4.2.1. Technical Infrastructure to setup a CMS 10.1.4.2.2. Setup a CMS 10.1.4.2.3. Setup the site 10.1.4.2.4. Promoting the site 10.2. Capability Maturity Model(CMM) [Ref: Teacher's note] PLATFORM Windows or Linux 10