it methodology webinar - project insightdownloads.projectinsight.net/training/it... · it...

Post on 29-Jun-2020

0 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Apply the Software Development Lifecycle for a Successful Project

IT Methodology Webinar

Phones will be on mute

Ask your questions using your

GotoWebinar panel

Webinar recording will be

available in the Project Insight

Community

Before we get started…

Janelle Abaoag

Project Insight

Marketing, Public Relations

Janelle.Abaoag@projectinsight.com

www.projectinsight.net

@projectinsight

Moderator

®

®

Cameron Watson

President, QAIassist

cwatson@qaiassist.com

www.qaiassist.com

Presenter

I am a Project Manager

I am a Business or Operational Manager

I am a software developer or software tester

I am a member of an organizational PMO, governance or

quality assurance function

I want a better understanding of IT Methodology

Who’s on the Call?

Established 2007 – Ottawa, Canada

Pioneer of IT Methodologies for small and mid-sized business (SMB’s)

Maintain and promote an IT Methodology body of knowledge (BOK) SMB’s

and practitioners rely on to optimize the delivery of products, services and

operational performance

Administer IT Methodology certification - “QAIassist Foundation”

Support practitioners and authorized affiliates in delivering IT

Methodology knowledge and expertise

Who is QAIassist?

Eleven (11) IT Methodology Webinars delivered (across the globe)

Wide array of industries (health, manufacturing, consulting, finance)

Attendees

� Executive Management

� Business & Operational Management

� Project Managers

� Business Analysts

� Architects (Functional/Technical)

� PMO/Governance

� Programmers

� Testers/Quality Assurance

� Independent Consultants

IT Methodology Webinar Summary

2012 Schedule

The 3rd Wednesday of Every Month

� 8 11:00 Eastern Time

IT Methodology Modules

� Integrating Methodologies into an IT Landscape (Jan 2012)

� Crossing IT Methodology Over Organizations (Feb 2012)

� Why Use a PM Lifecycle & Deliverables (Mar 2012)

� Apply PM Fundamentals for a Successful Project (Apr 2012)

� Scale PM Deliverables to Benefit Your Projects (May 2012)

� Consistently Improve Your Organizational Processes (Jun 2012)

� Why Use a Software Development Lifecycle (Jul 2012)

� Apply the Software Development Lifecycle for a Successful Project (Aug 2012)

� Why Use a Software Testing Lifecycle (Sept 2012)

� Apply the ST Lifecycle for a Successful Project (Oct 2012)

� Customize an IT Methodology for Your Organization (Nov 2012)

Share IT Methodology knowledge

Develop IT methodology

understanding & expertise

Provide additional insight into

several IT (project management,

software development, software

testing) methodologies

Discuss best practices on

incorporating an organizational IT

methodology

QAIassist 2012 Series - Goals

IT Methodology – general context

Software Development Lifecycle (SDLC) - context

SDLC Deliverables (System Analysis, Design,

Build, Test, Release)

Recap

Apply the Software Development Lifecycle for a Successful Project

IT Methodology – “Known”

The term “Methodology” originates in ancient Greece from the

word “Methodos” - meaning “path”

Although Business Leaders, Engineers, Scholars have long

debated and argued over which methodologies are the most

effective – all are in agreement that employing any

methodology is always beneficial

Every organization is using an IT Methodology or IT Lifecycle or

IT Framework

in partnership with

� ISO(900XXX)

� Agile

� CMMI

� ITIL

� Waterfall

� Rational Unified Process (RUP)

� QAIassist (IM)

� PMI

� Six-Sigma

� Prince2

� COBIT

Methodology – Terms, Terms

and more “terms”

IT Framework, IT Methodology, IT Lifecycle

� Non Standard usage in terminology

� Terms are used interchangeably between organizations and across the

IT industry

� Examples include

• Project Management Methodology/Lifecycle/Framework

• Software Development Methodology/Lifecycle (SDLC)/Framework

� Software Testing Methodology/Lifecycle/Framework

� Deliverable, Artifact, Work Product

IT Methodology Context

