Software Development Life Cycle:

Similar documents
A Review Paper on Software Testing

Testing Masters Technologies

[Name] [ ID] [Contact Number]

Software Engineering

Case Study: How to Eliminate Flaws of Waterfall and Agile Development Processes Using a Hybrid Model

CMPT 275 Software Engineering

Software Development Life Cycle (SDLC) Tata Consultancy Services ltd. 12 October

Rekayasa Perangkat Lunak 2 (IN043): Pertemuan 10. * Construction, Installation and Operations * Agile Method Software Development

This tutorial also elaborates on other related methodologies like Agile, RAD and Prototyping.

Software Design COSC 4353/6353 D R. R A J S I N G H

REQUIREMENT DRIVEN TESTING. Test Strategy for. Project name. Prepared by <author name> [Pick the date]

2 Why is systems development difficult and risky? 3 How do businesses use the systems development life cycle (SDLC) process?

Softwaretechnik. Lecture 02: Processes. Peter Thiemann SS University of Freiburg, Germany

Volume 8, No. 1, Jan-Feb 2017 International Journal of Advanced Research in Computer Science RESEARCH PAPER Available Online at

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer STLC

Software Testing(TYIT) Software Testing. Who does Testing?

Improving the Test Process

SUSE Unified Delivery Process

HYBRID APPROACH. Software Development Approaches. Agile. Rapid. Waterfall

Chapter 2: Project Methodologies and Processes

Business Analysis Essentials

Test Workflow. Michael Fourman Cs2 Software Engineering

This resource is associated with the following paper: Assessing the maturity of software testing services using CMMI-SVC: an industrial case study

BA Role or Skill: David Mantica ASPE Inc. IIBA Lexington, KY Wednesday, August 19 th

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

Introduction to Systems Analysis and Design

Ingegneria del Software Corso di Laurea in Informatica per il Management

Chapter 4 Document Driven Approach for Agile Methodology

Quality Management_100_Quality Checklist Procedure

Software Processes 1

CMMI-DEV V1.3 CMMI for Development Version 1.3 Quick Reference Guide

Copyright Intertech, Inc All Rights Reserved. May 18, 2011

QUALITY ASSURANCE PLAN OKLAHOMA DEPARTMENT OF HUMAN SERVICES ENTERPRISE SYSTEM (MOSAIC PROJECT)

1. Can you explain the PDCA cycle and where testing fits in?

Darshan Institute of Engineering & Technology for Diploma Studies Rajkot Unit-1

ADM The Architecture Development Method

PROFESSIONAL SERVICES CONSULTANT

Software Engineering. Hans-Petter Halvorsen

Lecture 1. In practice, most large systems are developed using a. A software process model is an abstract representation

7. Model based software architecture

Explore Comparative Analysis Software Development Life Cycle Models

AUTOMATED DEFECT PREVENTION: BEST PRACTICES IN SOFTWARE MANAGEMENT

SWE 211 Software Processes

Requirement Error Taxonomy

Waterfall model is the earliest SDLC approach that was used for software development.

Risk Based Testing Pragmatic Risk Analysis and Management

Software Engineering. M Umair.

Fixed Scope Offering for Implementation of Oracle Fusion CRM in Cloud

6/29/ Professor Lili Saghafi

How mature is my test organization: STDM, an assessment tool

Chapter 8. Systems Development. Ralph M. Stair George W. Reynolds

ISTQB CTFL BH QuestionsAnswers with Explanation

Software Testing Life Cycle

Software Architecture and Engineering Requirements Elicitation Peter Müller

CRM System Tester. Location London Department Supporter and Community Partnerships. CRM Project Manager Salary Band C

Work Plan and IV&V Methodology

APPENDIX O CONTRACTOR ROLES, RESPONSIBILITIES AND MINIMUM QUALIFICATIONS

T Software Testing and Quality Assurance Test Planning

CTIS GSA LABOR CATEGORY DESCRIPTIONS

ARCHITECTING PROJECT MANAGEMENT for Enterprise Agility. Enable Organization with Agile using Tooling/Technology

Top 20 SDET Interview Questions & Answers

Information Systems. Rationale Aims & Objectives. Rationale Aims & Objectives. Introduction to Project management. Ruel Ellis

It s time to be more Optimistic about Negative Testing 12 th Annual International Software Testing Conference Saroj Patnaik 20-October-2012

Introduction to Agile Life Cycles. CSCI 5828: Foundations of Software Engineering Lecture 07 09/13/2016

Prerequisites It is recommended that the participants have a working knowledge of traditional Business Analysis tasks and techniques.

Appendix C: MS Project Software Development Plan and Excel Budget.

The Systems Development Lifecycle

Introduction to Agile Software Development

Acquiring IT Applications and Infrastructure

Software Engineering Part 2

