Unit 4 School of Information Systems & Technology1 School of Information Systems and Technology (IST)

Slides:



Advertisements
Similar presentations
Agile Software Development کاری از : مهدی هوشان استاد راهنما : استاد آدابی.
Advertisements

COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 1 Agile documentation development methodology Giby Panicker and Judith Benjamin 1-Dec-2012.
PROC-1 3. Software Process. PROC-2 What’s a process? Set of activities in creating software It involves creativity –hard to automate –Requires human judgment.
CS487 Software Engineering Omar Aldawud
Lena Bigelow Business 550 Presentation SCRUM. -A project management process - Embraces iterative and incremental practices -Concentrates on what is important:
The software process A software process is a set of activities and associated results which lead to the production of a software product. This may involve.
Ni.com Introduction to Agile and Scrum Speaker/Author: Paul Packebush Section Manager, Corporate Metrology Author:Logan Kunitz Staff Calibration Engineer.
What is Agile? Agile is a software methodology based on iterative and incremental development, where requirements and solutions evolve through collaboration.
Sharif University of Technology Session # 3.  Contents  Systems Analysis and Design Sharif University of Technology MIS (Management Information System),
Alternate Software Development Methodologies
ECE44x SCRUM Overview slides adapted from Marty Stepp
Agile Project Management with Scrum
Agile development By Sam Chamberlain. First a bit of history..
IS 421 Information Systems Management James Nowotarski 16 September 2002.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Software Development Models: Waterfall and Spiral Sung Hee Park Department of Mathematics and Computer Science Virginia State University August 21, 2012.
The Product Owner prioritizes the requirements or features through feedback from the Stakeholders & interaction with the core team The Team.
Introduction to Agile.
Software Development Life Cycle (SDLC)
CSI315 Web Technology and Applications
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights.
Project Management Chapter 3. Objectives Become familiar with estimation. Be able to create a project workplan. Understand why project teams use timeboxing.
Dr. Tom WayCSC Software Processes CSC 4700 Software Engineering.
Chapter-3 Agile Development
CSE G674/2009 Project Project Management Section Presented by: Amir Aref Adib.
What is Scrum Process? Where is it used? How is it better?
Agile Software Development Chapter 3 – Lecture 1 Adrián Susinos.
Software Project Planning CS470. What is Planning? Phases of a project can be mostly predicted Planning is the process of estimating the time and resources.
Software Processes.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Software Process Models.
1 SWE Introduction to Software Engineering Lecture 4.
Introduction to Systems Analysis and Design
THE AGILE MENTALITY CHAPTER Topics  Why Use Agile and Scrum?  Agile Development –Manifesto for Agile Software Development  Scrum Methodology.
K.Ingram 1 Sept 2007 Agile Software Development. K.Ingram 2 Sept 2007 Contents Agile Software Development: 1.What is it? 2.Agile’s Values, Principles,
Chapter 2 Software processes. Topics covered Software process models Process activities Coping with change.
IS3320 Developing and Using Management Information Systems Lecture 20: Project Management Rob Gleasure
WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT.
#AgileEd. Using Agile in the Classroom Cindy Royal, Associate Professor Texas State University slideshare.net/cindyroyal #AgileEd.
10 key principles of agile software development
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
CSE Senior Design II Timebox Development Mike O’Dell Based on an earlier presentation by Bill Farrior, UTA, modified by Mike O’Dell.
Software Process Models.
CS 4500: Software Development Software Process. Materials Sommmerville Chapters 1, 2 and 3 Software Cycle and Models:
Scrum Overview. Agenda What is scrum…and what it isn’t Scrum’s Characteristics The Scrum Process Scrum Phases Measurements Key Practices Backlogs Sprint.
Managing Agile Software Development Teams Using Scrum AKA: Wrangling Developers for Fun and Profit!
Muhammad Adli Aniq bin Lamin ( ) Muhammad Shahrul bin Mohd Yusuf ( ) Khairul Ikhwan bin Mohamad Halim ( ) Methodology for Mobile.
Agile Methodology. -Dhanashree Kumkar -Plus91 Technologies.
SOFTWARE DEVELOPMENT Presented By : Emporiumtech This presentation is brought you by
Introduction to Software Engineering Muhammad Nasir Agile Software Development(3)
Software Engineering cosc 4359 Spring 2017.
Agile Methodology and Scrum
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
AGILE SCRUM METHODOLOGY
Scrum.
Wael Ellithy, Ph.D. Arx ICT
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Information Technology Project Management – Fifth Edition
Project Management and the Agile Manifesto
Scrum MODULE 3 – Part 3.
Summarizing Our Models to Date
Introduction to Agile Blue Ocean Workshops.
Adjective: Able to move quickly and easily. Principles and Values
Scrum Science NGSS: Engineering, Technology, Applications of Science
Scrum in Action.
Sprints.
Agile Development.
Presentation transcript:

Unit 4 School of Information Systems & Technology1 School of Information Systems and Technology (IST)

Agenda Administrivia Software Development Software Development Process Software Development Best Practices School of Information Systems & Technology2

Administrivia My name - Imroz Khan My - My AIM handle - imr 0 zkhan My office hours: TBD Any other time via appointment School of Information Systems & Technology3

