Optimizing The Software Development Process



Similar documents
Software Development Process

Software Development Methodologies

Whitepaper. Agile Methodology: An Airline Business Case YOUR SUCCESS IS OUR FOCUS. Published on: Jun-09 Author: Ramesh & Lakshmi Narasimhan

Who Doesn t Want to be Agile? By: Steve Dine President, Datasource Consulting, LLC 7/10/2008

(Refer Slide Time: 01:52)

Module 2. Software Life Cycle Model. Version 2 CSE IIT, Kharagpur

Don t forget the testers

Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology

Building Software in an Agile Manner

LECTURE 1. SYSTEMS DEVELOPMENT

Expert Reference Series of White Papers. Intersecting Project Management and Business Analysis

INTRODUCTION. Chapter Motivation

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

Waterfall vs. Agile Methodology

Establishing your Automation Development Lifecycle

Managing Software Product Development Key Differences from Service Projects

Agile development of safety-critical software while meetings standards' requirements

A. Waterfall Model - Requirement Analysis. System & Software Design. Implementation & Unit Testing. Integration & System Testing.

Evolving a New Software Development Life Cycle Model SDLC-2013 with Client Satisfaction

2015 Defense Health Information Technology Symposium Implementation of Agile SCRUM Software Development Methodology

Agile vs waterfall: A Comparative Analysis

IMPORTANCE OF SOFTWARE TESTING IN SOFTWARE DEVELOPMENT LIFE CYCLE

Importance of Testing in Software Development Life Cycle

PROJECT MANAGEMENT ROADMAP, Executive Summary

11.1 What is Project Management? Object-Oriented Software Engineering Practical Software Development using UML and Java. What is Project Management?

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

ABHINAV NATIONAL MONTHLY REFEREED JOURNAL OF RESEARCH IN SCIENCE & TECHNOLOGY

SEEM4570 System Design and Implementation Lecture 10 Software Development Process

CSC 492 The Practice of Software Engineering. Lecture 3 University of Mount Union Software Life Cycle Models

An Agile Project Management Model

Software Development Life Cycle (SDLC)

Module 2. Software Life Cycle Model. Version 2 CSE IIT, Kharagpur

SE464/CS446/ECE452 Software Life-Cycle and Process Models. Instructor: Krzysztof Czarnecki

AGILE vs. WATERFALL METHODOLOGIES

Settling the VoIP Debate. Hosted VoIP vs. VoIP PBX

CompSci Fall 2014 Professors: Robert Duvall, Ajay Patel, Salman Azhar (rcd@cs, ajay.patel, azhar@cs)

CT30A8901 Chapter 10 SOA Delivery Strategies

Advanced Software Engineering. Software Development Processes

ASSESSMENT OF SOFTWARE PROCESS MODELS

Software development process

VAIL-Plant Asset Integrity Management System. Software Development Process

Rolling Wave Planning: Manage Projects Without Going Under

Agile Software Development

AGILE SOFTWARE DEVELOPMENT AND CHALLENGES

Business white paper. Best practices for implementing automated functional testing solutions

Objectives. The software process. Basic software process Models. Waterfall model. Software Processes

Mastering the Iteration: An Agile White Paper

Practice Overview. REQUIREMENTS DEFINITION Issue Date: <mm/dd/yyyy> Revision Date: <mm/dd/yyyy>

Why 70% of Dashboard Initiatives Fail

Formal Software Testing. Terri Grenda, CSTE IV&V Testing Solutions, LLC

CPSC 310 Software Engineering Lecture 2 Software Processes. Thanks to Eric Wolhstader, Emerson Murphy-Hill

Software Development with Agile Methods

Successful EHR Usage. It s not about the bits and the bytes, nor the size of the practice. Practice culture drives EHR success.

Chapter 1: Introduction to Rapid Application Development (RAD) 1. Introductions

A Comparative Study of Different Software Development Life Cycle Models in Different Scenarios

Software Engineering. Software Development Process Models. Lecturer: Giuseppe Santucci

A Capability Maturity Model (CMM)

CDC UNIFIED PROCESS PRACTICES GUIDE

Managing Testing Cycles efficiently

Transitioning Your Software Process To Agile Jeffery Payne Chief Executive Officer Coveros, Inc.

HOW TO USE THE DGI DATA GOVERNANCE FRAMEWORK TO CONFIGURE YOUR PROGRAM

Extreme Programming, an agile software development process

CUT COSTS, NOT PROJECTS

Lifecycle Models: Waterfall / Spiral / EVO

Standardized software development model for SME software houses in Pakistan

Whitepaper. Public, Private or Hybrid Cloud

SPECIFICATION BY EXAMPLE. Gojko Adzic. How successful teams deliver the right software. MANNING Shelter Island