BASICS OF SOFTWARE TESTING AND QUALITY ASSURANCE. Yvonne Enselman, CTAL

The Software Development Process (SDLC)

! To solve problems. ! To take up new opportunities. ! Requirements - descriptions of. " Behavior. " Data. " Constraints (eg. cost and schedule)

INTRODUCTION TO COMPUTER INFORMATION SYSTEMS/INFORMATION SYSTEMS

Meltem Özturan

SYSTEM MODERNIZATION BEST PRACTICES

Software Architecture and Engineering Requirements Elicitation Peter Müller

Business Alignment Through the DevOps Loop

CMMI for Acquisition Quick Reference

Program Lifecycle Methodology Version 1.7

Build Your Project Using Feature Driven Development #4 of a Series, by Pavan Kumar Gorakavi, M.S., M.B.A, G.M.C.P, C.A.P.M.

Chapter 2: The Project Management and Information Technology Context

CMMI-SVC V1.3 CMMI for Services Version 1.3 Quick Reference Guide

UoD IT Job Description

version NDIA CMMI Conf 3.5 SE Tutorial RE - 1

An Overview of Software Process

Life Cycle Plan (LCP)

[control] [data] [process] [strategy] [partners] [testing] [validation]

M3 Playbook Guidance. 1.1 Establish Initial Customer PMO and Processes. Human Resources (HR)/Staffing Plan

Project Plan. For Building a Data Management System for FORCE. Prepared for: Andrew Lowery Fundy FORCE

Software Engineering Modern Approaches

The good news. 34% of software projects succeed. Standish Group, CHAOS Report, 2003

Deliverable: 1.4 Software Version Control and System Configuration Management Plan

CS 320 Introduction to Software Engineering Spring February 01, 2017

Introduction to Software Engineering

Information Systems Development

Led by the Author Attended by a peer group Varying level of formality Knowledge gathering Defect finding

Leading Practice: Test Strategy and Approach in Agile Projects

By: Ronny Trefftzs CSCI 5828: Foundations of Software Engineering Spring 2012 Professor: Kenneth Anderson

Agile-R. intecs Solutions. A new approach to combine Agile and EN for Railway software development. Agile-R. Trademark registered

Transcription:

Software Development Life Cycle: The systems development life cycle (SDLC), also referred to as the application development life-cycle, is a term used in systems engineering, information systems and software engineering to describe a process for planning, creating, testing, and deploying an information system. The systems development lifecycle concept applies to a range of hardware and software configurations, as a system can be composed of hardware only, software only, or a combination of both. Suppose, you are assigned a task, to develop a custom software for a client. Now, irrespective of your technical background, try and make an educated guess about the sequence of steps you will follow, to achieve the task.

The correct sequence would be. Different phases of Software Development Cycle Activities performed in each stage Requirement Gathering stage Gather as much information as possible about the details & specifications of the desired software from the client. This is nothing but the Requirements gathering stage. Design Stage Plan the programming language like Java, PHP,.net; database like Oracle, MySQL, etc. Which would be suited for the project, also some high-level functions & architecture. Built Stage After design stage, it is built stage, that is nothing but actually code the software Test Stage Next, you test the software to verify that it is built as per the specifications given by the client.

Deployment stage Deploy the application in the respective environment Maintenance stage Once your system is ready to use, you may require to change the code later on as per customer request All these levels constitute the waterfall method of software development lifecycle. As you may observe, that testing in the model starts only after implementation is done. But if you are working in the large project, where the systems are complex, it's easy to miss out the key details in the requirements phase itself. In such cases, an entirely wrong product will be delivered to the client and you might have to start afresh with the project OR if you manage to note the requirements correctly but make serious mistakes in design and architecture of your software you will have to redesign the entire software to correct the error. Assessments of thousands of projects have shown that defects introduced during requirements & design make up close to half of the total number of defects. Also, the costs of fixing a defect increases across the development life cycle. The earlier in life cycle a defect is detected, the cheaper it is to fix it. As the say, "A stitch in time saves a nine." To address this concern, the V model of testing was developed where for every phase, in the Development life cycle there is a corresponding Testing phase

The left side of the model is Software Development Life Cycle - SDLC The right side of the model is Software Test Life Cycle - STLC The entire figure looks like a V, hence the name V - model Apart from V model, there are iterative development models, where development is carried in phases, with each phase adding a functionality to the software. Each phase comprises of its independent set of development and testing activities. Good examples of Development lifecycles following iterative method are Rapid Application Development, Agile Development Here are the Key Terms again: SDLC: SDLC is Software Development Life Cycle. It is the sequence of activities carried out by Developers to design and develop high-quality software. Though SDLC uses the term Development, it does not involve just coding tasks done by developers but also incorporates the tasks contributed by testers and stakeholders. In SDLC, test cases are created. STLC: STLC is Software Testing Life Cycle. It consists of series of activities carried out by Testers methodologically to test your software product. Though STLC uses the term testing it does not involve just testers, at some instances, they have to involve developers as well.