Organizational Frameworks

� ISO(900XXX), CMMI, Six-Sigma,

ITIL, COBIT

Methodologies/Lifecycles (noun)

� Rational Unified Process (RUP),

QAIassist (IM), PMI, Prince2

Methodologies/Lifecycles (verb)

� Waterfall, Spiral, Agile, RAD

IT Methodology – Map & Journey

Methodologies/Lifecycles - “noun”

� The roadmap

� Rational Unified Process (RUP),

QAIassist (IM) , PMI, Prince2

Methodologies/Lifecycles - “verb”

� The journey taken along the road

� Waterfall, Spiral, Agile, RAD ,

Prototyping, etc

IBM’s Rational Unified Process (RUP)

PMI’s Project Management Methodology

QAIassist Integrated Methodology

in partnership with

IT Methodology/Lifecycle - Noun

All Methodologies/Lifecycles (RUP, QAIassist, PMI, Prince2) define,

utilize and rely on their own pre-defined structure, naming

conventions, and terminology

Hierarchy/Structure

� Methodology/Lifecycle (ie Project Management, Software Development ,

Software Testing)

� Phase/Stage (ie Initiate, Planning, Design, Closeout)

� Deliverable/Artifact/Work Product (ie Project Charter, Testing Strategy)

� Activity (tasks performed to complete deliverables, artifacts, work products)

“Deliverable/Artifact/Work Product”

versus “Activity”

Building a House

Deliverable (Artifact, Work Product)

� Blue Prints

� Foundation poured

� Windows installed

Activity (non-Deliverable, non-Artifact, non Work Product)

� Meeting with Architect to review Blue Prints

� Mixing concrete to pour the foundation

� Authorizing purchase of the wood needed to complete the window frame

IT Methodology – general context

Software Development Lifecycle (SDLC) -

context

SDLC Deliverables (System Analysis, Design,

Build, Test, Release)

Recap

Apply the Software Development Lifecycle for a Successful Project

Software Development Lifecycle (SDLC) Context

Discipline used to effectively develop and maintain IT applications

and functionality

Multiple Platforms

� Mainframe

� Distributed

� Web

Multiple Environments

� New Development

� Maintenance and Support

Traditional “V” DiagramSDLC Integration

QAIassist Integrated Methodology

SDLC Integration

SDLC Sample Project

� To build all of the accounting functionality to administer

accounts receivable, monitor accounts payable, maintain

account balances, and prepare accurate reports.

Building an Accounting Package

Requirements

Definition

Requirements Definition

� Administer Accounts Receivable Functionality

� Monitor Accounts Payable Functionality

� Maintain Account Balances Functionality

� Accurate Reporting Functionality

Building an Accounting Package

High Level Design

High Level Design

� Administer Accounts Receivable Functionality

� Send Invoices (High Level Design)

� Payment Receipt (High Level Design)

� Deposit (High Level Design)

� Administer Accounts Payable Functionality

� Maintain Account Balances Functionality

� Accurate Reporting Functionality

Building an Accounting Package - Requirements

Detailed Design

Detailed Design

� Administer Accounts Receivable (Requirements Definition)

� Send Invoices (High Level Design)

� Accumulate Products Delivered (Detailed Design)

� Print Invoices (Detailed Design)

� Payment Receipt (High Level Design)

� Reconcile Services Received (Detailed Design)

� Validate Cheques (Detailed Design)

� Deposit (High Level Design)

� Enter funds into Cash Account (Detailed Design)

Building an Accounting Package

Coding

Coding

� Administer Accounts Receivable (Requirements Definition)

� Send Invoices ( High Level Design)

� Accumulate Products Delivered (Detailed Design)

� Print Invoices (Detailed Design)

� Payment Receipt (High Level Design)

� Reconcile Services Received (Detailed Design)

� Validate Cheques (Detailed Design)

� Deposit (High Level Design)

� Enter funds into Cash Account (Detailed Design)

Building an Accounting Package

IT Methodology – general context

Software Development Lifecycle (SDLC) - context