MIS 424 COURSE OUTLINE

Balancing the Hybrid Development Process. The role of the Business Analyst

CDC UNIFIED PROCESS JOB AID

Agile Software Development Methodologies and Its Quality Assurance

Introduction to the Traditional SDLC

Transitioning from Waterfall to Agile Course AG01; 3 Days, Instructor-led

A Comparison between Five Models of Software Engineering

Software Quality and Agile Methods

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

MANAGED AGILE DEVELOPMENT MAKING AGILE WORK FOR YOUR BUSINESS. Chuck Cobb May 20, 2013

SOFTWARE DEVELOPMENT METHODOLOGIES, TRENDS, AND IMPLICATIONS

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

Process Models and Metrics

How to Select and Implement an ERP System

The software process. Generic software process models. Waterfall model. Software Development Methods. Bayu Adhi Tama, ST., MTI.

Development Methodologies Compared

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

Making the Transition. From ISV to SaaS. with Xterity Wholesale Cloud

Chapter 3: Approaches to Creating Personas

Successful Strategies for Custom Software Development

How To Understand The Software Process

Transcription:

Optimizing The Software Development Process Scientech Symposium 2013 Ray Gagnon

Overview Inspired by NITSL Since the beginning of SW development, the development process has been debated. Waterfall? Agile? Hybrid? Others?

Waterfall? Waterfall Based on hardware design practices Structured Easy to understand Predictable? Minimize Rework? Pros Easy to understand Structure Rigid Cost Cons Structure Rigid Cost

Actual Implementation

Agile How Agile can we be? Proponents argue addresses unknowns faster More collaborative process Actually traces back to 1957 Increased Customer Satisfaction Pros Conceptually faster process More customer involved Iteration allows for continuous improvement Cons Potential endless loop Cost control Concept of rework

Case Studies NITSL Two utilities presented their experience with an Agile experiment. Not sure either fully understood what they were doing. Mixed but generally positive results One followed process more literally Appears to be producing the desired product/quality PM frustrated Done seems to be undefined One followed a bit more of a hybrid. Had 90% requirements definition Incremental releases within implementation group Determining how to address SQA

Scientech Process Some History In the early days Process? What Process? Documentation afterthought Moving to the current era Moving up on CMM scale Lessons Learned Increased rigor Zero defect target Cost control Solution Strict adherence to Waterfall Model

How Is It Working? The debate goes on. The Scientech Approach Work upfront to get solid requirements (SRS) set in stone Follow with highly detailed design (SDD) Content and level of detail have varied over time. Heavy customer involvement in requirements and design review process Concept: Catch errors early at a point when cost is lower to correct. Practice: Protracted review cycles costly from an internal perspective as well as customer perspective Increased schedule time required to accommodate numerous review cycles Significant errors and omissions still appear late in process

How Is It Working? Continued The issue of the unknown Process does not accommodate the unknown very well Ambiguity or missing requirements discovered late Especially true of complex systems/interfaces Results can be significant redesign late in process Customer Issues Sorry folks, but frankly you are not all that good at articulating requirements! Tend to think in terms of how not what Customer reviews tend to miss the same things internal reviews miss and focus on wrong content. Implementation Issues What looks good on paper doesn t always look so good in practice. Stick with it anyway because it s approved?

Revisiting The Concepts i.e. lessons learned, continuous improvement Concept: Heavily involving customer in requirements and design decreases risk and cost. Get customer buy-in. Reality? Not so much. Even with fully approved documents, customers will be customers You want what you want and we still end up owning most of the risk. Concept: Not starting development reduces time and cost. Reality!

Revisiting The Concepts Process Improvement? Scientech Concept: Internally, we have been contemplating reducing customer involvement in design and looking for increase focus in testing and verification. Scientech ultimately responsible for design. Exception might be for something with significant unknown or risk. Cultural Changes: Scientech staff needs to have a more questioning attitude when reviewing and accepting requirements. Customer staff needs to focus more on requirements, especially on missing information and error conditions.

TMI - The perfect proving ground? TMI Process TMI Provided SRS s Scientech, review, revise, accept Scientech develop SDD Multiple internal reviewers. Release for development. Developer Revise in process Pre-FAT review Scientech Incremental releases TMI Test Case Development TMI providing some test cases. Heavy involvement in FAT reviews

Hybrid Waterfall - Agile Start with solid (90% or better) requirements Produce solid, not necessarily final SDD. Assure all functional requirements are covered Developer will produce internal revisions and releases. Internal Reviews as Necessary Incremental releases to Customer Formal review as precursor to FAT SRS is FAT input SRS should be As-Built Future Risks/Concerns Tendency to compress schedule and reduce interim quality checkpoints.