11
STSG Methodologies and Support Structure STSG Application Life Cycle Management STSG utilizes comprehensive lifecycle tools that are fully integrated and provide capabilities for most of the roles in its Application Life Cycle Management (ALM) model. STSG utilizes the following categories within its ALM model. Requirements Analysis Requirements Management Feature management Modeling Design Project Management Change management Configuration Management Software Information Management (for ALM Tool Integration) Build management Software Testing Release Management Software Deployment Issue management Monitoring and reporting Workflow These categories are depicted in the following chart:

STSG Application Life Cycle Management - … · Application Life Cycle Management Requirements Analysis STSG’s requirements analysis encompasses those tasks that go into determining

Embed Size (px)

Citation preview

STSG Methodologies and Support Structure

STSG Application Life Cycle Management

STSG utilizes comprehensive lifecycle tools that are fully integrated and provide capabilities for most of the roles in its Application Life Cycle Management (ALM) model.

STSG utilizes the following categories within its ALM model.

• Requirements Analysis • Requirements Management • Feature management • Modeling • Design • Project Management • Change management • Configuration Management • Software Information Management (for ALM Tool Integration) • Build management • Software Testing • Release Management • Software Deployment • Issue management • Monitoring and reporting

Workflow

These categories are depicted in the following chart:

Application Life Cycle Management

Requirements Analysis

STSG’s requirements analysis encompasses those tasks that go into determining the needs or conditions to meet for a new or altered product, taking account of the possible conflicting requirements of the various stakeholders, such as users.

Requirements analysis is critical to the success of STSG’s User Provisioning development project. Requirements are actionable, measurable, testable, related to identified business needs or opportunities, and defined to a level of detail sufficient for system design.

STSG’s requirements analysis is the first stage in the software development process. The Requirements Analysis flow is depicted below:

How STSG/SuProv will receive input for new features:

Requirements Analysis flow chart

Requirements Management

STSG’s requirements management is the process of identifying, eliciting, documenting, analyzing, tracing, prioritizing and agreeing on requirements and then controlling change and communicating to relevant stakeholders. It is a continuous process throughout the project.

Feature Management

As the MasterKey™ software matures in the next years, the majority of new features and how they are incorporated by our customers will be driven by, 1) current customers, 2) future

competitive customers, 3) technology breakthroughs, and 4) the integration via our partner alliances.

Modeling

STSG’s model-driven engineering is a software development methodology which focuses on creating models, or abstractions, more close to some particular domain concepts rather than computing (or algorithmic) concepts. It is meant to increase productivity by maximizing compatibility between systems, simplifying the process of design, and promoting communication between individuals and teams working on the system. The models are developed through extensive communication among product managers, designers, and members of the development team.

Design

STSG’s software design process solves and plans for the software solution. After the purpose and specifications of software are determined, STSG software developers, design or employ designers to develop a plan for a solution. This plan includes low-level component and algorithm implementation issues as well as the architectural view.

Project Management

STSG utilizes the Project Management Institutes (PMI) Project Management Methodology. This methodology provides the discipline of planning, organizing, and managing resources to bring about the successful completion of the specific project goals and objectives.

STSG’s project management is a carefully planned and organized effort to accomplish a specific objective. Project management includes developing a project plan, which includes defining and confirming the project goals and objectives, identifying tasks and how goals will be achieved, quantifying the resources needed, and determining budgets and timelines for completion. It also includes managing the implementation of the project plan, along with operating regular 'controls' to ensure that there is accurate and objective information on 'performance' relative to the plan, and the mechanisms to implement recovery actions where necessary. This methodology provides the discipline of planning, organizing, and

managing resources to bring about the successful completion of the specific project goals and objectives.

Projects usually follow major phases or stages including feasibility, definition, project planning, implementation, evaluation and support/maintenance.

The primary challenge of our project management is to achieve all of the project goals and objectives while honoring the preconceived project constraints. Typical constraints are scope, time, and budget. The following depicts the summary of the processes of the processes utilized in a typical project plan:

A summary of project concept and definition is as follows:

The concept, objectives, approach and justification of the project are properly defined, agreed and communicated.

Management-level planning maps out an overall management plan from which resources, acquisitions and sub-contracts can be identified, costed and put in place. The business case will be re-assessed to ensure the original assumptions and justification hold true. At this stage, many of the detailed management processes will be defined and instigated.

A project will pass through several stages or phases, each with a different objectives and deliverables. Typically, the phases will require different skills, structures, and resource levels. It is normal to plan, estimate and resource each phase separately (albeit overlapping the preliminary work to avoid stoppages).

Planned benefits will be assessed and monitored throughout the project - optimizing benefit should be the prime goal of the project manager.

Quality requirements and approaches will be defined and agreed during the project start-up. Typically, there will be rules that apply to the routine work of the team plus specified quality audits at the end of the phases.

Risks will be assessed at the start of the project. Contingency plans and avoiding action will be defined as appropriate. The risk management process will pro-actively monitor risks throughout the project. Risk assessments and plans will be modified as appropriate.

