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.

Slides:



Advertisements
Similar presentations
Keith McMillan Principal, Adept Technologies Copyright (C) 2008, Adept Technologies llc.
Advertisements

Colin Weaver The Eleven Essential Behaviours of Successful Agile Project Teams.
Chapter: 3 Agile Development
SDLC – Beyond the Waterfall
COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 1 Agile documentation development methodology Giby Panicker and Judith Benjamin 1-Dec-2012.
Software Development Methodologies 1. A methodology is: A collection of procedures, techniques, principles, and tools that help developers build a computer.
Slide Set to accompany Web Engineering: A Practitioner’s Approach
Agile Project Management with Scrum
Agile development By Sam Chamberlain. First a bit of history..
Project Management – An Overview Project as a metaphor – a way to approach a series of activities Contexts – construction managementt, IT development,
Agile Architecture? Paul Lund 24 th Nov Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it.
Agile Methods.
Software Development Models: Waterfall and Spiral Sung Hee Park Department of Mathematics and Computer Science Virginia State University August 21, 2012.
Agile Principles Suradet Jitprapaikulsarn 1. What is Agility? Effective (rapid and adaptive) response to change Effective communication among all stakeholders.
Does it work with Data Warehouses?. “We are uncovering better ways of developing software by doing it and helping others do it. Through this work we.
An Agile View of Process
Introduction to Agile.
Software engineering Process models Pavel Agejkin.
1 Agile Methodology & Programming Ric Holt July 2009.
Software Engineering Modern Approaches
Agile Programming Principles.
The Agile Primer July 2008 © ThoughtWorks 2008.
Developed by Reneta Barneva, SUNY Fredonia Agile Development.
Chapter 4 Agile Development
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
AGILE Methodology. AGILE  derived from the word ‘agile manifesto’, also called the Manifesto for Agile Software Development which is a formal proclamation.
Agile Methods. Agile Process/Method lightweight processes/methods that can be used to manage and control software and product development using iterative,
AgileCamp Presents: Agile 101. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons Attribution.
Project Workflow. How do you do it? -Discussion-
Chapter 5 애자일 개발 Agile Development
IS 2620: Developing Secure Systems Jan 13, 2011 Secure Software Development Models/Methods Week 2: Lecture 2.
Software Life Cycle Models. Waterfall Model  The Waterfall Model is the earliest method of structured system development.  The original waterfall model.
CS1: Classic Software Life Cycle “Waterfall” method: 1.Requirements/Analysis Determine the problem to be solved – client-centered 2.Specification.
AGILE COTS Václav Pergl We are uncovering better ways of developing software by doing it and helping others do it. Through this work.
1 11/21/2015 ã 2007, Spencer Rugaber Agile Manifesto February, 2001 XP, SCRUM, DSDM, Adaptive Software Development,
AP-1 4. Agile Processes. AP-2 Agile Processes Focus on creating a working system Different attitude on measuring progress XP Scrum.
Agile Methodology Paul Mohrbacher. Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it. Through.
Why (or When) Agile Fails Creating high performance software delivery teams.
Jeff Briggs Senior Consultant Capstone Consulting.
IS3320 Developing and Using Management Information Systems Lecture 20: Project Management Rob Gleasure
#AgileEd. Using Agile in the Classroom Cindy Royal, Associate Professor Texas State University slideshare.net/cindyroyal #AgileEd.
#2-What is Agile? Why Agile? Subtopics 1- Agile motivation for software / systems 2- Agile tenets and principles 3- Agile as a risk mitigation strategy.
- Discussion of Chapter 1 in Martin and Martin.  We are uncovering better ways of developing software by doing it and helping others do it. Through this.
Chapter 3 Agile Development
Module 2: What is Agile? Why use it? TLO: Given a DoD program involved in software development, the student will recognize situations where applying agile.
Agile Introduction Emerson Murphy-Hill. Agile Manifesto/Alliance XP, SCRUM, DSDM, Adaptive Software Development, Crystal, FDD February 2001 (Snowbird,
Misconceptions about Agile Development ALSO KNOWN AS «STEP AWAY FROM THAT JOB ADVERT!»
By: Isuru Abeysekera AGILE DEVELOPMENT. WHAT IS AGILE DEVELOPMENT? Broad term used to describe several methods for a development process Introduced in.
Industrial Software Development Process Bashar Ahmad RISC Software GmbH.
© 2014 IBM Corporation “Leaders Guide to Radical Management” for DevOps with Steve Denning Chapters 6 and 7: From Bureaucracy to Dynamic Linking by Delivering.
Baby Steps to Agility How to Grow Into Agile. A little about me A little about Agile Growing into Agile Questions Goals.
Project Workflow.
AGILE METHODS Curtis Cook CS 569 Spring 2003.
Embedded Systems Software Engineering
Chapter 5 Agile Development Moonzoo Kim KAIST
Agile Project Management
Introduction to Agile Software Development
Principles for Agile Development
Software & Software Engineering Pertemuan-4 Dosen :Kundang K Juman
Agile Software Development
Project Workflow.
Project Management and the Agile Manifesto
How to Successfully Implement an Agile Project
Introduction to Agile Blue Ocean Workshops.
Adjective: Able to move quickly and easily. Principles and Values
Chapter 3: Agile Software Processes
The Manifesto for Agile Software Development
Projects, Assignments, and other Assessments
Agile Development.
Presentation transcript:

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 No one approach to create software –Different organizations and groups within organization do different things

PROC-3 Activities Requirements specification Analysis Design Implementation Testing Maintenance and evolution

PROC-4 Different Approaches Waterfall Spiral Iterative & Incremental Development Agile

PROC-5 Waterfall Model Requirements Analysis Design Implementation &Testing Integration Maintenance

PROC-6 What’s good about Waterfall Easy to plan –(but hard to execute) Easy to explain the progression of the project –(but may not be the reality, however) Help with budgeting and estimating time upfront –(often overrun though)

PROC-7 Problems with Waterfall Sequential steps Not easy to work with Each stage expected to be complete and well done Assumes requirements are well understood –(Are they ever?) Hard to keep up with change –(change is the only constant) Hard to meet users needs

PROC-8 Spiral Model Analysis Requirements Specification Integration Design Implementation & Unit Testing

PROC-9 What’s good about Spiral Recognizes that software applications need to evolve Each version may be one loop though the spiral You have a chance to revisit and modify things that may not be correct or adequate

PROC-10 Problems with Spiral Each cycle may be long – waterfall If each cycle is large, hard to modify system –change may be prohibitive May be expensive If cycles are short, planning may be hard –Project management and reporting will be an issue

PROC-11 Iterative & Incremental Dev. Consider waterfall as a guiding framework, but not execution model Consider spiral as execution model within that guiding framework Planned with versions in mind –incremental Each increment involves many cycles of all the activities, ending with executable application

PROC-12 Iterative & Incremental Dev. Waterfall Spiral Iterative & Incremental Development

PROC-13 Advantages & Disadvantages of IID Provides good opportunity to analyze risk System evolves Coding starts early Integration start sooner May still be ceremonial Iteration may be too long Some companies that claim to be doing IID actually are doing waterfall

PROC-14 Agile Development Process Iterative and evolutionary development Adaptive planning Incremental delivery Agility More focused on success than sticking with a plan Working software is valued and considered measure of progress

PROC-15 Advantages Closely matches user expectations You may modify and evolve as understanding as requirements evolve Functionality stabilizes overtime

PROC-16 Disadvantage Hard to document each step Project management is not easy System may be poorly structure –You may hack your way though Works effectively only for small teams

PROC-17 Where does it work? For small teams Small to medium size projects Not effective on large projects –(large projects are not effective any ways!!) Requires competent team

PROC-18 The Agile Manifesto Individuals and interactions –over process and tools Working Software –over comprehensive documentation Customer collaboration –over contract negotiations Responding to change –over following a plan

PROC-19 The Agile Principles Satisfy Customer through early and continuous delivery of valuable software Welcome changing requirements any time Deliver working software frequently Business people and developers work closely Motivated individuals trusted to do job Face-to-face conversation Working software measure of progress Processes that promote sustainable development Sponsors, developers, users should maintain constant pace indefinitely Attention to technical excellence and good design enhances agility Simplicity is essential Reflect on how to become more effective, and tunes and adjusts behavior accordingly

PROC-20 Agile Modeling UML is for understanding/communication not for documentation Agile modeling is not avoiding modeling Do not apply UML to all or most of software Defer simpler design till programming Use UML for smaller percentage of system where it is required Choose lightweight simpler tools Don’t model alone Look for good enough solution Use design as guidelines – it will be inaccurate when you start Do not expect (or be expected) to design and hand off for coding – developer must be part of designing

PROC-21 Agile Processes Scrum –Self-organizing teams –Daily team measurement –Avoid following predefined steps –Standup meetings, 30 day iteration, demo to stake holders at end of iteration XP –Collaboration –Quick and early software creation –Communication, simplicity, feedback, courage –Constant feedback, test driven development