A Quick Overview of Software Engineering. Paul Klint
|
|
- Cody Thomas Walters
- 8 years ago
- Views:
Transcription
1 A Quick Overview of Software Engineering Paul Klint
2 g n i t o qu r o f s ie ch g o t l u o Ap me D pers so wspa ne 2
3 3
4 4
5 Software Engineering is about... Building large software systems Using state-of-the-art scientific knowledge Using solid engineering practices Dealing with evolving software Controlling complexity Controlling quality 5
6 Societal Relevance All parts of society essentially depend on software: Government (taxes, social security,...) Healthcare Services (banking and insurance companies) Transportation, logistics, telecommunication Entertainment (games, animation)... 6
7 Facts about Software 50% of all software projects costs more than twice the original budget One-third of all projects has a delay of % 80% of all projects fails Failing software costs in the US 56 billion $ per year 60% of all programmers works on maintenance 7
8 Software Engineering has to reconcile The requirements of the stakeholders and users of a system The engineering of the system including designing, building, testing, and maintaining it The process how to organize all the above 8
9 Requirements 9
10 Requirements 10
11 Requirements Interviews with stakeholders User stories and Use cases Mock ups Early prototypes Customer on site 11
12 User Stories Pattern: As a <role>,i want <goal/desire> As a user, I want to search for my customers by their first and last names. As a want made last user closing the application, I to be prompted to save if I have any change in my data since the save. 12
13 Use Case 13
14 Message Sequence Chart 14
15 Mock-ups 15
16 Engineering Software Architecture Software Design Software Construction Software Quality Assessment Software Maintenance 16
17 Software Architecture and Design 17
18 Sagrada Familia Barcelona, Spain,
19 19
20 20
21 21
22 22
23 23
24 Antoni Gaudi,
25 Why is Gaudi's Design Good? Forms inspired by nature Organic integration of parts Each facade a separate theme Unconventional Impressive Note: miniature models were used to study the design 25
26 Johnson Wax Headquarters
27 Fallingwater,271935
28 Robie House
29 Frank Loyd Wright
30 Why are Loyd Wright's Designs Good? Clear lines and forms Simple Design has a perfect fit with the environment Careful consideration how light enters building 30
31 Gasuniegebouw, Groningen, Alberts en Huut, Mooiste gebouw van Nederland, Trouw,
32 What is Software Architecture? The software architecture of a system is the set of structures needed to reason about the system, which comprise software elements, relations among them, and properties of both. The term also refers to documentation of a system's "software architecture." Documenting software architecture facilitates communication between stakeholders, documents early decisions about high-level design, and allows reuse of design components and patterns between projects 32
33 Software Architecture Client-server architecture 33
34 Software Architecture Service Bus 34
35 What is Software Design? Software design is a process of problemsolving and planning for a software solution. After the purpose and specifications of software are determined, software developers will design or employ designers to develop a plan for a solution. It includes low-level component and algorithm implementation issues as well as the architectural view. Source: Wikipedia 35
36 Software Design Design Patterns Algorithm Design Data design Unclear separation between high-level and low-level concerns 36
37 SW Design is a Wicked Problem No definite formulation of the problem No stopping rule: we never reach the solution Solution not true/false but only good/bad. Many acceptable solutions Every solution may lead to other wicked problems Source: Van Vliet, Software Engineering 37
38 Global SW Design Strategies Top-down: start from problem domain Pro: good fit with the requirements, global picture Con: unclear whether you can reach good (efficient) solution at the code level Bottom-up: start from solutions domain Pro: good solution for local problems Con: unclear whether you will eventually satisfy the global requirements YoYo: reconcile these strategies 38
39 YoYo Design Start with global, top-down, design Do bottom-up design of selected parts to verify that detailed design is feasible Integrate with (and change) global design Repeat 39
40 Software Construction Programming Languages Paradigms: imperative OO functional... Approaches: Design Patterns Domain-specific Languages (DSLs) Model-driven Aspect-oriented programming Tools: IDEs, debuggers, test tools, version management,... 40
41 Software Quality Assessment Software complies with requirements and is functionally correct? Non-functional quality aspects: Performance, reliability, security, maintainability, documentation, ease-of-use,... Rule of thumb: the earlier a problem is found, the cheaper you can fix it: Requirements (1x); Post-release (100x) 41
42 Code Review Interactive session, where a developer explains his/her code to colleagues Finds more errors than any other technique! Pair-programming (discussed later) supports this 42
43 The Word bug In relay-based machines little insects could disrupt machine operation Here a moth found in the Harvard Mark II Now used for software errors Debugging: removing errors 43
44 Testing Testing can only show the presence of bugs, not their absence (Edsger Dijkstra) White-box testing Black-box testing During testing the implementation is known Implementation is unknown Test levels Unit Integration System 44
45 Manual Unit Testing Manually write test cases that exercise a function for average values and boundary values Example: test cases for a list sort function: Empty list Non-empty, sorted, lists Non-empty, reversely sorted, lists Random lists of various sizes 45
46 Automatic Unit Testing Write a predicate issorted to test that a list is sorted. bool testsort(list[int] L) = issorted(sort(l)) Randomly generate lists and use testsort as oracle. This approach is called QuickCheck and is highly effective. 46
47 Test Tools for the Rascal programmer test is a function modifier, currently for Boolean functions without parameters. Use :test on the command line to run all test functions A Master's project is well-advanced to add QuickCheck functionality to Rascal's test framework. 47
48 Testing Rascal itself Thousands of tests for basic language elements and libraries Code examples in Tutor are also executed and also act as tests. Developer and tester should wear different hats 48
49 Testing the Integer public void testint() { asserttrue(runtest("1 == 1;")); asserttrue(runtest("1!= 2;")); asserttrue(runtest("-1 == -1;")); asserttrue(runtest("-1!= 1;")); asserttrue(runtest("1 + 1 == 2;")); asserttrue(runtest(" == 1;")); asserttrue(runtest("1 + (-2) == -1;")); asserttrue(runtest("2-1 == 1;")); asserttrue(runtest("2-3 == -1;")); asserttrue(runtest(" == 3;")); asserttrue(runtest("-2-1 == -3;")); asserttrue(runtest("2 * 3 == 6;")); asserttrue(runtest("-2 * 3 == -6;")); asserttrue(runtest("2 * (-3) == -6;")); asserttrue(runtest("-2 * (-3) == 6;")); asserttrue(runtest("8 / 4 == 2;")); asserttrue(runtest("-8 / 4 == -2;")); asserttrue(runtest("8 / -4 == -2;")); asserttrue(runtest("-8 / -4 == 2;")); asserttrue(runtest("7 / 2 == 3;")); asserttrue(runtest("-7 / 2 == -3;")); asserttrue(runtest("7 / -2 == -3;")); asserttrue(runtest("-7 / -2 == 3;")); asserttrue(runtest("5 % 2 == 1;")); asserttrue(runtest("-5 % 2 == -1;")); asserttrue(runtest("5 % -2 == 1;")); asserttrue(runtest("-2 <= -1;")); asserttrue(runtest("-2 <= 1;")); asserttrue(runtest("1 <= 2;")); asserttrue(runtest("2 <= 2;")); assertfalse(runtest("2 <= 1;")); asserttrue(runtest("-2 < -1;")); asserttrue(runtest("-2 < 1;")); asserttrue(runtest("1 < 2;")); assertfalse(runtest("2 < 2;")); asserttrue(runtest("-1 >= -2;")); asserttrue(runtest("1 >= -1;")); asserttrue(runtest("2 >= 1;")); asserttrue(runtest("2 >= 2;")); assertfalse(runtest("1 >= 2;")); asserttrue(runtest("-1 > -2;")); asserttrue(runtest("1 > -1;")); asserttrue(runtest("2 > 1;")); assertfalse(runtest("2 > 2;")); assertfalse(runtest("1 > 2;")); asserttrue(runtest("(3 > 2? 3 : 2) == 3;")); } asserttrue(runtest("0 / 5 == 0;")); asserttrue(runtest("5 / 1 == 5;")); 49
50 Testing public void sort() { prepare("import List;"); asserttrue(runtestinsameevaluator("{list::sort([]) == [];}")); asserttrue(runtestinsameevaluator("{sort([]) == [];}")); asserttrue(runtestinsameevaluator("{list::sort([1]) == [1];}")); asserttrue(runtestinsameevaluator("{sort([1]) == [1];}")); asserttrue(runtestinsameevaluator("{list::sort([2, 1]) == [1,2];}")); asserttrue(runtestinsameevaluator("{sort([2, 1]) == [1,2];}")); asserttrue(runtestinsameevaluator("{list::sort([2,-1,4,-2,3]) == [-2,-1,2,3, 4];}")); asserttrue(runtestinsameevaluator("{sort([2,-1,4,-2,3]) == [-2,-1,2,3, 4];}")); } 50
51 Test Driven Developmen (TDD) Write test cases first (they act as a specification) Then write the implementation of the code that is tested 51
52 The Software Process 52
53 Software Process All aspects of the software life cycle Two main styles: Waterfall Agile 53
54 Waterfall Model Requirements Design Implementation Verification Maintenance 54
55 Waterfall Model All steps are traceable Solid engineering practices Long development cycles Not so easy to steer the project Much bureaucracy 55
56 Agile Development Originally called Extreme Programming Agile Manifesto Agile Principles Agile Practices Large commercial interests in selling you agile methods 56
57 57
58 Agile Principles Customer satisfaction by rapid delivery of useful software Welcome changing requirements, even late in development Working software is delivered frequently (weeks, not months) Working software is the principal measure of progress Sustainable development, able to maintain a constant pace Daily co-operation between business people and developers Face-to-face conversation is the best form of communication (co-location) Projects are built around motivated, trusted, individuals Continuous attention to technical excellence and good design Simplicity- The art of maximizing the amount of work not done - is essential Self-organizing teams Regular adaptation to changing circumstances 58
59 Agile Practices Pair programming Design patterns Continuous Integration Test-driven development Automated unit testing Refactoring 59
60 Agile Development Many agile approaches: SCRUM, Kanban, XP, DSDM There is no scientific proof that waterfall methods or agile methods are better We have done various studies; it is hard to obtain and compare data The influence of individual programmers is large (10x difference between individuals) 60
61 Software Engineering At the core of Many faces: Web technologies Technical Mobile applications Human Gaming Organizational Big Data Scientific computing 61
62 62
Life Cycle Models. V. Paúl Pauca. CSC 331-631 Fall 2013. Department of Computer Science Wake Forest University. Object Oriented Software Engineering
Life Cycle Models V. Paúl Pauca Department of Computer Science Wake Forest University CSC 331-631 Fall 2013 Software Life Cycle The overall framework in which software is conceived, developed, and maintained.
More informationSoftware Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC) Supriyo Bhattacharjee MOF Capability Maturity Model (CMM) A bench-mark for measuring the maturity of an organization s software process CMM defines 5 levels of process
More informationWaterfall to Agile. DFI Case Study By Nick Van, PMP
Waterfall to Agile DFI Case Study By Nick Van, PMP DFI Case Study Waterfall Agile DFI and Waterfall Choosing Agile Managing Change Lessons Learned, Sprints Summary Q and A Waterfall Waterfall Waterfall
More informationHow to manage agile development? Rose Pruyne Jack Reed
How to manage agile development? Rose Pruyne Jack Reed What will we cover? Introductions Overview and principles User story exercise Retrospective exercise Getting started Q&A About me: Jack Reed Geospatial
More informationIntroduction to Agile Software Development
Introduction to Agile Software Development Word Association Write down the first word or phrase that pops in your head when you hear: Extreme Programming (XP) Team (or Personal) Software Process (TSP/PSP)
More informationThe Agile Manifesto is based on 12 principles:
The Agile Manifesto is based on 12 principles: Customer satisfaction by rapid delivery of a useful product solution Welcome changing requirements, even late in development Working products are delivered
More informationVragen. Software development model. Software development model. Software development model
Vragen Noem de belangrijkste activiteiten in een software engineeringsproject Welke vormen van onderhoud kan men onderscheiden? Karakteriseer het waterval model Waterfall model Document oriented Suited
More informationIntroduction to Agile Software Development Process. Software Development Life Cycles
Introduction to Agile Software Development Process Presenter: Soontarin W. (Senior Software Process Specialist) Date: 24 November 2010 AGENDA Software Development Life Cycles Waterfall Model Iterative
More informationAgile Projects 7. Agile Project Management 21
Contents Contents 1 2 3 Agile Projects 7 Introduction 8 About the Book 9 The Problems 10 The Agile Manifesto 12 Agile Approach 14 The Benefits 16 Project Components 18 Summary 20 Agile Project Management
More informationSoftware Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution
Software Life Cycle Main issues: Discussion of different life cycle models Maintenance or evolution Not this life cycle SE, Software Lifecycle, Hans van Vliet, 2008 2 Introduction software development
More informationAgile Software Development Methodologies and Its Quality Assurance
Agile Software Development Methodologies and Its Quality Assurance Aslin Jenila.P.S Assistant Professor, Hindustan University, Chennai Abstract: Agility, with regard to software development, can be expressed
More informationException Handling. development.
Exception Handling Name: ID: These questions do not have a formal, definitive answer. They are meant to be food for thoughts. Feel free to seek answers on browsing the Internet, talking to other software
More informationTopics covered. Agile methods Plan-driven and agile development Extreme programming Agile project management Scaling agile methods
Topics covered Chapter 3 Agile Software Development Agile methods Plan-driven and agile Extreme programming Agile project management Scaling agile methods 1 2 Need for rapid software Rapid software Changing
More informationAdvanced Software Engineering. Software Development Processes
Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Advanced Software Engineering Software Development Processes Prof. Agostino Poggi Software Development
More informationCOMP 354 Introduction to Software Engineering
COMP 354 Introduction to Software Engineering Greg Butler Office: EV 3.219 Computer Science and Software Engineering Concordia University, Montreal, Canada Email: gregb@cs.concordia.ca Winter 2015 Course
More informationTesting in Agile methodologies easier or more difficult?
Testing in Agile methodologies easier or more difficult? Lucjan Stapp Warsaw University of Technology Stowarzyszenie Jakości Systemów Informatycznych L.Stapp@mini.pw.edu.pl L.Stapp@sjsi.org Professor in
More informationAgile Project Management By Mark C. Layton
Agile Project Management By Mark C. Layton Agile project management focuses on continuous improvement, scope flexibility, team input, and delivering essential quality products. Agile project management
More informationA Glossary of Scrum / Agile Terms
A Glossary of Scrum / Agile Terms Acceptance Criteria: Details that indicate the scope of a user story and help the team and product owner determine done-ness. Agile: the name coined for the wider set
More informationAgile Development with C#
Agile Development with C# Paweł Jarosz, pjarosz@pk.edu.pl Cracow University of Technology, Poland Jyvaskyla University of Applied Sciences, February 2009 Paweł Jarosz who am I? M.Sc. of Applied Physics
More informationSoftware Development Life Cycle at SSPL. An Summary of Methodologies We Offer
Software Development Life Cycle at SSPL An Summary of Methodologies We Offer 10/29/2009 Table of Contents The SSPL Advantage... 2 Commonly Used SDLC Models at SSPL... 2 Waterfall Model... 2 Agile Model...
More informationSoftware Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: 0306211(Computer Programming 2).
0305203 0305280 0305301 0305302 Software Engineering/Courses Description Introduction to Software Engineering Prerequisite: 0306211(Computer Programming 2). This course introduces students to the problems
More informationExtreme Programming, an agile software development process
Extreme Programming, an agile software development process Paul Jackson School of Informatics University of Edinburgh Recall: Waterfall and Spiral Models Waterfall: Spiral: Split project into controlled
More informationIntroduction to Agile and Scrum
Introduction to Agile and Scrum Matthew Renze @matthewrenze COMS 309 - Software Development Practices Purpose Intro to Agile and Scrum Prepare you for the industry Questions and answers Overview Intro
More informationAtomate Development Process. Quick Guide
Development Process Quick Guide METHODOLOGY Every project is unique You know your business inside out. You have thought and planned your ideas carefully and are keen to see it live as soon as possible.
More informationAGILE & SCRUM. Revised 9/29/2015
AGILE & SCRUM Revised 9/29/2015 This Page Intentionally Left Blank Table of Contents Scrum Fundamentals Certified Course... 1 Scrum Developer Certified (SDC)... 2 Scrum Master Certified (SMC)... 3 Scrum
More informationUsing Agile with Large, Geographically Dispersed Development Teams
Using Agile with Large, Geographically Dispersed Development Teams Ade Miller Development Manager, patterns & practices group (Development Lead, Visual Studio Tools for Office) Microsoft Corporation 2010
More informationRapid software development. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1
Rapid software development Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1 Objectives To explain how an iterative, incremental development process leads to faster delivery of
More informationIngegneria del Software Corso di Laurea in Informatica per il Management. Agile software development
Ingegneria del Software Corso di Laurea in Informatica per il Management Agile software development Davide Rossi Dipartimento di Informatica Università di Bologna The problem Efficiency: too much effort
More informationCSE 435 Software Engineering. Sept 16, 2015
CSE 435 Software Engineering Sept 16, 2015 2.1 The Meaning of Process A process: a series of steps involving activities, constraints, and resources that produce an intended output of some kind A process
More informationA Capability Maturity Model (CMM)
Software Development Life Cycle (SDLC) and Development Methods There are some enterprises in which a careful disorderliness is the true method. Herman Melville Capability Maturity Model (CMM) A Capability
More informationComparative Study of Agile Methods and Their Comparison with Heavyweight Methods in Indian Organizations
International Journal of Recent Research and Review, Vol. VI, June 2013 Comparative Study of Agile Methods and Their Comparison with Heavyweight Methods in Indian Organizations Uma Kumari 1, Abhay Upadhyaya
More informationSoftware Engineering I (02161)
Software Engineering I (02161) Week 8 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2015 Last Week State machines Layered Architecture: GUI Layered Architecture: Persistency
More informationWhitepaper. Agile Methodology: An Airline Business Case YOUR SUCCESS IS OUR FOCUS. Published on: Jun-09 Author: Ramesh & Lakshmi Narasimhan
YOUR SUCCESS IS OUR FOCUS Whitepaper Published on: Jun-09 Author: Ramesh & Lakshmi Narasimhan 2009 Hexaware Technologies. All rights reserved. Table of Contents 1. Introduction 2. Subject Clarity 3. Agile
More informationLean and Agile in Safety-critical Software Development Research and Practice. Henrik Jonsson 21.05.2014
Lean and Agile in Safety-critical Software Development Research and Practice Henrik Jonsson 21.05.2014 About me 2012 Henrik Jonsson Professional Software engineer +13 years Employed by Etteplan Part-time
More informationCopyright protected. Use is for Single Users only via a VHP Approved License. For information and printed versions please see www.vanharen.
Global Standards and Publications Edition 2014/2015 Global Standards and Publications EDITION 2014/2015 Colophon Title: Global Standards and Publications Edition 2014/2015 Publication of: Van Haren Publishing,
More informationD25-2. Agile and Scrum Introduction
D25-2 Agile and Scrum Introduction How to Use this Download This download is an overview of a discussion Intertech has with clients on Agile/Scrum This download has an overview of Agile, an overview of
More informationIntroduction to Agile Software Development. EECS 690 Agile Software Development
Introduction to Agile Software Development EECS 690 Agile Software Development Agenda Research Consent Forms Problem with Software Engineering Motivation for Agile Methods Agile Manifesto Principles into
More informationRapid Software Development
Software Engineering Rapid Software Development Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain how an iterative, incremental development process leads to faster delivery
More informationCorso di Laurea Magistrale in Informatica, Università di Padova Tecnologie open-source, Anno accademico 2010/2011. Development Processes 1 / 51
Software development process A software development process is a structure imposed on the development of a software product Software development activities Requirements analysis The important task in creating
More informationAGILE METHODOLOGY IN SOFTWARE DEVELOPMENT
AGILE METHODOLOGY IN SOFTWARE DEVELOPMENT Shivangi Shandilya, Surekha Sangwan, Ritu Yadav Dept. of Computer Science Engineering Dronacharya College Of Engineering, Gurgaon Abstract- Looking at the software
More informationSoftware Requirements and Specification
Software Requirements and Specification Agile Methods SE3821 - Jay Urbain Credits: Beck, K. (1999). Extreme Programming Explained: Embrace Change. Boston, MA: Addison-Wesley. Beck, Kent; et al. (2001).
More informationAgile methods. Objectives
Agile methods CMSC435-1 Objectives To explain how an iterative, incremental development process leads to faster delivery of more useful software To discuss the essence of agile development methods To explain
More informationSOFTWARE ENGINEERING INTERVIEW QUESTIONS
SOFTWARE ENGINEERING INTERVIEW QUESTIONS http://www.tutorialspoint.com/software_engineering/software_engineering_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Software Engineering
More informationSoftware Testing. Definition: Testing is a process of executing a program with data, with the sole intention of finding errors in the program.
Software Testing Definition: Testing is a process of executing a program with data, with the sole intention of finding errors in the program. Testing can only reveal the presence of errors and not the
More informationSOFTWARE DEVELOPMENT METHODOLOGIES, TRENDS, AND IMPLICATIONS
SOFTWARE DEVELOPMENT METHODOLOGIES, TRENDS, AND IMPLICATIONS Xihui Zhang University of North Alabama xzhang6@una.edu Hua Dai University of Wisconsin-La Crosse dai.hua@uwlax.edu Tao Hu King College thu@king.edu
More informationBest Practices for Improving the Quality and Speed of Your Agile Testing
A Conformiq White Paper Best Practices for Improving the Quality and Speed of Your Agile Testing Abstract With today s continually evolving digital business landscape, enterprises are increasingly turning
More informationAchieving ISO 9001 Certification for an XP Company
Achieving ISO 9001 Certification for an XP Company Graham Wright Development Team Coach Workshare 20 Fashion Street London, E1 6PX (44) 020 7539 1361 graham.wright@workshare.com Abstract It is generally
More informationAgile and lean methods for managing application development process
Agile and lean methods for managing application development process Hannu Markkanen 24.01.2013 1 Application development lifecycle model To support the planning and management of activities required in
More informationZarządzanie projektem agile 2015-05-21. The Mystery of Effective IT by Bogdan Bereza blogomotion.com/mystery 1 (30) Effective IT?
The Mystery of Effective IT by Bogdan Bereza blogomotion.com/mystery 1 (30) Effective IT? The Mystery of Effective IT by Bogdan Bereza blogomotion.com/mystery 2 (30) Bogdan Bereza, Victo.eu 1 The Mystery
More informationUsing Simulation to teach project management skills. Dr. Alain April, ÉTS Montréal alain.april@etsmtl.ca
Using Simulation to teach project management skills Dr. Alain April, ÉTS Montréal alain.april@etsmtl.ca Agenda of the workshop 1 The software project management theory overview (40 minutes) 2 Why use SDLC
More informationAgile Software Development
E Learning Volume 5 Number 1 2008 www.wwwords.co.uk/elea Agile Software Development SOLY MATHEW BIJU University of Wollongong in Dubai, United Arab Emirates ABSTRACT Many software development firms are
More informationSECC Agile Foundation Certificate Examination Handbook
Versions 2.0 Version Date Remarks 1.0 12/4/2012 Initial version 2.0 3/8/2008 REVISION HISTORY Updated knowledge areas Added questions examples Updated suggested readings section Page 2 of 15 Version 2.0
More informationAlternative Development Methodologies
Alternative Development Methodologies The Software Development Process described in the course notes and lecture is a generalized process that been in use for decades. Over this time, scholars in the IT
More informationChallenges in adopting Agile
ImproValue Consulting in adopting Copyright: ImproValue 2011 www.improvalue.com About Us ImproValue Consulting specialize in business process consulting focus on IT and ITES organizations. provide a wide
More informationIn the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is:
In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is: The period of time that starts when a software product is conceived and ends when the product is no longer
More informationLEAN AGILE POCKET GUIDE
SATORI CONSULTING LEAN AGILE POCKET GUIDE Software Product Development Methodology Reference Guide PURPOSE This pocket guide serves as a reference to a family of lean agile software development methodologies
More informationAgile Development Overview
Presented by Jennifer Bleen, PMP Project Services Practice of Cardinal Solutions Group, Inc. Contact: Agile Manifesto We are uncovering better ways of developing software by doing it and helping others
More informationNew Developments in an Agile World: Drafting Software Development Agreements. By: Paul H. Arne 1,2
New Developments in an Agile World: Drafting Software Development Agreements By: Paul H. Arne 1,2 A few months before this article was prepared, a group of senior IT professionals from some of the largest
More informationKarunya University Dept. of Information Technology
PART A Questions 1. Mention any two software process models. 2. Define risk management. 3. What is a module? 4. What do you mean by requirement process? 5. Define integration testing. 6. State the main
More informationThe Impacts Of Agile Development On The System Engineering Process
The Impacts Of Agile elopment On The System Engineering Process 17 th Annual Systems Engineering Conference October 27-30, 2014 Springfield, Virginia Discussion Topics Background What Is Agile elopment
More informationGetting Started with Agile Project Management Methods for Elearning
Getting Started with Agile Project Management Methods for Elearning Megan Torrance TorranceLearning Training2013 Session 108 February 18, 2013 8am Megan Torrance has 20 years of experience in the learning
More informationModern practices 2.3.2015 02.03.2015 TIE-21100/21106 1
Modern practices 2.3.2015 1 Today s lecture Learn what some modern SW engineering topics are about A peek to some research topic of our department 2 3 4 5 6 How the lectures continue? 02.03 Modern practices
More informationIntroduction. Industries across the globe are burgeoning. Stiff
Solutions for higher performance! Agile VS Lean THE COMPREHENSIVE FACTORS Introduction Introduction Industries across the globe are burgeoning. Stiff competition has permeated every stratum among enterprises.
More informationQuality Assurance Software Development Processes
Quality Assurance Software Development Processes Part II - Lecture 3 1 The University of Auckland New Zealand 254 12/09/ /2012 The FBI Virtual Case File 254 12/09/ /2012 Database application developed
More informationMethodology: Agile development of safety critical systems Annex D1.1.d to deliverable D1.1
Collaborative Large scale Integrating Project Open Platform for EvolutioNary Certification Of Safety critical Systems Methodology: Agile development of safety critical systems to deliverable D1.1 Work
More informationAgile with XP and Scrum
Agile with XP and Scrum Amit Goel National Agile Software Workshop @ Indore Agile India Conference Agile Software Community of India Disclaimer and Credits Most of material in this presentation has been
More informationWaterfall vs. Agile Methodology
2012 Waterfall vs. Agile Methodology Mike McCormick MPCS, Inc. Revised Edition 8/9/2012 Contents Waterfall vs. Agile Model Comparison...3 Conceptual Difference...3 Efficiency...4 Suitability...4 Waterfall
More informationSoftware Quality Testing Course Material
Prepared by Vipul Jain Software Quality Testing Course Material Course content is designed and will be taught in such a manner in order to make a person job ready in around 10-12 weeks. Classroom sessions
More informationAgile extreme Development & Project Management Strategy Mentored/Component-based Workshop Series
Overview This is a 15-day live facilitator-led or virtual workshop is designed to prompt your entire team to work efficiently with Microsoft s Application Lifecycle Management solution based around Visual
More informationOutline. Agile Methods. Converse of Conway s Law. The Silver Bullet Fantasy (Brooks, 1986)
Agile Methods Barry Boehm, CS 510 Lecture Fall 2001 (boehm@sunset.usc.edu) (http://sunset.usc.edu) Outline Silver bullets and lead bullets Information technology trends The dwindling lead-bullet niche
More informationSOFTWARE PROCESS MODELS
SOFTWARE PROCESS MODELS Slide 1 Software Process Models Process model (Life-cycle model) - steps through which the product progresses Requirements phase Specification phase Design phase Implementation
More informationFail early, fail often, succeed sooner!
Fail early, fail often, succeed sooner! Contents Beyond testing Testing levels Testing techniques TDD = fail early Automate testing = fail often Tools for testing Acceptance tests Quality Erja Nikunen
More informationUC Santa Barbara. CS189A - Capstone. Christopher Kruegel Department of Computer Science UC Santa Barbara http://www.cs.ucsb.
CS189A - Capstone Christopher Kruegel Department of Computer Science http://www.cs.ucsb.edu/~chris/ How Should We Build Software? Let s look at an example Assume we asked our IT folks if they can do the
More informationSoftware Development Methodology Development Process followed @ Aress
Software Development Methodology Development Process followed @ Aress 1. Development Methodology Software Development at Aress has adopted Agile Software Development methodology and uses it effectively
More informationAgile Requirements Generation Model: A Soft-structured Approach to Agile Requirements Engineering. Shvetha Soundararajan
Agile Requirements Generation Model: A Soft-structured Approach to Agile Requirements Engineering Shvetha Soundararajan Thesis submitted to the faculty of the Virginia Polytechnic Institute and State University
More informationAgile Software Development in the Large
Agile Software Development in the Large Jutta Eckstein 1 Large Large in... Scope Time People Money Risks We concentrate on Large Teams Large is relative 1, 2, 10, 100, 2000 People 2 Principles behind Agile
More informationThe Role of Software Quality in Agile Software Development Methodologies Osama Sohaib and Khalid Khan Abstract he various agile software development methodologies have promoted since their inception and
More informationProcesses in Software Development. Presented 11.3.2008 by Lars Yde, M.Sc., at Selected Topics in Software Development, DIKU spring semester 2008
Processes in Software Development Presented 11.3.2008 by Lars Yde, M.Sc., at Selected Topics in Software Development, DIKU spring semester 2008 Software hall of shame Classic mistakes ACM Code of Ethics
More informationThe 2015 State of Scrum Report. How the world is successfully applying the most popular Agile approach to projects
The 2015 State of Scrum Report How the world is successfully applying the most popular Agile approach to projects RELEASED: JULY 2015 EXECUTIVE SUMMARY In February 2015, Scrum Alliance surveyed almost
More informationAn Approach to Agile Automation Testing. QAANOVA September 16, 2008 Frank Hurley, Technical Manager
An Approach to Agile Automation Testing QAANOVA September 16, 2008 Frank Hurley, Technical Manager 1 Agile development is here Iterative development and deployment Faster times to market/client stakeholders
More informationDevelopment Techniques. CSE301 University of Sunderland Harry R. Erwin, PhD
Development Techniques CSE301 University of Sunderland Harry R. Erwin, PhD Sources Boehm, 1981, Software Engineering Economics, Prentice- Hall. Stephens and Rosenberg, 2003, Extreme Programming Refactored:
More informationBecoming a Business Analyst
Becoming a Business Analyst What is Business Analysis? The practice of enabling change in an organizational context by defining needs and recommending solutions that delivers value to stakeholders When
More informationA. Waterfall Model - Requirement Analysis. System & Software Design. Implementation & Unit Testing. Integration & System Testing.
Processing Models Of SDLC Mrs. Nalkar Sanjivani Baban Asst. Professor, IT/CS Dept, JVM s Mehta College,Sector 19, Airoli, Navi Mumbai-400708 Nalkar_sanjivani@yahoo.co.in Abstract This paper presents an
More informationAgile and lean methods for managing application development process
Agile and lean methods for managing application development process Hannu Markkanen 27.01.2012 1 Lifecycle model To support the planning and management of activities required in the production of e.g.
More informationAgile Software Engineering Practice to Improve Project Success
Agile Software Engineering Practice to Improve Project Success Dietmar Winkler Vienna University of Technology Institute of Software Technology and Interactive Systems dietmar.winkler@qse.ifs.tuwien.ac.at
More informationHow To Understand The Limitations Of An Agile Software Development
A Cynical View on Agile Software Development from the Perspective of a new Small-Scale Software Industry Apoorva Mishra Computer Science & Engineering C.S.I.T, Durg, India Deepty Dubey Computer Science
More informationAgile In a Nutshell. Note - all images removed to fit 2MB limit Actual presentation has much more content. Jonathan Rasmusson
Agile In a Nutshell Note - all images removed to fit 2MB limit Actual presentation has much more content Jonathan Rasmusson What we re going to cover How agile works What to expect What agile is Agile
More informationSoftware Engineering and Scientific Computing
Software Engineering and Scientific Computing Barbara Paech, Hanna Valtokari Institute of Computer Science Im Neuenheimer Feld 326 69120 Heidelberg, Germany http://se.ifi.uni-heidelberg.de paech@informatik.uni-heidelberg.de
More informationAgile Development with Agile Business Suite
Agile Development with Agile Business Suite By: Alan Hood White Paper Agility. It s a wonderful thing. For a dancer or an athlete the need for agility is obvious. The ability to move, and change directions
More informationContinuous Integration: Improving Software Quality and Reducing Risk. Preetam Palwe Aftek Limited
Continuous Integration: Improving Software Quality and Reducing Risk Preetam Palwe Aftek Limited One more title Do you love bugs? Or Are you in love with QC members? [Courtesy: Smita N] Agenda Motivation
More informationPROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL
PROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL Sanja Vukićević 1, Dražen Drašković 2 1 Faculty of Organizational Sciences, University of Belgrade, vukicevicsanja@yahoo.com 2 Faculty
More informationComparing Agile Software Processes Based on the Software Development Project Requirements
CIMCA 2008, IAWTIC 2008, and ISE 2008 Comparing Agile Software Processes Based on the Software Development Project Requirements Malik Qasaimeh, Hossein Mehrfard, Abdelwahab Hamou-Lhadj Department of Electrical
More informationAgile! Springer. The Good, the Hype and the Ugly. Bertrand Meyer
i ii imnin111 imiiii niiini n in mi1111 m i urn u n in i H 111 nil n i ni*tmi n11111 iimn mn n IIIH iwi m«inininnmminniii m HI
More informationAgile in a Safety Critical world
Agile in a Safety Critical world Julian Goddard 24/11/2014 26/11/14 (c) 2014 Plaxion Limited. All rights reserved. 1 Contents Introductions The pervasiveness of software Agile review Safety Critical software
More informationAgile Beyond The Team 1
Agile Beyond The Team 1 Dilbert Agile 2 What Does Your Organization Value? Projects over Teams? Do new teams spools up for new projects? On-Time/On-Budget Delivery over Zero Maintenance Products Deliver
More informationSoftware Engineering. Introduction. Lecturer: Giuseppe Santucci
Software Engineering Introduction Lecturer: Giuseppe Santucci Summary Some useful pieces of information Introduction to Software Engineering Standardization of Software Process 2 Software Engineering Classes
More informationPMBOK? You Can Have Both! June 10, 2009. Presented by: www.esi-intl.com
Agile or the PMBOK? You Can Have Both! June 10, 2009 Presented by: David M. Sides, Vice President, ESI Consulting Services www.esi-intl.com Agenda June 10, 2009 Pic? Agile Framework Agile Truths & Myths
More informationAgile-Waterfall Hybrid Jessica LaGoy, MS, PMP
Agile-Waterfall Hybrid Jessica LaGoy, MS, PMP About Jess BS Applied Physics, WPI / MS Cybersecurity, UMUC PMP, ITIL, Data Scientist, Tableau, Alteryx Project Experience Data and technology Construction
More informationExtreme Programming, an agile software development process
Extreme Programming, an agile software development process Nigel Goddard School of Informatics University of Edinburgh Recall: Waterfall and Spiral Models Waterfall: Spiral: Split project into controlled
More information