What is S.E? Describe S.E in terms of its mistakes Standish Group (www.standish.com) US - $250 Billion on IT projects. 31% projects are cancelled 52.7%

Slides:



Advertisements
Similar presentations
Extreme Programming Copyright, 1999 © Jerzy R. Nawrocki Personal Software Process Lecture.
Advertisements

Extreme Programming Alexander Kanavin Lappeenranta University of Technology.
NAUG NAUG Knowledge Evening – th February 2007.
 User assignments (product owner)  ‘circle’  1 st sprint: ◦ Scrum Boards (informative workspace)  Product -, release -, sprint -, defect backlog 
CS 3500 SE - 1 Software Engineering: It’s Much More Than Programming! Sources: “Software Engineering: A Practitioner’s Approach - Fourth Edition” Pressman,
McGraw-Hill/Irwin Copyright © 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 3 Information Systems Development.
Software Life Cycles ECE 417/617: Elements of Software Engineering
Extreme Hour Role-Playing The XP Process. What Is Extreme Programming? n User Stories:Function, Qualities, Priority, Scope. n Schedule:By negotiation.
Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition.
What is Software Engineering? And why is it so hard?
XP – eXtreme Programming A gentle introduction. Cleviton Vinícius Jobson Ronan Thiago Rodrigues.
Lesson-12 Information System Development-2
Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition.
Bina Nusantara 3 C H A P T E R INFORMATION SYSTEMS DEVELOPMENT.
Extreme Programming Team Members Gowri Devi Yalamanchi Sandhya Ravi.
EXtreme Programming By: Aaron Flocke, Leena Paulose, Geetha Krishna (Team 6)
Unit Five – Transforming Organizations
EXtreme Programming Quick Introduction Daniel Arraes Pereira Eduardo Lourenço Apolinário Ricardo de Oliveira Cavalcanti.
Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition.
COMP4710 Senior Design Software Development Process.
Lesson-11 Information System Development
Irwin/McGraw-Hill Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition.
CHAPTER 19 Building Software.
An Agile View of Process
SYSTEMS ANALYSIS. Chapter Five Systems Analysis Define systems analysis Describe the preliminary investigation, problem analysis, requirements analysis,
Chapter 9 – Software Evolution and Maintenance
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
2131 Structured System Analysis and Design
Irwin/McGraw-Hill Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition.
Agile and XP Development Dan Fleck 2008 Dan Fleck 2008.
PROJECT MILESTONES Group Presentations: ~ 5 mins presentations.
Chapter 1 Development Methodologies / SDLC
Foundations of Geospatial System Development Todd S. Bacastow Professor of Practice for Geospatial Intelligence John A. Dutton e-Education Institute The.
Irwin/McGraw-Hill Copyright © 2004 The McGraw-Hill Companies. All Rights reserved 3 C H A P T E R INFORMATION SYSTEMS DEVELOPMENT.
Chapter 3: Software Maintenance Process Omar Meqdadi SE 3860 Lecture 3 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
1 Scope of Software Engineering Somnuk Keretho, Assistant Professor Department of Computer Engineering Faculty of Engineering, Kasetsart University
Chapter 2 Process: A Generic View
EXtreme Programming: An Introduction Presentation by: Jon Banta.
Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition.
McGraw-Hill/Irwin© 2008 The McGraw-Hill Companies, All Rights Reserved Chapter 2 Information Systems Development.
Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition.
Irwin/McGraw-Hill Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition.
Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition.
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
Foundations of Geospatial System Development II Todd S. Bacastow Professor of Practice for Geospatial Intelligence John A. Dutton e-Education Institute.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 other methodologies 1 Method/Process = step-by-step description of the steps involved.
XP Overview Short Life cycle Risky / Dynamic Requirements Increase developer productivity.
CS3100 Software Project Management Agile Approaches.
Goals for Presentation Explain the basics of software development methodologies Explain basic XP elements Show the structure of an XP project Give a few.
Software Engineering At Glance. Why We Need Software Engineering? The aim of software engineering is to solve the software crisis Software is delivered.
Software Engineering Jon Walker. What is Software Engineering? Why do we call it Software Engineering? Why not just call it programming or software development?
Foundations of Geospatial System Development Todd S. Bacastow Professor of Practice for Geospatial Intelligence John A. Dutton e-Education Institute The.
CSC 480 Software Engineering Extreme Programming.
Irwin/McGraw-Hill Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition.
Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition.
Object-Oriented and Classical Software Engineering Eighth Edition, WCB/McGraw-Hill Stephen R. Schach 1.
3-1 Decision Analysis Phase Candidate solutions evaluated in terms of: Technical feasibility – Is the solution technically practical? Does our staff have.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
Toward Maturity Model for eXtreme Programming Copyright, 2001 © J. Nawrocki, B. Walter, A.. Wojciechowski
Irwin/McGraw-Hill Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition.
Project Management Software development models & methodologies
Systems Development Process and Methodologies Dr. T. Ravichandran.
Planning User stories are written.
Alexander Kanavin Lappeenranta University of Technology
What do you need to know about XP?
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
Refactoring.
Chapter 8 Software Evolution.
Presentation transcript:

