Agile Development: How to Define a Lean, Mean Software Process. Phil Robinson Lonsdale Systems lonsdale@iinet.net.au www.iinet.net.



Similar documents
Plan-Driven Methodologies

TDWI strives to provide course books that are content-rich and that serve as useful reference documents after a class has ended.

Software Development Life Cycle Models - Process Models. Week 2, Session 1

Introduction to Agile Software Development

Introduction to Software Engineering. Week 1

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

Standards & Practices for the software and system engineers /

Redesigned Framework and Approach for IT Project Management

Software Process and Models

The difference between failure and success is the difference between doing something almost right and doing something right.

Classical Software Life Cycle Models

Requirements Management Practice Description

Abstract. Heavy vs Light Methodologies: Bulimic or Anorexic? Fernando Brito e Abreu FCT/UNL

The Software Life Cycle. CSE 308: Software Engineering

Agile Unified Process

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

IT3205: Fundamentals of Software Engineering (Compulsory)

RUP for Software Development Projects

Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK

Software Quality Development and Assurance in RUP, MSF and XP - A Comparative Study

IT3203 Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3

Managing Small Software Projects - An Integrated Guide Based on PMBOK, RUP, and CMMI

Syllabus. REQB Certified Professional for Requirements Engineering. Foundation Level

Chap 1. Introduction to Software Architecture

Agile in Financial Services A Framework in Focus

Leveraging RUP, OpenUP, and the PMBOK. Arthur English, GreenLine Systems

Selecting a Software Development Methodology based on. Organizational Characteristics. Adrienne Farrell

Developing CMMI in IT Projects with Considering other Development Models

PMBOK for Dummies. Sean Whitaker, PMP Vice President, PMINZ

Software Engineering Reference Framework

Applied Software Project Management

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

REVIEW ON THE EFFECTIVENESS OF AGILE UNIFIED PROCESS IN SOFTWARE DEVELOPMENT WITH VAGUE SYSTEM REQUIREMENTS

Integrating Project, Information Technology And Change Management. Scott Coplan, PMP David Masuda, M.D.

Manoo Ordeedolchest Chairman ICT Policy Committee Sripatum University Microsoft Software Development Life Cycle Management of Enterprise June 5, 2007

The Software Process. The Unified Process (Cont.) The Unified Process (Cont.)

Introduction to Software Engineering: Project Management ( Highlights )

Software Development Process and Activities. CS 490MT/5555, Fall 2015, Yongjie Zheng

Hamid Faridani March 2011

Contents. 2. Why use a Project Management methodology?

10/4/2013. Sharif University of Technology. Session # 3. Contents. Systems Analysis and Design

Development models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit

QUANTIFIED THE IMPACT OF AGILE. Double your productivity. Improve Quality by 250% Balance your team performance. Cut Time to Market in half

Basic Unified Process: A Process for Small and Agile Projects

Surveying and evaluating tools for managing processes for software intensive systems

System Development Life Cycle Guide

The Software Engineering Competency Model (SWECOM)

Copyright protected. Use is for Single Users only via a VHP Approved License. For information and printed versions please see

Incorporating Innovative Practices in Software Engineering Education

Lecture 8 About Quality and Quality Management Systems

3C05: Unified Software Development Process

Agile SW Siemens

Lecture Slides for Managing and Leading Software Projects. Chapter 1: Introduction

Using Rational Software Solutions to Achieve CMMI Level 2

Agile Software Development compliant to Safety Standards?

Application of software product quality international standards through software development life cycle

Frameworks for IT Management

Syllabus. REQB Certified Professional for Requirements Engineering. Advanced Level Requirements Manager

Software Life Cycles and Configuration Management

Sustainable Software Development in Agile and CMMI: Apply Lessons Learned today

V. Phani Krishna et al, / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 2 (6), 2011,

The SWEBOK Initiative and Software Measurement Intentions

Software Engineering: Analysis and Design - CSE3308