SDLC Deliverables (System Analysis, Design,

Build, Test, Release)

Recap

Apply the Software Development Lifecycle for a Successful Project

Traditional “V” Diagram

QAIassist Integrated Methodology

Software Development Lifecycle (SDLC) Objectives

� Prerequisite – an official project must exist – defined and approved

� Establish a foundation for ongoing collaboration and communication between

Business/User Community and Information Technology/IT resources

� Business/User community contributes and authorizes requirements throughout

the completion of the project

� Appropriate level of documentation is created to maintain and support the

functionality in the future

� Necessary functionality is designed and built to reflect the authorized business

requirements - End Users are trained to effectively apply the solution

� Unit code successfully tested according to the authorized design and business

requirements

� Authorized unit code is made available for additional testing

Software Development Lifecycle (SDLC)Systems Analysis Phase

Software Development Lifecycle (SDLC)Design Phase

Software Development Lifecycle (SDLC)Build Phase

Software Development Lifecycle (SDLC)Test Phase

Software Development Lifecycle (SDLC)Release Phase

Software Development Lifecycle (SDLC)Entry Deliverables

Software Development Lifecycle (SDLC)Exit Deliverables

SDLC – System Analysis PhaseEntry Deliverables

SDLC - Design PhaseEntry Deliverables

SDLC - Build PhaseEntry Deliverables

SDLC - Test PhaseEntry Deliverables

SDLC - Release PhaseEntry Deliverables

SDLC – System Analysis PhaseExit Deliverables

SDLC - Design PhaseExit Deliverables

SDLC - Build PhaseExit Deliverables

SDLC - Test PhaseExit Deliverables

SDLC - Release PhaseExit Deliverables

Software Development Lifecycle (SDLC)Systems Analysis Phase

System Analysis Phase – Purpose

Ensure all members of the project team understand the scope

and objectives of the project

Ensure a formal project exists and has been authorized

Review all authorized pre-project documentation

Create High Level Definition (obtain authorization)

Establish Requirements Traceability Log

Software Development Lifecycle (SDLC)System Analysis Phase

SDLC – System Analysis PhaseEntry Deliverables

Business Case (entry)

Used to identify, document and establish a project definition. It originates

out of a business need and acts to provide a high level description of the business requirements. It is used as an entry point into the QAIassistIntegrated Methodology (project management, software development, software testing) and is referred to throughout the life of the project.

Project Charter (entry – created in PM lifecycle)

Used to establish a formal project. It is the initial deliverable prepared for

a project and defines why the project was initiated, the scope of the project, the purpose & objectives of the project, the project milestones and a high level estimate on the effort and cost associated with the project. The Project Charter acts as the “footing" for the project.

SDLC - System Analysis PhaseEntry Deliverables

Detailed Business Requirements (entry)

Used to provide clarity on the business need that is to be addressed. It

provides the project team the business parameters they will use to deliver the necessary business functionality.

Reference – Building an Accounting Package

� Administer Accounts Receivable Functionality

� Monitor Accounts Payable Functionality

� Maintain Account Balances Functionality

� Accurate Reporting Functionality

SDLC - System Analysis PhaseEntry Deliverables

SDLC – System Analysis PhaseExit Deliverables

High Level Solution Design (exit)

Used to define the boundaries of the application to be delivered. It illustrates the data and process flows, the high level functionality to be incorporated into the application, the sub-subsystems and functions required to satisfy the business needs of the application, and the standards to be applied in developing the application.

Reference - Building an Accounting Package

� Administer Accounts Receivable Functionality

� Send Invoices (High Level Solution Design)

� Payment Receipt (High Level Solution Design)

� Deposit (High Level Solution Design)

� Monitor Accounts Payable Functionality

� Maintain Account Balances Functionality

� Accurate Reporting Functionality

SDLC - System Analysis PhaseExit Deliverables

Requirements Traceability Log (exit)

Used to ensure all user defined requirements are documented and

incorporated into the application/system. It acts as the repository for all user requirements - it can be referenced and crosschecked to ensure all user requirements have been incorporated into the application before it is released into the production environment.

