it methodology webinar - project insightdownloads.projectinsight.net/training/it... · it...
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
www.projectinsight.net
@projectinsight
Moderator
®
®
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
www.projectinsight.net
@projectinsight
Moderator