What is S.E? Describe S.E in terms of its mistakes Standish Group ( US - $250 Billion on IT projects. 31% projects are cancelled 52.7% of projects will cost 189% of their original estimates $81 billion (US) will be spent on cancelled projects $59 billion (US) will be spent for software projects that will be completed but will exceed original estimates SE defined - discipline whose aim is the production of fault free software delivered on time and within budget and satisfies user needs. SE scope is broad - economics, psychology

Process of System Development A system development process is a set of activities, methods, best practices, deliverables, and automated tools that stakeholders (Chapter 1) use to develop and maintain information systems and software.

Historical Aspects Software Engineering was first coined in 1967 at a NATO SE conference - attempted to address software crisis Problem - SE not really like normal engineering Software not designed for all possible consequences Hardware is getting faster - this means software is growing in size and complexity Software maintenance can be a huge undertaking quite different from a bridge maintenance job.

Maintenance Aspects Software development goes through a series of steps –requirements –design –implementation –integration –maintenance Figure 1.2 page % is devoted to maintenance

Problems with Software Production Software is complex - the hardest thing we humans do !!!! Fred Brooks - No Silver Bullet –Complexity –Conformity –Changeability –Invisibility

Principles of System Development Get the owners and users involved. Use a problem-solving approach. Establish phases and activities. Establish standards. Justify systems as capital investments. Don’t be afraid to cancel or revise scope. Divide and conquer. Design systems for growth and change.

Capability Maturity Model (CMM) Level 5 OPTIMIZED Level 4 MANAGED Level 3 DEFINED Level 2 REPEATABLE RISK COMPETITIVENESS Level 1 INITIAL

Alternative Routes through a Methodology Model-Driven Development (MDD) Rapid Application Development (RAD) Commercial Off-the-Shelf Software (COTS) Maintenance and Reengineering or hybrids of the above

Model-Driven Development Route Modeling is the act of drawing one or more graphical representations (or pictures) of a system. Modeling is a communication technique based upon the old saying, “a picture is worth a thousand words.” Model-driven development techniques emphasize the drawing of models to help visualize and analyze problems, define business requirements, and design information systems. –Structured systems analysis and design — process-centered –Information engineering (IE) — data-centered –Object-oriented analysis and design (OOAD) — object- centered (integration of data and process concerns)

Planning User storiesUser stories are written. Release planning creates the schedule. Make frequent small releases. The Project Velocity is measured. The project is divided into iterations. Iteration planning starts each iteration. Move people around. A stand-up meeting starts each day. Fix XP when it breaks. Release planningsmall releasesProject Velocityiterations Iteration planning Move people aroundstand-up meeting Fix XP Designing SimplicitySimplicity. Choose a system metaphor. Use CRC cards for design sessions. Create spike solutions to reduce risk. No functionality is added early. Refactor whenever and wherever possiblesystem metaphorCRC cardsspike solutionadded early Refactor Coding The customer is always available. Code must be written to agreed standards. Code the unit test first. All production code is pair programmed. Only one pair integrates code at a time. Integrate often. Use collective code ownership. Leave optimization till last. No overtime.always availablestandardsunit test firstpair programmedintegrates code at a time Integrate oftencollective code ownershipoptimizationovertime Testing All code must have unit tests. All code must pass all unit tests before it can be released. When a bug is found tests are created. Acceptance tests are run often and the score is published.unit tests a bug is found Acceptance tests