All participants will be encouraged to communicate potential issues for resolution. The issues management process will ensure they are considered and addressed.

The scope of the project and specific changes to the solution will be controlled through a management process with appropriate balances and controls - focused on achieving optimum overall benefit.

Versions of all deliverables will be controlled (whether temporary working papers or permanent outputs) through a configuration management process.

A documentation management process will ensure all information is available to all those who require it, and is subject to careful control over authorship, reviews and updates.

An effective team will be nurtured through appropriate initiation, training, communications, and social events.

Organizational change issues will be assessed early in the project, leading to a course of communications, events and other activities to ensure all parties affected by the change are ready and willing to change.

The need to communicate outside the team with other parts of the organization, customers, suppliers, and other parties will be assessed. A course of communications will be defined and actioned.

Large projects inevitable require a process to handle expenditure on subcontractors, equipment, software, and facilities. Project accounting will monitor and control expenditure - both as a routine management activity and as part of the overall focus on delivering optimum benefits.

Where sub-contractors are involved, there will be a management process to agree and monitor contracts.

At the end of the project, there will be several activities to transition work, processes, and deliverables to line operation. The team also need to ensure filing and documentation is in good order, leaving behind sufficient detail for the operation of the system, audits concerning the project, and as a baseline for future maintenance and development. People, equipment and facilities need to be demobilized.

After the live solution has settled down, it is normal to organize a Post Implementation Review to measure the success of the project, to see what further improvements can be made, and to learn lessons for the future.

The following diagram illustrates the planning group activities within the project plan workflow:

Planning Process Group Activities

The following chart illustrates STSG’s Project/Program Life Cycle management supporting the Application Life Cycle Process:

Lifecycle management of software development

Change Management

STSG’s change management process is the process of requesting, determining attainability, planning, implementing, and evaluating of changes to a system. It has two main goals: supporting the processing of changes and enabling traceability of changes.

Configuration Management

STSG’s configuration management (CM) focuses on establishing and maintaining consistency of the applications performance and its functional and physical attributes with its requirements, design, and operational information throughout its life. STSG’s CM can be defined as the management of security features and assurances through control of changes made to hardware, software, firmware, documentation, test, test fixtures, and test documentation throughout the life cycle of an information system.

Build Management

STSG’s build management is a critical part of its Application Lifecycle Management (ALM). STSG makes it simple to automate and manage the build process. Whether managing builds across distributed systems, mainframes, or both, STSG can help streamline, build and release process. “WARP”, which is expounded on in Section 2.2.1, is meant to proactively manage the updates, bugs, and version control to enhance the user’s experience.

Software Testing

STSG’s software testing is conducted to provide stakeholders with information about the quality of the product or service under test, with respect to the context in which it is intended to operate. Software Testing also provides an objective, independent view of the software to allow the business to appreciate and understand the risks at implementation of the software. Test techniques include, but are not limited to, the process of executing a program or application with the intent of finding software bugs.

Software Testing can also be stated as the process of validating and verifying that a software program/application/product:

1. Meets the business and technical requirements that guided its design and development;

2. Works as expected; and 3. Can be implemented with the same characteristics.

Software Testing, depending on the testing method employed, can be implemented at any time in the development process. However, most of the test effort occurs after the requirements have been defined and the coding process has been completed. As such, the methodology of the test is governed by the Software Development methodology adopted.

Different software development models will focus the test effort at different points in the development process. In a more traditional model, most of the test effort occurs after the requirements have been defined and the coding process has been completed.

Software Development

STSG’s software deployment is all of the activities that make STSG’s User Provisioning application available for use.

Because every software system is unique, the precise processes or procedures within each activity can hardly be defined. Therefore, "deployment" should be interpreted as a general process that has to be customized according to specific requirements or characteristics.

Risk/Issue Management

STSG’s risk management is the identification, assessment, and prioritization of risks followed by coordinated and economical application of resources to minimize, monitor, and control the probability and/or impact of unfortunate events. Several risk management standards have been developed including the Project Management Institute.

The strategies to manage risk include transferring the risk to another party, avoiding the risk, reducing the negative effect of the risk, and accepting some or all of the consequences of a particular risk.

Workflow

STSG’s workflow process consists of a sequence of connected steps. A workflow is a model to represent real work for further assessment, e.g., for describing a reliably repeatable sequence of operations. More abstractly, a workflow is a pattern of activity enabled by a systematic organization of resources, defined roles and mass, energy and information flows, into a work process that can be documented and learned. Workflows are designed to achieve processing intents of some sort, such as physical transformation, service provision, or information processing.

Workflow concepts are closely related to other concepts used to describe organizational structure, such as silos, functions, teams, projects, policies, and hierarchies. Workflows may be viewed as one primitive building block of organizations. The relationships among these concepts are described later in this entry.

Workflow is used in computer programming to capture and develop human-to-machine interaction. Workflow (management) software aims to provide end users with an easier way to orchestrate or describe complex processing of data in a visual form, much like flow charts but without the need to understand computers or programming.