COMP3001 Technology Management & Professional Issues: Project Management Agile and Iterative Planning Lecture 7 Graham Collins, UCL

Slides:



Advertisements
Similar presentations
September 2008Mike Woodard Rational Unified Process Key Concepts Mike Woodard.
Advertisements

Unified process(UP) UP is an OO system development methodology offered by Rational(Rational Rose) s/w, now a part of IBM Developed by Booach,Rambaugh,Jacobson--
Ninth Lecture Hour 8:30 – 9:20 pm, Thursday, September 13
A little Software Engineering: Agile Software Development C Sc 335 Rick Mercer.
SOFTWARE PROCESS MODELS. Software Process Models  Process model (Life-cycle model) -steps through which the product progresses Requirements phase Specification.
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
1 Lecture 2: Processes, Requirements, and Use Cases.
The Software Process ECE 417/617: Elements of Software Engineering
29 September Interactions  There is no “right answer”  Typically people and product are fixed  … can adapt process  (which is where we will.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall B.1.
NAUG NAUG Knowledge Evening – th February 2007.
 User assignments (product owner)  ‘circle’  1 st sprint: ◦ Scrum Boards (informative workspace)  Product -, release -, sprint -, defect backlog 
Software Life Cycles ECE 417/617: Elements of Software Engineering
NJIT From Inception to Elaboration Chapter 8 Applying UML and Patterns Craig Larman.
Agile Software Development. Traditional Software Development 1.Initiation (RFP) 2.Feasibility study Technical – can we build it? Economic – should we.
Permeation of RUP and XP on Small and Middle-Size Projects KREŠIMIR FERTALJ University of Zagreb Faculty of Electrical Engineering and Computing Department.
Object-oriented Analysis and Design
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
COMP 350: Object Oriented Analysis and Design Lecture 2
An Agile View of Process
Introduction to Agile Methodologies and Concepts Roy Osherove Principal, Team Agile Blog : ISerializable.com.
Introduction to Agile.
CONFIDENTIALITY © 2010 BA ValueBASE LLP, The concepts and methodologies contained herein are proprietary to BA ValueBASE LLP. Duplication, reproduction.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Z26 Project Management Agile and Iterative Planning Lecture 2a Graham Collins, UCL
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Current Trends in Systems Develpment
Embracing change with Extreme Programming Method Engineering Erik ten Brinke
Agile Methodologies: Comparative Study and Future Direction 林佳蓁 資工 4B.
Capability Maturity Models Software Engineering Institute (supported by DoD) The problems of software development are mainly caused by poor process management.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
Extreme Programming (XP). Agile Software Development Paradigm Values individuals and interactions over processes and tools. Values working software over.
IS Methodologies. Systems Development Life Cycle - SDLC Planning Planning define the system to be developed define the system to be developed Set the.
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
Fifth Lecture Hour 9:30 – 10:20 am, September 9, 2001 Framework for a Software Management Process – Life Cycle Phases (Part II, Chapter 5 of Royce’ book)
Rational Unified Process Mr Hisham AlKhawar. Iterative versus Waterfall  We need to use a life cycle model in order to approach developing a system easily,
AP-1 4. Agile Processes. AP-2 Agile Processes Focus on creating a working system Different attitude on measuring progress XP Scrum.
Introduction to Disciplined Agile Delivery (DAD) Scott W
Lecture 4 – XP and Agile 17/9/15. Plan-driven and agile development Plan-driven development A plan-driven approach to software engineering is based around.
IS3320 Developing and Using Management Information Systems Lecture 20: Project Management Rob Gleasure
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix B Agile Methodologies B.1.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
Intelligence and Information Systems 1 3/17/2004 © 2004 Raytheon Company USC/CSE Executive Workshop on Agile Experiences March 17, 2004 A Raytheon Agile.
Think Scrum, act Scrum Scrum Practitioner like a boss Thibault Clavier.
Extreme Programming מתודולוגיה לפיתוח פרויקטי תוכנה.
RATIONAL UNIFIED PROCESS PROCESS FRAMEWORK OVERVIEW.
Industrial Software Development Process Bashar Ahmad RISC Software GmbH.
Review of Definitions Software life cycle: –Set of activities and their relationships to each other to support the development of a software system Software.
Agile Center of Excellence. Richard K Cheng Agile is just a high level concept.
Z26 Project Management Metrics appropriate metrics for iterative projects Lecture 4a Graham Collins, UCL
TK2023 Object-Oriented Software Engineering
Process 4 Hours.
CSC 355 – Newer Approaches to System Development Life Cycles & Processes, Spring 2017 March 2017 Dr. Dale Parson.
Appendix B Agile Methodologies
Software Engineering Process
Iterative and Agile Development
Lecture Software Process Definition and Management Chapter 2: Prescriptive Process Models Dr. Jürgen Münch Fall
Approaches to Systems Development
Waterfall and Agile Quality Techniques
Introduction to Software Engineering
COMP 350: Object Oriented Analysis and Design Lecture 2
روش‌های سريع الانتقال (چابک) توسعه نرم افزار
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger Joanne M. Atlee 4th Edition.
Appendix B Agile Methodologies
Agile Development.
SD5953 Successful Project Management AGILE SOFTWARE DEVELOPMENT
Presentation transcript:

COMP3001 Technology Management & Professional Issues: Project Management Agile and Iterative Planning Lecture 7 Graham Collins, UCL

Predictable projects  Possible to complete specifications then build  Near start can estimate effort and cost  Possible to define schedule and order activities  Adaptation to unpredictable change not ‘normal’

Innovative projects  Cannot create upfront unchanging and detailed specification  Only as empirical data emerges is it possible to plan and estimate  Adaptive steps driven by build-feedback cycles are required  Creative adaptation the norm.

Plan Driven Approaches  Plan driven methods are considered the traditional way to develop software  Methods encourage a waterfall style approach  Requirements/design/build/test paradigm  Well defined processes that organisations continuously improve

Characteristics  Well defined work products  Verification and validation  Although iterative and incremental processes (evolutionary) processes have gained momentum, still a high documentation and traceability mandates across requirements, design and code

Plan-driven Concepts  Process improvement  Process capability  Organizational Maturity  Process group  Risk management  Verification and validation  Software systems architecture

Document generation rather than software development ‘Planning can cause problems. If too strictly applied, plans and processes can impede innovation or lead to mechanical check list mentality, where the object of the endeavor becomes so focused on the process that the product (often along with the customer) is afforded secondary status. Barry Boehm & Richard Turner (2004), Balancing Agility and Discipline: A guide for the perplexed, Addison-Wesley ISBN

eXtreme programming (XP)  Planning game  Small frequent releases  System metaphors  Simple design  Testing  Frequent refactoring  Pair programming  Team code ownership  Continuous integration  Sustainable pace  Whole team together  Coding standards

Pair Programming StudyEffortScheduleDefect rate SatisfactionLength (hrs) Williams+15%-43%-60%High>10 Ciolkowski+9%-46%High14

Scrum  Self directed and self-organizing teams  No external addition of workload to an iteration  Daily stand-up meetings  30 day iterations  Client driven iterations with demo at end of each to client

Unified Process  Development in short timeboxed iterations  Develop high-risk high value first  Use case driven  Architecture centric  Accommodate changes early  Work together as a team Inception: Agreement on scope Elaboration: Vision, requirements and architecture stabilized, build and test risky core several iterations Construction: Build and test the rest, largest set of iterations Transition: System deployed, beta testing, release evaluation, training

Method Comparison methodConcept Dev. Require ments DesignDevelop ment Mainten ance Scrum ASD Lean Dev Crystal XP RUP OPEN

Adaptive Planning R1 R2 Milestone 1 1st May R1…R10 complete R5 R7 Milestone 2 1st July R11…R20 complete Iterations

Planning  Team members estimate their time budget each iteration  Volunteering  Visible project plans  Iteration Goals: risks, coverage, criticality, (examples demo of product, skills development)

Ranking lists RequestType Process Sale- pay by credit scenario Log-in window not closing defect Handle returnsUse case

Tracking Iteration Progress  Frequent  Wall list for small projects  XP task cards held by the volunteer  Asking team members to self-record their remaining task effort. Better XP practice of a ‘daily tracker’.  Test driven development

Risk Management RiskProbabilityImpact Insufficient number of skilled OO developers H H Demo not ready for OOP conference Munich M H Then develop a management plan on wall, ie risk, actions, owner, status

Further reading Kent Beck (2000), Extreme Programming explained:embrace change, Addison- Wesley ISBN Jim Highsmith (2002) Agile Software development Ecosystems, Addison-Wesley ISBN Paul Allen (2002), Realizing e-Business with Components, Addison-Wesley ISBN X Walker Royce (1998), Software Project Management: A Unified Framework, Addison-Wesley ISBN Ian Graham et al (1997),The OPEN Process Specification, Addison-Wesley ISBN Murray Cantor (2002) Software Leadership: A Guide to Successful Software Development,Addison-Wesley, ISBN Philippe Kruchten (2000) The Rational Unified Process an Introduction, Second Edition, Addison-Wesley new edition being published Ian Graham (1998), Requirements Engineering and Rapid Development: An object-Oriented Approach, Addison-Wesley ISBN