SDLC - System Analysis PhaseExit Deliverables

Software Development Lifecycle (SDLC)Design Phase

Design Phase – Purpose

Ensure the application is designed in accordance with the

authorized requirements defined during the System Analysis

phase

Complete the design of the application

Create specifications that reflect the authorized business

requirements

Maintain Requirements Traceability Log

SDLCDesign Phase

SDLC – Design PhaseEntry Deliverables

High Level Solution Design (entry)

Used to define the boundaries of the application to be delivered. It illustrates the data and process flows, the high level functionality to be incorporated into the application, the sub-subsystems and functions required to satisfy the business needs of the application, and the standards to be applied in developing the application.

Requirements Traceability Log (entry)

Used to ensure all user defined requirements are documented and incorporated into the application/system. It acts as the repository for all user requirements - it can be referenced and crosschecked to ensure all user requirements have been incorporated into the application before it is released into the production environment.

SDLC - Design PhaseEntry Deliverables

SDLC – Design PhaseExit Deliverables

Detailed Solution Design (exit)

These deliverable(s) are an extension of the High Level Design deliverable - each function as

defined in the High Level Solution design is further clarified with a separate and unique Detailed Solution Design deliverable. Each and all of the specific functions necessary to deliver the business requirements are identified and documented. Each of the Detailed Solution Designdeliverables address the necessary (functional, technical and administrative) activities to be incorporated into the application, the application program/modules that will provide that functionality, and the interfaces with other application functions.

Reference – Building an Accounting Package

� Administer Accounts Receivable (Requirements Definition)

� Send Invoices (High Level Solution Design)

� Accumulate Products Delivered (Detailed Solution Design)

� Print Invoices (Detailed Solution Design)

� Payment Receipt (High Level Solution Design)

� Reconcile Services Received (Detailed Solution Design)

� Validate Cheques (Detailed Solution Design)

� Deposit (High Level Solution Design)

� Enter funds into Cash Account (Detailed Solution Design)

SDLC - Design PhaseExit Deliverables

Programming Specifications (exit)

These deliverable(s) are an extension of the Detailed Solution Design deliverables - each “technical” program/module defined in a Detailed Solution Design deliverable is further clarified as a unique Programming Specification deliverable. Each Programming Specification deliverable defines the purpose and context for the program/module, the environment it will operate in, the detailed design to be incorporated into the program/module and the functionality to be delivered.

Requirements Traceability Log (exit)

Used to ensure all user defined requirements are documented and incorporated into the application/system. It acts as the repository for all user requirements -it can be referenced and crosschecked to ensure all user requirements have been incorporated into the application before it is released into the production environment.

SDLC - Design PhaseExit Deliverables

SDLC – Build PhaseEntry Deliverables

Build Phase – Purpose

Develop the required functionality according to the authorized

design and business requirements

Create the unit code the application according to the programming

specifications

Develop the User Training and Support Plan

Maintain Requirements Traceability Log

SDLCBuild Phase

SDLC – Build PhaseEntry Deliverables

Detailed Solution Design (entry)

These deliverable(s) are an extension of the High Level Design deliverable - each

function as defined in the High Level Solution design is further clarified with a separate and unique Detailed Solution Design deliverable. Each and all of the specific functions necessary to deliver the business requirements are identified and documented. Each of the Detailed Solution Design deliverables address the necessary (functional, technical and administrative) activities to be incorporated into the application, the application program/modules that will provide that functionality, and the interfaces with other application functions.

Programming Specifications (entry)

These deliverable(s) are an extension of the Detailed Solution Design deliverables

- each “technical” program/module defined in a Detailed Solution Design deliverable is further clarified as a unique Programming Specification deliverable. Each Programming Specification deliverable defines the purpose and context for the program/module, the environment it will operate in, the detailed design to be incorporated into the program/module and the functionality to be delivered.

SDLC - Build PhaseEntry Deliverables

Requirements Traceability Log (entry)

Used to ensure all user defined requirements are documented and