Software Engineering of NLP-based Computer-assisted Coding Applications

Software Development Methodologies

Agile and Lean Project Management: A Zen-like Approach to Find Just the Right Degree of Formality for Your Project

ISS NICF COURSES: PROJECT MANAGEMENT

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution

Agile SW Siemens

6 Contracts and Scenarios in the Software Development Process

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: (Computer Programming 2).

Agile Software Engineering Practice to Improve Project Success

Contents. 3 Agile Modelling Introduction Modelling Misconceptions 31

Multi-Dimensional Success Factors of Agile Software Development Projects

1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java. The Nature of Software...

SSECM: The Software Systems Engineering Competency Model. Agenda

What do you think? Definitions of Quality

Software Development Life Cycle (SDLC)

JOURNAL OF OBJECT TECHNOLOGY

Development Methodologies. Types of Methodologies. Example Methodologies. Dr. James A. Bednar. Dr. David Robertson

How to Write a Software Process Procedures and Policy Manual for YOUR COMPANY

SEI Level 2, 3, 4, & 5 1 Work Breakdown Structure (WBS)

Introduction to OpenUP (Open Unified Process)

CSCI-485: Software Design

Software Engineering

Transcription:

Agile Development: How to Define a Lean, Mean Software Process Phil Robinson Lonsdale Systems lonsdale@iinet.net.au www.iinet.net.au/~lonsdale/ Some Definitions Agile 1. Characterised by quickness, lightness, and ease of movement; nimble 2. Mentally quick or alert: an agile mind Lean 1. Containing little excess or waste; spare 2. Thrifty in management; economical Mean 1. Excellent; skillful (slang) www.dictionary.com Current Sources of Process Wisdom Classic methodologies Process improvement frameworks The new, agile approaches 1

Classic Methodologies Rational Unified Process (RUP) www.rational.com/rup V-Model (Vorgehensmodell) www.informatik.uni-bremen.de/gdpa APT www.aptsystems.com.au 4 phases 9 core workflows 31 workers 103 artifacts 136 activities RUP Process Improvement Frameworks Software Engineering Institute (SEI) www.sei.cmu.edu Capability Maturity Model (CMM) Personal Software Process (PSP) Team Software Process (TSP) Software Process Improvement and Capability determination (SPICE) http://www.sqi.gu.edu.au/spice/ 2

CMM Continuously improving process Optimising (5) Disciplined process Managed (4) Standard, consistent process Defined (3) Predictable process Initial (1) Repeatable (2) 5 levels 18 key process areas 52 goals 151 top-level activities Agile Approaches Agile Alliance www.agiliealliance.org Various lightweight RUPs Extreme Programming www.extremeprogramming.org The Agile Alliance Manifesto 17 gurus 12 principles 62 signatories 3

But Do They Really Help? Is it OK to leave out activity 104? Do I really need artifact 97? Is key process area 7 relevant to this particular project? Should I follow the advice of guru number 5 or guru number 13? But Do They Really Help? What do I do about conflicting or confusing advice? RUP states that roles are not individuals; instead, they describe how individuals should behave in the business and the responsibilities of an individual The CMM seeks to remove the effect of innate skills, knowledge, and motivations of individuals The Agile Manifesto values individuals and interactions over process and tools But Do They Really Help? Process or shelf-ware? A process is used to plan and control real software projects Shelf-ware? Well, it just sort of sits on the shelf! If you need shelf-ware, try the V-Model Its comprehensive, on-line and impressive Its based on open standards Its free! 4