Seminar Guidelines Please Stay On Topic Answer my questions anytime by typing in your comment. Please do NOT interject “I agree” or “Good point” as this clutters the seminar. We assume you agree and think the point is good! Raise your hand to interrupt // means “I have a question” I will respond with your name ?? which means “go ahead and ask” Please, No Side Conversations If I type BREAK everyone stops typing Use good chat etiquette Don’t worry about typos. Be as clear as you can and refrain from smileys/emoticons and slang –use proper English. Respect others. School of Information Systems & Technology4

Software Development Software Development in theory Requirements Analysis Design Implementation Software Development reality School of Information Systems & Technology5

Software Development Process Models Software Development Life Cycle Model The cost of constructing most software occurs during development and not during production Process is a series of predictable steps, a roadmap School of Information Systems & Technology6

GSDP Garage Software Development Process Code and Fix, Code and Fix Done School of Information Systems & Technology7

Waterfall Model School of Information Systems & Technology8 Analysis Design Coding Testing Integration

Waterfall Model Quality Gates (Service Gates) Base lining Requirements Specification Test Plan Design Specification Code Test Results report School of Information Systems & Technology9

Waterfall Model Change intolerant Document-driven Customer must state all requirements upfront Features unavailable until implementation phase Strong distinction between Development and Maintenance School of Information Systems & Technology10

Waterfall Model Easy to understand Familiar to customers, steps make intuitive sense ‘Natural’ Structure for new staff or teams Tight control by project management Requirements are stable Forces documentation School of Information Systems & Technology11

Prototyping Opposite of the waterfall model Gets code out very quickly An elementary version of the system operational earlier School of Information Systems & Technology12

Prototyping Evolutionary versus throwaway prototypes Prototyping takes advantage of high level languages, sacrifices efficiency for speed Great when few initial requirements Danger of feature creep Documentation, performance of final system may suffer - perceived lack of discipline Customer and management may think it is done Quality can go either way Requires experienced developers School of Information Systems & Technology13

Incremental Functionality of system is delivered in small increments “prototyping + waterfall” Useful with small staff Not good when delivery is expensive School of Information Systems & Technology14

Rapid Application Development (RAD) Incremental development Focus is on time to market JRPs (Joint Requirements Planning) JADs (Joint Application Design) Product developers are SWAT (Skilled with Advanced Tools) team School of Information Systems & Technology15

Rapid Application Development (RAD) Customer involvement Tools reduce cycle time Rapid Development of product Requires highly skilled developers School of Information Systems & Technology16

Agile (SCRUM) Key concept in agile methodologies Agility is a way of life in a constantly emerging and changing response to business turbulence – Improvise – Trusting in one’s ability to respond rather than trusting in one’s ability to plan – Focus on individuals and self adapting their own processes – Collaborative values and principles - human dynamics, may be the “soft” sciences but they are the hardest! – Barely sufficient methodology - programming usually adds value, process management usually adds overhead School of Information Systems & Technology17

Agile (SCRUM) Scrum is not an acronym Backlog A dynamic set of product features Sprints A set of backlog items that can be done in a predefined timebox (30 days) School of Information Systems & Technology18

Agile (SCRUM) Step #1: Get Your Backlog In Order Create the Product Backlog Prioritize the Backlog Step #2: estimate your product backlog Estimate Product Backlog in Points -High level estimate using a point system such as Fibonacci number Step #3: Sprint Planning/clarify requirements Call a Sprint Planning meeting Decide Your Sprint Duration Select Target Backlog for Sprint Clarify Sprint Requirements School of Information Systems & Technology19

Agile (SCRUM) Step #4: Sprint Planning/estimate tasks Breaking the requirements into tasks and estimating the hours required to complete them Step #5: Create a collaborative workspace High level plans/roadmaps, key dates, design discussions, sketches of functionality, issues log, ideas, stats, status reports, topical posters, etc, etc. Step #6: Sprint! the team Sprints to achieve the Sprint Goal they committed to during the planning stages The timeframe - in this case the Sprint Duration - is fixed. Done means done. School of Information Systems & Technology20

Agile (SCRUM) Step #7: Stand up and be counted! Daily scrum. Scrum daily meetings 15 minutes of status report What did you do since the last meeting? What obstacles are you encountering? What do you plan to accomplish by the next team meeting? Step #8: Track progress with a daily burndown chart The burn down chart is a publicly displayed chart showing the number of tasks remaining for the current sprint or the number of items on the sprint backlog. School of Information Systems & Technology21

Agile (SCRUM) Step #9: Finish when you said you would Time waits for no man! All changes must be reversible to ensure your software is always in a shippable state, even when you have multiple streams of development (e.g. live bug fixes alongside major project) on the go at the same time. Finish when you said you would Step #10: Review, reflect, repeat... School of Information Systems & Technology22

Development Planning Who will do what? What will be done and what do you depend on? When will it be done? Where will it be done? Why will you do it? How will you do it? School of Information Systems & Technology23

Development Planning Who will do what? What will be done and what do you depend on? When will it be done? Where will it be done? Why will you do it? How will you do it? School of Information Systems & Technology24

Maintenance Fix bugs Add features Improve structure and maintainability School of Information Systems & Technology25

Development Best Practices Limit use of COTS Don’t use new, untested software or technology Reuse, Reuse, Reuse Self Documenting Code Intention Revealing Interfaces Adhering to Object Orientation Priciples School of Information Systems & Technology26

Questions? School of Information Systems & Technology27