In STLC Test cases are executed. Waterfall Model: Waterfall model is a sequential model divided into different phases of software development activity. Each stage is designed for performing specific activity during SDLC phase. Testing phase in waterfall model starts only after implementation of the system is done. Testing is done within the SDLC. V- Model: V- model is an extension of the waterfall model. Unlike waterfall model, In V-model, there is a corresponding testing phase for each software development phase. Testing in V-model is done in parallel to SDLC stage. Testing is done as a sub project of SDLC. Role of Business Analyst during SDLC Process BA is involved in driving business requirement and converting them to solution requirements. He is involved in translating the solution features into software requirements. Then leads in analysis and designing phase, dictates in code development, then follows the testing phase during bug fixing as a change agent in the project team and ultimately fulfills the customer requirements.

The role of a business analyst in an IT Project can be multi fold. It is possible for project team members to have multiple roles and responsibilities. In some projects, the BA may take on the roles of the Business Intelligence Analyst, Database Designer, Software Quality Assurance Specialist, Tester, and/or Trainer when there are limited resources available. It is also possible for a Project Coordinator, or an Application Development Lead, or a Developer to take on the role of the Business Analyst in specific projects. Business Analysis overlaps heavily with analysis of requirements of the business to function as usual and to optimize how they function. Key Responsibilities of a Business Analyst: The responsibility set of a business analyst would require him to fulfill different duties in different phases of a project and they are elucidated below Initiation Phase This phase will mark the beginning of a new project and a business analyst will vary out the following responsibilities Assist in carrying out the cost-benefit analysis of the project. Understand the business case. Ascertain the feasibility of the solution/project/product. Help in creating the project charter. Identify the stakeholders in the project. Planning Phase

This phase will involve gathering the requirements and planning, how the project will be executed and managed. His responsibilities will include the below functions Eliciting the requirements Analyze, organize and document requirements. Manage requirements by creating Use-cases, RTM, BRD, SRS, etc. Assess proposed solutions. Liaise and enhance communications with stakeholders. Assist in formulating the project management plans. Help in finding the project s scope, constraints, assumptions and risks. Assist in designing the user experience of the solution. Executing Phase This phase marks the development of the solution as per the requirements gathered. The responsibilities include Explain requirements to the IT/development team. Clarify doubts, concerns regarding the proposed solution to be developed. Discuss and prioritize project scope changes and gain agreement. Create beta tests scripts for initial testing. Sharing the developing modules with stakeholders and solicit their feedback. Following deadlines and manage stakeholder s expectations. Resolving conflicts and manage communications with the project team.

Monitoring and Controlling Phase In this phase, the project is measured and controlled for any deviations from the initial plans. This phase runs simultaneously to the execution phase. Developing test scripts and conducting comprehensive module and integration testing. Conducting UAT (use acceptance testing) and creating testing reports. Gain acceptance/approval of the deliverables from the client. Explain the change requests to the development team. Monitor the development of the change requests and verify their implementation as per the project s objective. Closing Phase This phase marks the closure of the project. The responsibilities are Presenting the completed project to the client and gain their acceptance. Create user-training manuals, any functional material and other instructional guides. Conduct elaborate integration testing in production environment. Create final product documentations, document project lessons learned. Requirement Life Cycle: Requirement lifecycle involves a number of phases and at times it can be a complicated process. The nature of the process depends on the methodology you choose for your software

development like Agile, Waterfall, Incremental, etc. Each phase may involve a lot of paperwork and approval procedure. It also deals with the project documents like a project proposal, project management plan, project scope, and the business case. Let see some of the common requirement lifecycle required to know for a Business Analyst. Requirement Definition It is one of the primary phases of the requirement gathering process commonly known as Requirement extraction. Once the requirement is gathered, it can be organized in folders logically as per product release or sprint. These requirements are analyzed further to prepare facts and figures for a business analyst to track possible result based on analysis. This procedure is referred as Impact Assessment. Requirement Validation The requirement validation phase includes analyzing the needs or conditions required to meet a new or altered product considering needs of the various stakeholders. For the success of any project, validating requirements is very important. Requirement validation includes checking the specification, wireframe, High Fidelity Simulation, Traceability Analysis, etc. There are requirement validation tools that do validation with very less human intervention. Requirement Documentation Requirement documents should cover following things Project stakeholders requirement Business analysis plan Current state analysis

Scope statement specification Requirement Management Requirement Management process includes planning, monitoring, analyzing, communicating and managing of those requirements. If the requirement is not managed well, the end product will get affected adversely. There are requirement management tool available online which help you to manage the requirement with minimum hurdles.