Project Managers Do It With a Body of Knowledge The Project Institute (PMI) A Guide to the Project Body of Knowledge (PMBOK) www.pmbok.com Describes a subset of the total PMBOK which is generally accepted What Does Generally Accepted Mean? The knowledge and practices described are applicable to most projects most of the time, and that there is widespread consensus about their value and usefulness. Generally accepted does not mean that the knowledge and practices described are or should be applied uniformly on all projects; the project management team is always responsible for determining what is appropriate for any given project. But Wait! Software Engineers Have One Too! Joint IEEE and ACM initiative Software Engineering Body of Knowledge (SWEBOK) www.swebok.org Defines a generally accepted body of knowledge Provides topical access to the body of knowledge Provides a consistent view of software engineering Sets the boundary with respect to other disciplines 5

But Wait! Software Engineers Have One Too! Joint IEEE and ACM initiative Software Engineering Body of Knowledge (SWEBOK) www.swebok.org Defines a generally accepted Generally body of Accepted knowledge Established traditional Provides topical access to practices the body recommended of by many organisations. knowledge Provides a consistent view Advanced of software and Research engineering Innovative practices Sets the boundary with respect tested to and other used only by some organisations and disciplines concepts still being developed and tested in research organisations. Specialised Practices only used for certain types of software SWEBOK Knowledge Areas Requirements Design ing Configuration Software Engineering Software Engineering Process Software Engineering Tools and Methods Software Quality SWEBOK Related Disciplines Project (PMBOK) Computer Science Mathematics Computer Engineering Cognitive Science and Human Factors Systems Engineering and Science 6

Are These Really BOKs Masquerading as Processes? RUP PSP TSP V-Model CMM SPICE APT Extreme Programming Three Questions Can a BOK describe how to be agile, lean and mean? Probably Not! Can a process framework be separated from its underlying BOK? Should Be Possible! Would such a framework allow individuals the freedom to be agile, lean and mean? Hopefully An Example Process Framework Based on Two Bodies Of Knowledge SEBOK Requirements Design PMBOK Phases Milestones 7

Software Engineering Knowledge Project Phases and Milestones Software Engineering Understand and model the problem Software Engineering Knowledge Project Phases and Milestones Identify and define system and software requirements Design the domain solution (Analysis) Software Engineering Design the platform solution Design and plan for change Project Phases and Milestones Project Phases Intent and Milestones Software Engineering Committed (Marriage) (Engagement) Delivered (First Child) Discharged (Children Leave Home) 8

Project Phases and Milestones Software Engineering Project Configuration Quality Project Facilities Project Phases and Milestones Software Engineering Manage the product (Scope, configuration and changes) Manage process quality (Software Quality Assurance) Manage product quality (Verification and Validation) Manage the process (People, time and cost) Project Configuration Quality Project Facilities Manage the hardware and software environment (Development and production) The Minimum Process Project Phases and Milestones Software Engineering Code and fix Project Configuration Quality Project Facilities Or possible test first followed by code 9

Project Phases and Milestones Iteration Incremental delivery Software Engineering Project Configuration Quality Project Facilities Iterative refinement Project Phases and Milestones Selecting Activities Software Engineering Project Configuration Quality Project Facilities RISK Dimensions of Risk Likelihood Impact High Impact Low Likelihood High Likelihood Low Impact 10

Quantifying Likelihood 1 Improbable 3 Probable 9 Very Likely Low Likelihood High Likelihood 9 Catastrophic High Impact Quantifying Impact 3 Critical 1 Marginal Low Impact Quantifying Risk Risk Rating = Likelihood + Impact Score 4, 6 or 10 Low Likelihood Score 2 High Impact Low Impact Score 12 or 18 High Likelihood Score 4, 6 or 10 11

Project Phases and Milestones Identify Risk Areas Software Engineering Consult all BOKs for Physical risk Design reduction principles, techniques and strategies Project Configuration Quality Project Facilities Final Thoughts Beware Of the Project Scales Scope Quality Time Cost Final Thoughts Beware Of the Cost of Quality Cost of Failure Cost of Quality Cost Cost of Quality Improvement 0% Quality 100% 12

Questions? Phil Robinson Lonsdale Systems lonsdale@iinet.net.au www.iinet.net.au/~lonsdale/ 13