incorporated into the application/system. It acts as the repository for all user requirements - it can be referenced and crosschecked to ensure all user requirements have been incorporated into the application before it is released into the production environment.

SDLC - Build PhaseEntry Deliverables

SDLC – Build PhaseExit Deliverables

Code (exit)

The Programming Specification(s) are used to develop the application code. The code will incorporate the technical standards and all the necessary functionality as defined by the business requirements for each program/module.

User Training and Support Plan (exit)

This deliverable provides the description of how the end users are going to be trained in using the final application/product and the support they will receive once the application has been made operational. It specifies the methods of training, the required curriculum, the course content to be delivered, and mechanisms used to deliver the training.

SDLC - Build PhaseExit Deliverables

Requirements Traceability Log (exit)

Used to ensure all user defined requirements are documented and

incorporated into the application/system. It acts as the repository for all user requirements - it can be referenced and crosschecked to ensure all user requirements have been incorporated into the application before it is released into the production environment.

SDLC - Build PhaseExit Deliverables

SDLC – Test Phase

Test Phase – Purpose

Ensure the application has been built in accordance with the

authorized design and business requirements

Perform all unit testing according to Unit Test plans

Identify and fix all conditions that do not satisfy unit test testing

criteria

Maintain Requirements Traceability Log

SDLCTest Phase

SDLC – Test PhaseEntry Deliverables

in partnership with

Code (entry)

The Programming Specification(s) are used to develop the application code. The code will incorporate the technical standards and all the necessary functionality as defined by the business requirements for each program/module.

Unit Test Plan (entry - created in STLC)

These deliverables (one per program/module) define how all of the unit

testing activities are to be executed prior to the application/product being migrated into the System Integration Test environment. They identify the testing tasks to be completed in the UT environment, the testing standards to be applied within the UT environment, the UT testing tools to be used, the UT testing activities to be completed, and the standards used to define the UT evaluation criteria.

SDLC - Test PhaseEntry Deliverables

Unit Test Evaluation Criteria (entry - created in STLC)

These deliverables (one per program/module) are used to document the

"expected" Unit Test evaluation criteria prior to conducting the Unit Testing. This criteria is used to evaluate “expected” results versus “actual” results. Functionality that "passes" the UT tests is ready to be migrated to the System Integration Test (SIT) environment. Functionality that "fails" these Unit tests are recorded and require further activity from the project team.

Requirements Traceability Log (entry)

Used to ensure all user defined requirements are documented and

incorporated into the application/system. It acts as the repository for all user requirements - it can be referenced and crosschecked to ensure all user requirements have been incorporated into the application before it is released into the production environment.

SDLC - Test PhaseEntry Deliverables

SDLC – Test PhaseExit Deliverables

Unit Test Defect Log (exit)

This deliverable is used to document and administer all of the "failed“ unit

tests against the Unit Test Evaluation Criteria deliverables. Each "failed" test is assessed and communicated to the project team who are required to make the necessary changes to rectify the "failed“ test.

Unit Test Evaluation Criteria (exit)

These deliverables (one per program/module) are used to document the

"expected" Unit Test evaluation criteria prior to conducting the Unit Testing. This criteria is used to evaluate “expected” results versus “actual” results. Functionality that "passes" the UT tests is ready to be migrated to the System Integration Test (SIT) environment. Functionality that "fails" these Unit tests are recorded and require further activity from the project team.

SDLC - Test PhaseExit Deliverables

Requirements Traceability Log (exit)

Used to ensure all user defined requirements are documented and

incorporated into the application/system. It acts as the repository for all user requirements - it can be referenced and crosschecked to ensure all user requirements have been incorporated into the application before it is released into the production environment.

SDLC - Test PhaseExit Deliverables

SDLC – Release Phase

Release Phase – Purpose

Migrate the newly built and unit tested application for additional

testing

Maintain Requirements Traceability Log

Authorize that all necessary unit testing is complete

Migrate the application for additional (SIT, UAT) testing

SDLCRelease Phase

SDLC – Release PhaseEntry Deliverables

Requirements Traceability Log (entry)

Used to ensure all user defined requirements are documented and

incorporated into the application/system. It acts as the repository for all user requirements - it can be referenced and crosschecked to ensure all user requirements have been incorporated into the application before it is released into the production environment.

SDLC - Test PhaseEntry Deliverables

SDLC – Release PhaseEntry Deliverables

Unit Test Authorization

This deliverable signifies "approval" that all project unit coding, deliverables and work products have satisfied the required Unit Test Evaluation Criteria and can be migrated to the System Integration Test (SIT) environment. Approval of this deliverable ensures all appropriate deliverables, work products and artifacts are placed under proper configuration management and can be used as the initial basis for performing the next (SIT) level of testing.

SDLC - Release PhaseExit Deliverables

IntegrationSDLC with STLC

in partnership with

SDLC Benefits

“Project” Context

On Time – project teams are able to

scale and leverage the phases and

deliverables to effectively deliver projects

and functionality

Within Budget – familiarity and

recurring usage provides project teams a

tool they can reuse to consistently deliver

applications within budget

Built In “Quality” – structure ensures

project teams are working on the right

deliverables for the right reasons to

deliver the right solutions

®

®

SDLC Benefits

“Process Management” Context

Common IT Process – applying a

methodology to IT development and

maintenance activities contributes to a

standard organizational approach (adhering

to budget, schedule, quality, resource

flexibility)

Quality Assurance & Governance –

applying an IT methodology provides the

basis for organizational process

management - verifying and evaluating

how organizational staff are utilizing the

process

Metric – Basis for Improvement –

applying an organizational IT methodology

provides the basis for assessing its usage

and how it can be approved upon

®

®

Software Development Lifecycle (SDLC)Organizational Status

Every organization is using a SDLC process ( IT Methodology or IT Lifecycle or IT

Framework) to deliver products and/or services

� Optimized – SDLC is recognized and aligned with business objectives and routinely

delivers to operational needs and expectations – metrics for continuous

improvement

� Maximized – SDLC is recognized and aligned with business objectives and regularly

delivers to operational needs and expectations – no metrics for continuous

improvement

� Utilized – SDLC is recognized yet inconsistently applied resulting in deviations

(schedule, cost, quality) of the products/services being delivered

� Chaotic – SDLC is not recognized, process(es) are not applied

Optimized

Maximized

Utilized

Chaotic

None of the above

Your Organizational SDLC

Maturity Status ?

Until Next Session…

Keep Posing your Questions – call or send your questions in (Janelle and/or

Cameron)

Explore the QAIassist Body of Knowledge – refer to the QAIassist Body of

Knowledge (sample deliverables, whitepapers, blog articles) – (www-qaiassist.com)

QAIassist Practitioner - find out more about becoming a certified QAIassist

Practitioner

Tell your friends - tell your friends, coworkers and colleagues about the Project

Insight/QAIassist webinars – invite them to join us at the next session

Continuing Follow Up – send out a survey at the completion of every webinar,

follow up with attendees to obtain their suggestions and recommendation

2012 Schedule

The 3rd Wednesday of Every Month

� 8 11:00 Eastern Time

IT Methodology Modules

� Integrating Methodologies into an IT Landscape (Jan 2012)

� Crossing IT Methodology Over Organizations (Feb 2012)

� Why Use a PM Lifecycle & Deliverables (Mar 2012)

� Apply PM Fundamentals for a Successful Project (Apr 2012)

� Scale PM Deliverables to Benefit Your Projects (May 2012)

� Consistently Improve Your Organizational Processes (Jun 2012)

� Why Use a Software Development Lifecycle (Jul 2012)

� Apply the Software Development Lifecycle for a Successful Project (Aug 2012)

� Why Use a Software Testing Lifecycle (Sept 2012)

� Apply the ST Lifecycle for a Successful Project (Oct 2012)

� Customize an IT Methodology for Your Organization (Nov 2012)

Janelle Abaoag

Project Insight

Marketing, Public Relations

Janelle.Abaoag@projectinsight.com

www.projectinsight.net

@projectinsight

Moderator

top related