SlideShare uma empresa Scribd logo
1 de 53
Baixar para ler offline
A Software Management Process Framework
Dr. P. Kuppusamy
A Software Management Process Framework
Table of Contents (1)
• Life-Cycle Phases
 Engineering and Production Stages
 Inception Phase
 Elaboration Phase
 Construction Phase
 Transition Phase
• Artifacts of the Process
 The Artifact Sets
 Management Artifacts
 Engineering Artifacts
 Pragmatic Artifacts
Dr. P. Kuppusamy
A Software Management Process Framework
Table of Contents (2)
• Model-based software Architectures
 Architecture: A Management Perspective
 Architecture: A Technical Perspective
• Workflows of the Process
 Software Process Workflows
 Iteration Workflows
• Checkpoints of the Process
 Major Milestones
 Minor Milestones
 Periodic Status Assessments
Dr. P. Kuppusamy
Life-Cycle Phases
LIFE-CYCLE ASPECT ENGINEERING STAGE EMPHASIS PRODUCTION STAGE
EMPHASIS
Risk reduction Schedule, technical feasibility Cost
Products Architecture baseline Product release baselines
Activities Analysis, design, planning Implementation, testing
Assessment Demonstration, inspection, analysis Testing
Economics Resolving diseconomies of scale Exploiting economics of scale
Management Planning Operations
 Two stages of the life cycle in first order:
1. The engineering stage – driven by smaller teams they are doing design and synthesis
activities
2. The production stage – driven by larger teams they are doing construction,
test, and deployment activities
Difference between two stages are:
To achieve economies of scale and higher returns on investment, must move toward a
software manufacturing process driven by technological improvements in process
automation and component-based development.
Dr. P. Kuppusamy
Engineering stage & Production Stage phases
• Engineering stage is decomposed into two distinct phases, inception and elaboration, and
the production stage into construction and transition.
• These four phases of the life-cycle process are loosely mapped to the conceptual
framework of the spiral model.
• An artifact is one of many kinds of tangible by-products produced during the development
of software.
• Some artifacts (e.g., use cases, class diagrams, and other Unified Modeling Language (UML)
models, requirements and design documents) help describe the function, architecture, and design
of software.
• In the figure, the size of the spiral corresponds to the inertia of the project with respect to the
breadth and depth of the artifacts that have been developed.
Engineering Stage Production Stage
Inception Elaboration Construction Transition
Idea Architecture Beta Releases Products
Dr. P. Kuppusamy
Engineering stage & Production Stage phases (cont..d)
• This inertia manifests itself in maintaining artifact consistency,
regression testing, documentation, quality analyses, and configuration
control.
• Increased inertia may have little, or at least very straightforward, impact
on changing any given discrete component or activity.
• However, the reaction time for accommodating major architectural
changes, major requirements changes, major planning shifts, or major
organizational perturbations clearly increases in subsequent phases.
• In most conventional life cycles, the phases are named after the primary
activity within each phase: Requirements analysis, design, coding, unit
test, integration test, and system test. Conventional software development
efforts emphasized a mostly sequential.
Dr. P. Kuppusamy
Inception Phase in Life-Cycle Phases
 Overriding goal – to achieve concurrence among stakeholders on the life-cycle
objectives
PRIMARY OBJECTIVES
• Establishing the project's software scope and boundary conditions, including an
operational concept, acceptance criteria, and a clear understanding of what is and is
not intended to be in the product.
• Discriminating the critical use cases of the system and the primary scenarios of operation
that will drive the major design trade-offs.
• Demonstrating at least one candidate architecture against some of the primary scenarios.
• Estimating the cost and schedule for the entire project
• Estimating potential risks (sources of unpredictability)
 Essential activities :
 Formulating the scope of the project (capturing the requirements and operational
concept in an information repository)
 Synthesizing the architecture (design trade-offs, problem space ambiguities, and
available solution-space assets are evaluated)
 Planning and preparing a business case (alternatives for risk management,
iteration planes, and cost/schedule/profitability trade-offs are evaluated)
Dr. P. Kuppusamy
Elaboration Phase in Life-Cycle Phases
 During the elaboration phase, an executable architecture prototype is built in one or
more iterations.
PRIMARY OBJECTIVES
• Baselining the architecture as rapidly as practical (establishing a configuration-managed
snapshot in which all changes are rationalized, tracked, and maintained)
• Baselining the vision
• Baselining a high-fidelity plan for the construction phase
• Demonstrating that the baseline architecture will support the vision at a reasonable cost in
a reasonable time
 Essential activities :
 Elaborating the vision - establishing a high-fidelity understanding of the critical
use cases that drive architectural or planning decisions.
 Elaborating the process and infrastructure - establishing the construction process,
the tools and process automation support.
 Elaborating the architecture and selecting components - lessons learned from these
activities may result in redesign of the architecture.
Dr. P. Kuppusamy
Construction Phase in Life-Cycle Phases
 During the construction phase :
• All remaining components and application features are integrated into the
application
• All features are thoroughly tested
PRIMARY OBJECTIVES
• Minimizing development costs by optimizing resources and avoiding unnecessary
scrap and rework
• Achieving adequate quality as rapidly as practical
• Achieving useful versions (alpha, beta, and other test releases) as rapidly as practical
 Essential activities :
 Resource management, control, and process optimization
 Complete component development and testing against evaluation criteria
 Assessment of the product releases against acceptance criteria of the vision
Dr. P. Kuppusamy
Transition Phase in Life-Cycle Phases
• The transition phase is entered when baseline is mature enough to be deployed in the
end-user domain
• This phase could include beta testing, conversion of operational databases, and training
of users and maintainers
PRIMARY OBJECTIVES
• Achieving user self-supportability
• Achieving stakeholder concurrence that deployment baselines are complete and
consistent with the evaluation criteria of the vision
• Achieving final product baselines as rapidly and cost-effectively as practical
Essential activities :
 Synchronization and integration of concurrent construction into consistent deployment
baselines
 Deployment-specific engineering (commercial packaging and production, field
personnel training)
 Assessment of deployment baselines against the complete vision and acceptance criteria
in the requirements set
Dr. P. Kuppusamy
Evaluation Criteria in Life-Cycle Phases
 Evaluation Criteria :
 Is the user satisfied?
 Are actual resource expenditures versus planned expenditures
acceptable?
 Each of the four phases consists of one or more iterations in which some
technical capability is produced in demonstrable form and assessed against
a set of the criteria.
 The transition from one phase to the nest maps more to a significant
business decision than to the completion of specific software activity.
Dr. P. Kuppusamy
Artifacts of the Process
Requirements
Set
1.Vision document
2.Requirements
model(s)
Design Set
1.Design model(s)
2.Test model
3.Software
architecture
description
Implementation
Set
1.Source code
baselines
2.Associated
compile-time files
3.Component
executables
Deployment
Set
1.Integrated product
executable baselines
2.Associated
run-time files
3.User manual
Management Set
Planning Artifacts Operational Artifacts
1.Work breakdown structure 5.Release descriptions
2.Business case 6.Status assessments
3.Release specifications 7.Software change order database
4.Software development plan 8.Deployment documents
9.Enviorement
• To make the development of a complete software system manageable, distinct collections
of information are organized into artifact sets.
• Each set comprises related artifacts (such as English text, C++, Java, standard document
template, standard spreadsheet template, or a UML model).
• Set represents a complete aspect of the system, cohesive information is developed and
reviewed as a single entity.
• Life-cycle software artifacts are organized into five distinct sets :
Dr. P. Kuppusamy
MANAGEMENT SET in Artifacts of the Process
• The management set captures the artifacts associated with process planning and
execution. These artifacts use ad hoc notations, including text, graphics, etc.,
required to capture the "contracts" among project personnel (project
management, architects, developers, testers, marketers, administrators), among
stakeholders (funding authority, user, software project manager, organization
manager, regulatory agency), and between project personnel and stakeholders.
• Specific artifacts included in this set are the work breakdown structure (activity
breakdown and financial tracking mechanism), the business case (cost, schedule,
profit expectations), release specifications (scope, plan, objectives for release
baselines), software development plan (project process instance), release
descriptions (results of release baselines), status assessments (periodic
snapshots of project progress), software change orders (descriptions of discrete
baseline changes), deployment documents (cutover plan, training course, sales
rollout kit), and environment (hardware and software tools, process automation,
documentation, training collateral necessary to support the execution of the
process).
Dr. P. Kuppusamy
MANAGEMENT SET in Artifacts of the Process
Management set artifacts are evaluated, assessed, and measured
through a combination of the following:
• Relevant stakeholder review
• Analysis of changes between the current version of the artifact
and previous versions (management trends and project
performance changes in terms of cost, schedule, and quality)
• Major milestone demonstrations of the balance among all artifacts
and, in particular, the accuracy of the business case and vision
artifacts.
Dr. P. Kuppusamy
ENGINEERING SETS in Artifacts of the Process
The primary mechanism for evaluating each artifact set is the transitioning of information
from set to set and maintaining a balance of understanding among the requirements, design,
implementation, and deployment artifacts.
1. Requirements Set
• Structured text is used for the vision statement that supports the contract between the
funding authority and the project team.
• Ad hoc formats may also be used for supplementary specifications (such as regulatory
requirements) and user mock ups.
• UML notation is used for engineering representations of requirements models (use case
models, domain models).
• The requirements set is the primary engineering context for evaluating the other three
engineering artifact sets and is the basis for test cases.
Requirements artifacts are evaluated, assessed, and measured through a combination of the
following:
• Analysis of consistency with the release specifications of the management set.
• Analysis of consistency between the vision and the requirements models.
• Mapping against the design, implementation, and deployment sets to evaluate the
consistency and completeness and the semantic balance between different sets.
• Analysis of changes between the current version of requirements artifacts and
previous versions (scrap, rework, and defect elimination trends).
• Subjective review of other dimensions of quality
Dr. P. Kuppusamy
ENGINEERING SETS in Artifacts of the Process
2. Design Set
• UML notation is used to engineer the design models for the solution.
• The design set represent the components of the solution space (their identities, attributes,
static relationships, dynamic interactions).
• The design models include enough structural and behavioral information to ascertain a
bill of materials (quantity and specification of primitive parts and materials, labor,
and other direct costs).
• Design model information can be automatically translated into a subset of the
implementation and deployment set artifacts.
The design set is evaluated, assessed, and measured through a combination of the
following:
• Analysis of the internal consistency and quality of the design model.
• Analysis of consistency with the requirements models.
• Translation into implementation and deployment sets and notations (for example,
traceability, source code generation, compilation, linking) to evaluate the consistency and
completeness and the semantic balance between information in the sets.
• Analysis of changes between the current version of the design model and previous
versions (scrap, rework, and defect elimination trends)
• Subjective review of other dimensions of quality.
Dr. P. Kuppusamy
ENGINEERING SETS in Artifacts of the Process
3. Implementation Set
• The implementation set includes source code (programming language notations) that
represents the tangible implementations of components (form, interface, and dependency
relationships) and any executables necessary for stand-alone testing.
• These executables are the primitive parts needed to construct the end product.
Implementation set artifacts can also be translated (compiled and linked) into a subset of
the deployment set (end-target executables).
• Specific artifacts include self-documenting product source code baselines and associated
files (compilation scripts, configuration management infrastructure, data files), test
source code (input test data files, test result files), stand-alone component executables,
and component test driver executables.
Implementation sets are human-readable formats that are evaluated, assessed, and measured
through a combination of the following:
• Analysis of consistency with the design models
• Translation into deployment set notations
• Assessment of component source or executable files against relevant evaluation criteria
through inspection, analysis, demonstration, or testing.
• Execution of stand-alone component test cases that automatically compare expected
results with actual results.
• Analysis of changes between the current version of the implementation set and previous
versions (scrap, rework, and defect elimination trends).
• Subjective review of other dimensions of quality
Dr. P. Kuppusamy
ENGINEERING SETS in Artifacts of the Process
4. Deployment Set
• The deployment set includes user deliverables and machine language notations,
executable software, and the build scripts, installation scripts, and executable target
specific data necessary to use the product in its target environment.
• These machine language notations represent the product components in the target form
intended for distribution to users.
• Deployment set information can be installed, executed against scenarios of use (tested),
and dynamically reconfigured to support the features required in the end product. Specific
artifacts include executable baselines and associated run-time files, and the user manual.
Deployment sets are evaluated, assessed, and measured as following:
• Testing against the usage scenarios and quality attributes to evaluate the consistency and
completeness and the semantic balance between information in the two sets.
• Testing the partitioning, replication, and allocation strategies in mapping components of
the implementation set to physical resources of the deployment system (platform type,
number, network topology)
• Testing against the defined usage scenarios in the user manual such as installation, user-
oriented dynamic reconfiguration, mainstream usage, and anomaly management.
• Analysis of changes between the current version of the deployment set and previous
versions (defect elimination trends, performance changes).
• Subjective review of other dimensions of quality
Dr. P. Kuppusamy
Life cycle focus on artifact set
Dr. P. Kuppusamy
Life cycle focus on artifact set
1. Management: scheduling, workflow, defect tracking, change
management, documentation, spreadsheet, resource management, and
presentation tools
2. Requirements: requirements management tools
3. Design: visual modeling tools
4. Implementation: compiler/debugger tools, code analysis tools, test
coverage analysis tools, and test management tools
5. Deployment: test coverage and test automation tools, network
management tools, commercial components (operating systems, GUIs,
DBMSs, networks, middleware), and installation tools
Dr. P. Kuppusamy
Test artifacts
• The test artifacts must be developed concurrently with the product
from inception through deployment.
• Thus, testing is a full-life-cycle activity, not a late life-cycle
activity.
• The test artifacts are communicated, engineered, and developed
within the same artifact sets as the developed product.
• The test artifacts are implemented in programmable and repeatable
formats (as software programs).
• The test artifacts are documented in the same way that the product
is documented.
• Developers of the test artifacts use the same tools, techniques, and
training as the software engineers developing the product.
Dr. P. Kuppusamy
Management Artifacts in Artifacts of the Process
 The management set includes several artifacts :
 Work Breakdown Structure – vehicle for budgeting and collecting costs.
• The software project manager must have insight into project costs and
how they are expended.
• If the WBS is structured improperly, it can drive the evolving design in
the wrong direction.
 Business Case – provides all the information necessary to determine whether
the project is worth investing in.
• It details the expected revenue, expected cost, technical and
management plans.
Dr. P. Kuppusamy
Management Artifacts in Artifacts of the Process
 Release Specifications
I. Iteration content
II. Measurable objectives
A. Evaluation criteria
B. Follow-through approach
III. Demonstration plan
A. Schedule of activities
B. Team responsibilities
IV. Operational scenarios (use cases demonstrated)
A. Demonstration procedures
B. Traceability to vision and business case
Typical release specification outline :
Two important forms of requirements :
 vision statement (or user need) - which captures the contract between the development group
and the buyer.
 evaluation criteria – defined as management-oriented requirements, which may be represented
by use cases, use case realizations or structured text representations.
Dr. P. Kuppusamy
Management Artifacts in Artifacts of the Process
 Software Development Plan – the defining document for the project’s
process.
 It must comply with the contract, comply with the organization standards,
evolve along with the design and requirements.
I. Context (scope, objectives)
II. Software development process
A. Project primitives
1. Life-cycle phases
2. Artifacts
3. Workflows
4. Checkpoints
B. Major milestone scope and content
C. Process improvement procedures
III. Software engineering environment
A. Process automation (hardware and software resource configuration)
B. Resource allocation procedures (sharing across organizations, security Access)
Dr. P. Kuppusamy
Management Artifacts in Artifacts of the Process
IV. Software change management
A. Configuration control board plan and procedures
B. Software change order definitions and procedures
C. Configuration baseline definitions and procedures
V. Software assessment
A. Metrics collection and reporting procedures
B. Risk management procedures (risk identification, tracking, and resolution)
C. Status assessment plan
D. Acceptance test plan
VI. Standards and procedures
A. Standards and procedures for technical artifacts
VII. Evolutionary appendixes
A. Minor milestone scope and content
B. Human resources (organization, staffing plan, training plan)
Dr. P. Kuppusamy
Management Artifacts in Artifacts of the Process
Release Descriptions
• Release description documents describe the results of each release, including
performance against each of the evaluation criteria in the corresponding release
specification.
• Release baselines should be accompanied by a release description document .
• It describes the evaluation criteria for that configuration baseline and provides
substantiation (through demonstration, testing, inspection, or analysis).
• The results of a post-mortem review of any release would be documented here,
including outstanding issues, recommendations for process and product
improvement, trade-offs in addressing evaluation criteria, follow-up
• actions, and similar information.
Dr. P. Kuppusamy
Management Artifacts in Artifacts of the Process
Status Assessments
• Status assessments provide periodic snapshots of project health and status, including the
software project manager's risk assessment, quality indicators, and management
indicators. Although the period may vary, the forcing function needs to persist.
• It ensures the expectations of all stakeholders (contractor, customer, user, subcontractor)
are synchronized and consistent. The periodic status assessment documents provide the
critical mechanism for managing everyone's expectations throughout the life cycle; for
addressing, communicating, and resolving management issues, technical issues, and
project risks; and for capturing project history. They are the periodic heartbeat for
management attention.
Typical status assessments should include
• A review of resources, personnel staffing,
• Financial data (cost and revenue), top 10 risks,
• Technical progress (metrics snapshots),
• Major milestone plans and results,
• Total project or product scope, action items,
• And follow-through.
Dr. P. Kuppusamy
Management Artifacts in Artifacts of the Process
Software Change Order Database
• Managing change is one of the fundamental primitives of an iterative
development process. Project can iterate for more productively.
• This flexibility increases the content, quality, and number of iterations that a
project can achieve within a given schedule. Change has been achieved in
practice through automation.
 Deployment – depending on the project, it could include several document
subsets for transitioning the product into operational status.
It could also include computer system operations manuals, software installation
manuals, plans and procedures for cutover etc.
 Environment – A robust development environment must support automation of
the development process.
It should include :
Requirements management
visual modeling
Document automation
Automated regression testing
Dr. P. Kuppusamy
Engineering Artifacts in Artifacts of the Process
 In general review, there are three engineering artifacts :
1. Vision document – supports the contract between the funding
authority and the development organization.
 It is written from the user’s perspective, focusing on the essential
features of the system.
 It should contain at least two appendixes – the first appendix should
describe the operational concept using use cases, the second should
describe the change risks inherent in the vision statement.
2. Architecture Description – it is extracted from the design model and
includes views of the design, implementation, and deployment sets
sufficient to understand how the operational concept of the
requirements set will be achieved.
Dr. P. Kuppusamy
Engineering Artifacts in Artifacts of the Process
3. Software User Manual – it should include installation procedures, usage procedures and
guidance, operational constraints, and a user interface description.
 It should be written by members of the test team, who are more likely to understand the
user’s perspective than the development team.
 It also provides a necessary basis for test plans and test cases, and for construction of
automated test suites.
I. Architecture overview
A. Objectives
B. Constraints
C. Freedoms
II. Architecture views
A. Design view
B. Process view
C. Component view
D. Deployment view
III. Architectural interactions
A. Operational concept under primary
scenarios
B. Operational concept under secondary
scenarios
C. Operational concept under anomalous
scenarios
IV. Architecture performance
V. Rationale, trade-offs, and other
substantiation
Typical architecture description outline :
Dr. P. Kuppusamy
Pragmatic Artifacts in Artifacts of the Process
 Over the past 30 years, the quality of documents become more important
than the quality of the engineering information they represented.
 The reviewer must be knowledgeable in the engineering notation.
 Human-readable engineering artifacts should use rigorous notations
that are complete, consistent, and used in a self-documenting
manner.
 Paper is tangible, electronic artifacts are too easy to change.
Stakeholders prefer paper documents is that once they are delivered,
they are tangible, static, and persistent. On-line and Web-based
artifacts can be changed easily and are viewed with more skepticism
because of their inherent volatility.
 Short documents are more useful than long ones.
Dr. P. Kuppusamy
Model-Based Software Architectures
A Management Perspective
 From a management perspective, there are three different
aspects of an architecture :
 An architecture (the intangible design concept) is the design of
software system, as opposed to design of a component.
 An architecture baseline (the tangible artifacts) is a slice of
information across the engineering artifact sets sufficient to satisfy all
stakeholders that the vision can be achieved within the parameters
of the business case (cost, profit, time, people).
 An architecture description (a human-readable representation of
an architecture) is an organizes subsets of information extracted from
the design set model.
Dr. P. Kuppusamy
Model-Based Software Architectures
A Management Perspective
 The importance of software architecture can be summarized as follows:
 Architecture representations provide a basis for balancing the trade-offs
between the problem space and the solution space.
 Poor architectures and immature processes are often given as reasons for
project failures.
 A mature process, an understanding of the primary requirements, and a
demonstrable architecture are important prerequisites for predictable planning.
Architecture development and process definition are the intellectual steps that
map the problem to a solution without violating the constraints.
Dr. P. Kuppusamy
Model-Based Software Architectures
A Technical Perspective
An architecture is described through several views,
which are extracts of design models that capture the
significant structures, collaborations, and behaviors.
Architecture
Description
Document
Design view
Process view
Use case view
Component view
Deployment view
Other views (optional)
Design
View
Process
View
Component
View
Deployment
View
Use Case
View
The model which draws on the foundation of architecture developed at Rational
Software Corporation for Philippe Kruchten’s concepts of software architecture :
Dr. P. Kuppusamy
Model-Based Software Architectures
A Technical Perspective
 The use case view describes how the system’s critical use cases are realized
by elements of the design model.
It is modeled statically using case diagrams, and dynamically using any of the
UML behavioral diagrams.
 The design view addresses the basic structure and the functionality of the
solution. It is modeled statically using use case diagrams, and dynamically
using any of the UML behavioral diagrams.
 The process view addresses the run-time collaboration issues involved in
executing the architecture on a distributed deployment model, including the
logical software network topology, interprocess communication and state
management.
 The component view describes the architecturally significant elements of
the implementation set and addresses the software source code realization of
the system from perspective of the project's integrators and developers.
 The deployment view addresses the executable realization of the system,
including the allocation of logical processes in the distribution view to physical
resources of the deployment network.
Dr. P. Kuppusamy
Software Process Workflows
 There are seven top-level workflows:
1. Management workflow: controlling the process and ensuring win conditions
for all stakeholders
2. Environment workflow: automating the process and evolving the maintenance
environment
3. Requirements workflow: analyzing the problem space and evolving the
requirements artifacts
4. Design workflow: modeling the solution and evolving the architecture and
design artifacts
5. Implementation workflow: programming the components and evolving the
implementation and deployment artifacts
6. Assessment workflow: assessing the trends in process and product quality
7. Deployment workflow: transitioning the end products to the user
 The term workflow is used to mean a thread of cohesive and most sequential activities.
Dr. P. Kuppusamy
Software Process Workflows
1. Architecture-first approach: implementing and testing the architecture must precede
full-scale development, and the downstream focus on completeness and quality of the
product features.
2. Iterative life-cycle process: the activities and artifacts of any given workflow may
require more than one pass to achieve adequate results.
3. Roundtrip engineering: Raising the environment activities to a first-class workflow is
critical; the environment is the tangible embodiment of the project’s process and
notations for producing the artifacts.
4. Demonstration-based approach: Implementation and assessment activities are initiated
nearly in the life-cycle, reflecting the emphasis on constructing executable subsets of
the involving architecture.
 Four basic key principles:
Dr. P. Kuppusamy
Iteration Workflows
Management
Requirements
Design
Implementation
Assessment
Deployment
Results for the next
iteration
Allocated
usage scenarios
Results from the
Previous iteration
 An iteration consist of sequential set of activities in various proportions, depending on
where the iteration is located in the development cycle.
An individual iteration’s workflow:
Dr. P. Kuppusamy
Iteration Workflows
Management: Iteration planning to determine the content of the release and
develop the detailed plan for the iteration; assignment of work packages, or tasks,
to the development team.
Environment: Evolving the software change order database to reflect all new
baselines and changes to existing baselines for all product, test, and environment
components
Requirements: Analyzing the baseline plan, the baseline architecture, and the
baseline requirements set artifacts to fully elaborate the use cases to be
demonstrated at the end of this iteration and their evaluation criteria; updating any
requirements set artifacts to reflect changes necessitated by results of this iteration's
engineering activities.
Design: Evolving the baseline architecture and the baseline design set artifacts to
elaborate fully the design model and test model components necessary to
demonstrate against the evaluation criteria allocated to this iteration; updating
design set artifacts to reflect changes necessitated by the results of this iteration's
engineering activities. Dr. P. Kuppusamy
Iteration Workflows
Implementation: Developing or acquiring any new components, and enhancing or
modifying any existing components, to demonstrate the evaluation criteria
allocated to this iteration; integrating and testing all new and modified components
with existing baselines (previous versions).
Assessment: Evaluating the results of the iteration, including compliance with the
allocated evaluation criteria and the quality of the current baselines; identifying any
rework required and determining whether it should be performed before
deployment of this release or allocated to the next release; assessing results to
improve the basis of the subsequent iteration's plan.
Deployment: Transitioning the release either to an external organization (such as a
user, independent verification and validation contractor, or regulatory agency) or to
internal closure by conducting a post-mortem so that lessons learned can be
captured and reflected in the next iteration
Dr. P. Kuppusamy
Iteration Workflows - Different activities across the
life cycle
Management
Requirements
Design
Implementation
Assessment
Deployment
Management
Requirements
Design
Implementation
Assessment
Deployment
Management
Requirements
Design
Implementation
Assessment
Deployment
Inception and Elaboration Phases Construction Phase
Transition Phase
Dr. P. Kuppusamy
Iteration Workflows - Different activities across the
life cycle
As with any sequence of a software development workflow, many of the
activities occur concurrently.
For example, requirements analysis is not done all in one continuous
lump; it intermingles with management, design, implementation, and so
forth.
Iterations in the inception and elaboration phases focus on management,
requirements, and design activities.
Iterations in the construction phase focus on design, implementation, and
assessment.
Iterations in the transition phase focus on assessment and deployment.
These descriptions are pretty simplistic.
In practice, the various sequences and overlaps among iterations become
more complex. The terms iteration and increment deal with some of the
pragmatic considerations. An iteration represents the state of the overall
architecture and the complete deliverable system.
Dr. P. Kuppusamy
Checkpoints of the Process
 It is important to have visible milestones in the life cycle, where various
stakeholders meet to discuss progress and planes.
 The purpose of this events is to:
 Synchronize stakeholder expectations and achieve concurrence on the
requirements, the design, and the plan.
 Synchronize related artifacts into a consistent and balanced state
 Identify the important risks, issues, and out - of - tolerance conditions
Perform a global assessment for the whole life-cycle.
Dr. P. Kuppusamy
Checkpoints of the Process
1. Major milestones – provide visibility to system wide issues, synchronize the
management and engineering perspectives, and verify that the aim of the
phase have been achieved.
 Three types of joint management reviews are conducted throughout the
process:
3. Status assessments – These periodic events provide management with
frequent and regular insight into the progress being made.
2. Minor milestones – These iteration-focused events, conducted to review
the content of an iteration in detail and to authorize continued work.
Dr. P. Kuppusamy
Major milestones
• Four major milestones occur at the transition points between life-cycle phases.
In an iterative model, the major milestones are used to achieve concurrence
among all stakeholders on the current state of the project.
Different stakeholders have very different concerns:
• Customers: schedule and budget estimates, feasibility, risk assessment,
requirements understanding, progress, product line compatibility.
• Users: consistency with requirements and usage scenarios, potential for
accommodating growth, quality attributes.
• Architects and systems engineers: product line compatibility, requirements
changes, trade-off analyses, completeness and consistency, balance among risk,
quality, and usability.
• Developers: sufficiency of requirements detail and usage scenario descriptions,
frameworks for component selection or development, resolution of
development risk, product line compatibility, sufficiency of the development
environment.
Dr. P. Kuppusamy
Major milestones
• Maintainers: Sufficiency of product and documentation artifacts,
understandability, interoperability with existing systems, sufficiency of
maintenance environment.
• Others: Possibly many other perspectives by stakeholders such as regulatory
agencies, independent verification and validation contractors, venture capital
investors, subcontractors, associate contractors, and sales and marketing teams.
General status of plans, requirements, and products across the major milestones:
MILESTONES PLANS UNDERSTANDING
OF PROBLEM SPACE
(REQUIREMENTS)
SOLUTION SPACE
PROGRESS
(SOFTWARE
PRODUCT)
Life-cycle
objectives
milestone
• Definition of
stakeholder
responsibilities
• Low-fidelity life-
cycle plan
• High-fidelity
elaboration phase
plan
• Baseline vision,
including growth
vectors, quality
attributes, and
priorities
• Use case model
• Demonstration of at least
one feasible architecture
• Make/buy/reuse trade-
offs
• Initial design model
Dr. P. Kuppusamy
General status of plans, requirements, and products across the major milestones:
MILESTONES PLANS UNDERSTANDING
OF PROBLEM SPACE
(REQUIREMENTS)
SOLUTION SPACE
PROGRESS
(SOFTWARE
PRODUCT)
Life-cycle
architecture
milestone
• High-fidelity
construction
phase plan (bill
of materials,
labor allocation)
• Low-fidelity
transition phase
plan
• Stable vision and
use case model
• Evaluation criteria
for construction
releases, initial
operational
capability
• Draft user manual
• Stable design set
• Make/buy/reuse
• Critical component
Prototypes
Initial
operational
capability
milestone
• High-fidelity
transition phase
plan
• Acceptance criteria
for product release
• Releasable user
manual
• Stable
implementation set
• Critical features and
core capabilities
• Objective insight into
product qualities
Product
release
milestone
• Next-generation
product plan
• Final user manual • Stable deployment set
• Full features
• Compliant quality
Dr. P. Kuppusamy
MINOR MILESTONES
The number of iteration-specific, informal milestones needed depends on the
content and length of the iteration. For most iterations, which have a one-month
to six-month duration.
Two minor milestones are needed:
1. iteration readiness review and 2. iteration assessment review.
• Iteration Readiness Review: It is conducted at the start of each iteration to
review the detailed iteration plan and the evaluation criteria that have been
allocated to this iteration.
• Iteration Assessment Review: It is conducted at the end of each iteration to
assess the degree to which the iteration achieved its objectives and satisfied its
evaluation criteria, to review iteration results, to review qualification test results
(if part of the iteration), to determine (amount of rework to be done), and to
review the impact of the iteration results on the plan for subsequent iterations.
Dr. P. Kuppusamy
Typical minor milestones in the life cycle of an iteration
The format and content of these minor milestones highly dependent on the project
and organizational culture.
Dr. P. Kuppusamy
PERIODIC STATUS ASSESSMENTS
• Periodic status assessments are management reviews conducted at regular
intervals (monthly, quarterly) to address progress and quality indicators, ensure
continuous attention to project dynamics, and maintain open communications
among all stakeholders.
• The objective of these assessments is to ensure that the expectations of all
stakeholders (contractor, customer, user, subcontractor) are synchronized and
consistent.
• Periodic status assessments serve as project snapshots. While the period may
vary, the recurring event forces the project history to be captured and
documented.
Status assessments provide the following:
• A mechanism for openly addressing, communicating, and resolving management
issues, technical issues, and project risks
• Objective data derived directly from on-going activities and evolving product
configurations
• A mechanism for disseminating process, progress, quality trends, practices, and
experience information to and from all stakeholders in an open forum
Dr. P. Kuppusamy
PERIODIC STATUS ASSESSMENTS
• Recurring themes from unsuccessful projects include following status
assessments:
1. high-overhead activities, because the work associated with generating
the status is separate from the everyday work, and
2. frequently canceled, because of higher priority issues that require
resolution.
• Recurring themes from successful projects include following status
assessments:
(1) low-overhead activities, because the material already exists as
everyday management data, and
(2) rarely canceled, because they are considered too important.
• Periodic status assessments are crucial for focusing continuous attention on the
evolving health of the project and its dynamic priorities.
• They force the software project manager to collect and review the data
periodically, force outside peer review, and encourage dissemination of best
practices to and from other stakeholders.
Dr. P. Kuppusamy
PERIODIC STATUS ASSESSMENTS
• Default content of status assessment reviews:
Dr. P. Kuppusamy
Reference Book
• Software Project Management, Walker Rayce, PEA.
Dr. P. Kuppusamy

Mais conteúdo relacionado

Mais procurados

Intro to Airflow: Goodbye Cron, Welcome scheduled workflow management
Intro to Airflow: Goodbye Cron, Welcome scheduled workflow managementIntro to Airflow: Goodbye Cron, Welcome scheduled workflow management
Intro to Airflow: Goodbye Cron, Welcome scheduled workflow managementBurasakorn Sabyeying
 
Software Project Management Lab Manual Lab 1
Software Project Management Lab  Manual  Lab 1Software Project Management Lab  Manual  Lab 1
Software Project Management Lab Manual Lab 1sundas Shabbir
 
Introduction to Software Project Management
Introduction to Software Project ManagementIntroduction to Software Project Management
Introduction to Software Project ManagementReetesh Gupta
 
Basic concept of process
Basic concept of processBasic concept of process
Basic concept of processNabin Dahal
 
Apache Airflow | What Is An Operator
Apache Airflow | What Is An OperatorApache Airflow | What Is An Operator
Apache Airflow | What Is An OperatorMarc Lamberti
 
Insights on the configuration and performances of SOME/IP Service Discovery
Insights on the configuration and performances of SOME/IP Service DiscoveryInsights on the configuration and performances of SOME/IP Service Discovery
Insights on the configuration and performances of SOME/IP Service DiscoveryNicolas Navet
 
Introducing Apache Airflow and how we are using it
Introducing Apache Airflow and how we are using itIntroducing Apache Airflow and how we are using it
Introducing Apache Airflow and how we are using itBruno Faria
 
Agile Software Development Life Cycle
Agile Software Development Life CycleAgile Software Development Life Cycle
Agile Software Development Life CycleUTKARSHSRIVASTAVA235
 
Kafka Summit SF 2017 - Best Practices for Running Kafka on Docker Containers
Kafka Summit SF 2017 - Best Practices for Running Kafka on Docker ContainersKafka Summit SF 2017 - Best Practices for Running Kafka on Docker Containers
Kafka Summit SF 2017 - Best Practices for Running Kafka on Docker Containersconfluent
 
Software engineering project management
Software engineering project managementSoftware engineering project management
Software engineering project managementjhudyne
 
Software Engineering - chp8- deployment
Software Engineering - chp8- deploymentSoftware Engineering - chp8- deployment
Software Engineering - chp8- deploymentLilia Sfaxi
 
Build Low-Latency Applications in Rust on ScyllaDB
Build Low-Latency Applications in Rust on ScyllaDBBuild Low-Latency Applications in Rust on ScyllaDB
Build Low-Latency Applications in Rust on ScyllaDBScyllaDB
 
The Ultimate Logging Architecture - You KNOW you want it!
The Ultimate Logging Architecture - You KNOW you want it!The Ultimate Logging Architecture - You KNOW you want it!
The Ultimate Logging Architecture - You KNOW you want it!Michele Leroux Bustamante
 
Systems Monitoring with Prometheus (Devops Ireland April 2015)
Systems Monitoring with Prometheus (Devops Ireland April 2015)Systems Monitoring with Prometheus (Devops Ireland April 2015)
Systems Monitoring with Prometheus (Devops Ireland April 2015)Brian Brazil
 
Analytics for software development
Analytics for software developmentAnalytics for software development
Analytics for software developmentThomas Zimmermann
 

Mais procurados (20)

Processes and threads
Processes and threadsProcesses and threads
Processes and threads
 
Intro to Airflow: Goodbye Cron, Welcome scheduled workflow management
Intro to Airflow: Goodbye Cron, Welcome scheduled workflow managementIntro to Airflow: Goodbye Cron, Welcome scheduled workflow management
Intro to Airflow: Goodbye Cron, Welcome scheduled workflow management
 
Software Project Management Lab Manual Lab 1
Software Project Management Lab  Manual  Lab 1Software Project Management Lab  Manual  Lab 1
Software Project Management Lab Manual Lab 1
 
Introduction to Software Project Management
Introduction to Software Project ManagementIntroduction to Software Project Management
Introduction to Software Project Management
 
Basic concept of process
Basic concept of processBasic concept of process
Basic concept of process
 
Apache Airflow | What Is An Operator
Apache Airflow | What Is An OperatorApache Airflow | What Is An Operator
Apache Airflow | What Is An Operator
 
Insights on the configuration and performances of SOME/IP Service Discovery
Insights on the configuration and performances of SOME/IP Service DiscoveryInsights on the configuration and performances of SOME/IP Service Discovery
Insights on the configuration and performances of SOME/IP Service Discovery
 
Introducing Apache Airflow and how we are using it
Introducing Apache Airflow and how we are using itIntroducing Apache Airflow and how we are using it
Introducing Apache Airflow and how we are using it
 
Agile Software Development Life Cycle
Agile Software Development Life CycleAgile Software Development Life Cycle
Agile Software Development Life Cycle
 
Kafka Summit SF 2017 - Best Practices for Running Kafka on Docker Containers
Kafka Summit SF 2017 - Best Practices for Running Kafka on Docker ContainersKafka Summit SF 2017 - Best Practices for Running Kafka on Docker Containers
Kafka Summit SF 2017 - Best Practices for Running Kafka on Docker Containers
 
CS6601 DISTRIBUTED SYSTEMS
CS6601 DISTRIBUTED SYSTEMSCS6601 DISTRIBUTED SYSTEMS
CS6601 DISTRIBUTED SYSTEMS
 
Software engineering project management
Software engineering project managementSoftware engineering project management
Software engineering project management
 
Software Engineering - chp8- deployment
Software Engineering - chp8- deploymentSoftware Engineering - chp8- deployment
Software Engineering - chp8- deployment
 
Software project management 3
Software project management 3Software project management 3
Software project management 3
 
Build Low-Latency Applications in Rust on ScyllaDB
Build Low-Latency Applications in Rust on ScyllaDBBuild Low-Latency Applications in Rust on ScyllaDB
Build Low-Latency Applications in Rust on ScyllaDB
 
The Ultimate Logging Architecture - You KNOW you want it!
The Ultimate Logging Architecture - You KNOW you want it!The Ultimate Logging Architecture - You KNOW you want it!
The Ultimate Logging Architecture - You KNOW you want it!
 
Airflow 101
Airflow 101Airflow 101
Airflow 101
 
Systems Monitoring with Prometheus (Devops Ireland April 2015)
Systems Monitoring with Prometheus (Devops Ireland April 2015)Systems Monitoring with Prometheus (Devops Ireland April 2015)
Systems Monitoring with Prometheus (Devops Ireland April 2015)
 
Flink Streaming
Flink StreamingFlink Streaming
Flink Streaming
 
Analytics for software development
Analytics for software developmentAnalytics for software development
Analytics for software development
 

Semelhante a Software management framework

Rational unified process lecture-5
Rational unified process lecture-5Rational unified process lecture-5
Rational unified process lecture-5MujiAhsan
 
Lect6 life cycle phases
Lect6 life cycle phasesLect6 life cycle phases
Lect6 life cycle phasesmeena466141
 
Rational Unified Process
Rational Unified ProcessRational Unified Process
Rational Unified ProcessKumar
 
Chapter 1,2,3,4 notes
Chapter 1,2,3,4 notesChapter 1,2,3,4 notes
Chapter 1,2,3,4 notesAruna M
 
vnd.openxmlformats-officedocument.presentationml.presentation&rendition=1.pptx
vnd.openxmlformats-officedocument.presentationml.presentation&rendition=1.pptxvnd.openxmlformats-officedocument.presentationml.presentation&rendition=1.pptx
vnd.openxmlformats-officedocument.presentationml.presentation&rendition=1.pptxKrishna20539
 
Lect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPMLect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPMMubashir Ali
 
Unified modeling language basics and slides
Unified modeling language basics and slidesUnified modeling language basics and slides
Unified modeling language basics and slidesvenkatasubramanianSr5
 
04. Project Management
04. Project Management04. Project Management
04. Project ManagementBhuWan Khadka
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2Rupesh Vaishnav
 
GSEP - PROCESS AND CHECKPOINT
GSEP - PROCESS AND CHECKPOINTGSEP - PROCESS AND CHECKPOINT
GSEP - PROCESS AND CHECKPOINTAlex Himmelberg
 
Software Development Lifecycle: What works for you?
Software Development Lifecycle: What works for you?Software Development Lifecycle: What works for you?
Software Development Lifecycle: What works for you?Jauhari Ismail
 
Spm life cycle phase
Spm life cycle phaseSpm life cycle phase
Spm life cycle phasegollasaidulu1
 

Semelhante a Software management framework (20)

Rational unified process lecture-5
Rational unified process lecture-5Rational unified process lecture-5
Rational unified process lecture-5
 
Lect6 life cycle phases
Lect6 life cycle phasesLect6 life cycle phases
Lect6 life cycle phases
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
ID, UP, & RUP.pptx
ID, UP, & RUP.pptxID, UP, & RUP.pptx
ID, UP, & RUP.pptx
 
Rational Unified Process
Rational Unified ProcessRational Unified Process
Rational Unified Process
 
Unified process
Unified processUnified process
Unified process
 
Rup
RupRup
Rup
 
Chapter 1,2,3,4 notes
Chapter 1,2,3,4 notesChapter 1,2,3,4 notes
Chapter 1,2,3,4 notes
 
Rup
RupRup
Rup
 
vnd.openxmlformats-officedocument.presentationml.presentation&rendition=1.pptx
vnd.openxmlformats-officedocument.presentationml.presentation&rendition=1.pptxvnd.openxmlformats-officedocument.presentationml.presentation&rendition=1.pptx
vnd.openxmlformats-officedocument.presentationml.presentation&rendition=1.pptx
 
Lect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPMLect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPM
 
Unified modeling language basics and slides
Unified modeling language basics and slidesUnified modeling language basics and slides
Unified modeling language basics and slides
 
04. Project Management
04. Project Management04. Project Management
04. Project Management
 
Spm unit 3
Spm unit 3Spm unit 3
Spm unit 3
 
Life Cycle Phases
Life Cycle PhasesLife Cycle Phases
Life Cycle Phases
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2
 
GSEP - PROCESS AND CHECKPOINT
GSEP - PROCESS AND CHECKPOINTGSEP - PROCESS AND CHECKPOINT
GSEP - PROCESS AND CHECKPOINT
 
Software Development Lifecycle: What works for you?
Software Development Lifecycle: What works for you?Software Development Lifecycle: What works for you?
Software Development Lifecycle: What works for you?
 
what-is-devops.ppt
what-is-devops.pptwhat-is-devops.ppt
what-is-devops.ppt
 
Spm life cycle phase
Spm life cycle phaseSpm life cycle phase
Spm life cycle phase
 

Mais de Kuppusamy P

Recurrent neural networks rnn
Recurrent neural networks   rnnRecurrent neural networks   rnn
Recurrent neural networks rnnKuppusamy P
 
Image segmentation
Image segmentationImage segmentation
Image segmentationKuppusamy P
 
Image enhancement
Image enhancementImage enhancement
Image enhancementKuppusamy P
 
Feature detection and matching
Feature detection and matchingFeature detection and matching
Feature detection and matchingKuppusamy P
 
Image processing, Noise, Noise Removal filters
Image processing, Noise, Noise Removal filtersImage processing, Noise, Noise Removal filters
Image processing, Noise, Noise Removal filtersKuppusamy P
 
Flowchart design for algorithms
Flowchart design for algorithmsFlowchart design for algorithms
Flowchart design for algorithmsKuppusamy P
 
Algorithm basics
Algorithm basicsAlgorithm basics
Algorithm basicsKuppusamy P
 
Problem solving using Programming
Problem solving using ProgrammingProblem solving using Programming
Problem solving using ProgrammingKuppusamy P
 
Parts of Computer, Hardware and Software
Parts of Computer, Hardware and Software Parts of Computer, Hardware and Software
Parts of Computer, Hardware and Software Kuppusamy P
 
Java methods or Subroutines or Functions
Java methods or Subroutines or FunctionsJava methods or Subroutines or Functions
Java methods or Subroutines or FunctionsKuppusamy P
 
Java iterative statements
Java iterative statementsJava iterative statements
Java iterative statementsKuppusamy P
 
Java conditional statements
Java conditional statementsJava conditional statements
Java conditional statementsKuppusamy P
 
Java introduction
Java introductionJava introduction
Java introductionKuppusamy P
 
Logistic regression in Machine Learning
Logistic regression in Machine LearningLogistic regression in Machine Learning
Logistic regression in Machine LearningKuppusamy P
 
Anomaly detection (Unsupervised Learning) in Machine Learning
Anomaly detection (Unsupervised Learning) in Machine LearningAnomaly detection (Unsupervised Learning) in Machine Learning
Anomaly detection (Unsupervised Learning) in Machine LearningKuppusamy P
 
Machine Learning Performance metrics for classification
Machine Learning Performance metrics for classificationMachine Learning Performance metrics for classification
Machine Learning Performance metrics for classificationKuppusamy P
 

Mais de Kuppusamy P (20)

Recurrent neural networks rnn
Recurrent neural networks   rnnRecurrent neural networks   rnn
Recurrent neural networks rnn
 
Deep learning
Deep learningDeep learning
Deep learning
 
Image segmentation
Image segmentationImage segmentation
Image segmentation
 
Image enhancement
Image enhancementImage enhancement
Image enhancement
 
Feature detection and matching
Feature detection and matchingFeature detection and matching
Feature detection and matching
 
Image processing, Noise, Noise Removal filters
Image processing, Noise, Noise Removal filtersImage processing, Noise, Noise Removal filters
Image processing, Noise, Noise Removal filters
 
Flowchart design for algorithms
Flowchart design for algorithmsFlowchart design for algorithms
Flowchart design for algorithms
 
Algorithm basics
Algorithm basicsAlgorithm basics
Algorithm basics
 
Problem solving using Programming
Problem solving using ProgrammingProblem solving using Programming
Problem solving using Programming
 
Parts of Computer, Hardware and Software
Parts of Computer, Hardware and Software Parts of Computer, Hardware and Software
Parts of Computer, Hardware and Software
 
Strings in java
Strings in javaStrings in java
Strings in java
 
Java methods or Subroutines or Functions
Java methods or Subroutines or FunctionsJava methods or Subroutines or Functions
Java methods or Subroutines or Functions
 
Java arrays
Java arraysJava arrays
Java arrays
 
Java iterative statements
Java iterative statementsJava iterative statements
Java iterative statements
 
Java conditional statements
Java conditional statementsJava conditional statements
Java conditional statements
 
Java data types
Java data typesJava data types
Java data types
 
Java introduction
Java introductionJava introduction
Java introduction
 
Logistic regression in Machine Learning
Logistic regression in Machine LearningLogistic regression in Machine Learning
Logistic regression in Machine Learning
 
Anomaly detection (Unsupervised Learning) in Machine Learning
Anomaly detection (Unsupervised Learning) in Machine LearningAnomaly detection (Unsupervised Learning) in Machine Learning
Anomaly detection (Unsupervised Learning) in Machine Learning
 
Machine Learning Performance metrics for classification
Machine Learning Performance metrics for classificationMachine Learning Performance metrics for classification
Machine Learning Performance metrics for classification
 

Último

Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxVishalSingh1417
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17Celine George
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.pptRamjanShidvankar
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the ClassroomPooky Knightsmith
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxJisc
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxEsquimalt MFRC
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsKarakKing
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxVishalSingh1417
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxcallscotland1987
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...Poonam Aher Patil
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfSherif Taha
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and ModificationsMJDuyan
 
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdfVishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdfssuserdda66b
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...Nguyen Thanh Tu Collection
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...ZurliaSoop
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structuredhanjurrannsibayan2
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfNirmal Dwivedi
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsMebane Rash
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.MaryamAhmad92
 

Último (20)

Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptx
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdfVishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 

Software management framework

  • 1. A Software Management Process Framework Dr. P. Kuppusamy
  • 2. A Software Management Process Framework Table of Contents (1) • Life-Cycle Phases  Engineering and Production Stages  Inception Phase  Elaboration Phase  Construction Phase  Transition Phase • Artifacts of the Process  The Artifact Sets  Management Artifacts  Engineering Artifacts  Pragmatic Artifacts Dr. P. Kuppusamy
  • 3. A Software Management Process Framework Table of Contents (2) • Model-based software Architectures  Architecture: A Management Perspective  Architecture: A Technical Perspective • Workflows of the Process  Software Process Workflows  Iteration Workflows • Checkpoints of the Process  Major Milestones  Minor Milestones  Periodic Status Assessments Dr. P. Kuppusamy
  • 4. Life-Cycle Phases LIFE-CYCLE ASPECT ENGINEERING STAGE EMPHASIS PRODUCTION STAGE EMPHASIS Risk reduction Schedule, technical feasibility Cost Products Architecture baseline Product release baselines Activities Analysis, design, planning Implementation, testing Assessment Demonstration, inspection, analysis Testing Economics Resolving diseconomies of scale Exploiting economics of scale Management Planning Operations  Two stages of the life cycle in first order: 1. The engineering stage – driven by smaller teams they are doing design and synthesis activities 2. The production stage – driven by larger teams they are doing construction, test, and deployment activities Difference between two stages are: To achieve economies of scale and higher returns on investment, must move toward a software manufacturing process driven by technological improvements in process automation and component-based development. Dr. P. Kuppusamy
  • 5. Engineering stage & Production Stage phases • Engineering stage is decomposed into two distinct phases, inception and elaboration, and the production stage into construction and transition. • These four phases of the life-cycle process are loosely mapped to the conceptual framework of the spiral model. • An artifact is one of many kinds of tangible by-products produced during the development of software. • Some artifacts (e.g., use cases, class diagrams, and other Unified Modeling Language (UML) models, requirements and design documents) help describe the function, architecture, and design of software. • In the figure, the size of the spiral corresponds to the inertia of the project with respect to the breadth and depth of the artifacts that have been developed. Engineering Stage Production Stage Inception Elaboration Construction Transition Idea Architecture Beta Releases Products Dr. P. Kuppusamy
  • 6. Engineering stage & Production Stage phases (cont..d) • This inertia manifests itself in maintaining artifact consistency, regression testing, documentation, quality analyses, and configuration control. • Increased inertia may have little, or at least very straightforward, impact on changing any given discrete component or activity. • However, the reaction time for accommodating major architectural changes, major requirements changes, major planning shifts, or major organizational perturbations clearly increases in subsequent phases. • In most conventional life cycles, the phases are named after the primary activity within each phase: Requirements analysis, design, coding, unit test, integration test, and system test. Conventional software development efforts emphasized a mostly sequential. Dr. P. Kuppusamy
  • 7. Inception Phase in Life-Cycle Phases  Overriding goal – to achieve concurrence among stakeholders on the life-cycle objectives PRIMARY OBJECTIVES • Establishing the project's software scope and boundary conditions, including an operational concept, acceptance criteria, and a clear understanding of what is and is not intended to be in the product. • Discriminating the critical use cases of the system and the primary scenarios of operation that will drive the major design trade-offs. • Demonstrating at least one candidate architecture against some of the primary scenarios. • Estimating the cost and schedule for the entire project • Estimating potential risks (sources of unpredictability)  Essential activities :  Formulating the scope of the project (capturing the requirements and operational concept in an information repository)  Synthesizing the architecture (design trade-offs, problem space ambiguities, and available solution-space assets are evaluated)  Planning and preparing a business case (alternatives for risk management, iteration planes, and cost/schedule/profitability trade-offs are evaluated) Dr. P. Kuppusamy
  • 8. Elaboration Phase in Life-Cycle Phases  During the elaboration phase, an executable architecture prototype is built in one or more iterations. PRIMARY OBJECTIVES • Baselining the architecture as rapidly as practical (establishing a configuration-managed snapshot in which all changes are rationalized, tracked, and maintained) • Baselining the vision • Baselining a high-fidelity plan for the construction phase • Demonstrating that the baseline architecture will support the vision at a reasonable cost in a reasonable time  Essential activities :  Elaborating the vision - establishing a high-fidelity understanding of the critical use cases that drive architectural or planning decisions.  Elaborating the process and infrastructure - establishing the construction process, the tools and process automation support.  Elaborating the architecture and selecting components - lessons learned from these activities may result in redesign of the architecture. Dr. P. Kuppusamy
  • 9. Construction Phase in Life-Cycle Phases  During the construction phase : • All remaining components and application features are integrated into the application • All features are thoroughly tested PRIMARY OBJECTIVES • Minimizing development costs by optimizing resources and avoiding unnecessary scrap and rework • Achieving adequate quality as rapidly as practical • Achieving useful versions (alpha, beta, and other test releases) as rapidly as practical  Essential activities :  Resource management, control, and process optimization  Complete component development and testing against evaluation criteria  Assessment of the product releases against acceptance criteria of the vision Dr. P. Kuppusamy
  • 10. Transition Phase in Life-Cycle Phases • The transition phase is entered when baseline is mature enough to be deployed in the end-user domain • This phase could include beta testing, conversion of operational databases, and training of users and maintainers PRIMARY OBJECTIVES • Achieving user self-supportability • Achieving stakeholder concurrence that deployment baselines are complete and consistent with the evaluation criteria of the vision • Achieving final product baselines as rapidly and cost-effectively as practical Essential activities :  Synchronization and integration of concurrent construction into consistent deployment baselines  Deployment-specific engineering (commercial packaging and production, field personnel training)  Assessment of deployment baselines against the complete vision and acceptance criteria in the requirements set Dr. P. Kuppusamy
  • 11. Evaluation Criteria in Life-Cycle Phases  Evaluation Criteria :  Is the user satisfied?  Are actual resource expenditures versus planned expenditures acceptable?  Each of the four phases consists of one or more iterations in which some technical capability is produced in demonstrable form and assessed against a set of the criteria.  The transition from one phase to the nest maps more to a significant business decision than to the completion of specific software activity. Dr. P. Kuppusamy
  • 12. Artifacts of the Process Requirements Set 1.Vision document 2.Requirements model(s) Design Set 1.Design model(s) 2.Test model 3.Software architecture description Implementation Set 1.Source code baselines 2.Associated compile-time files 3.Component executables Deployment Set 1.Integrated product executable baselines 2.Associated run-time files 3.User manual Management Set Planning Artifacts Operational Artifacts 1.Work breakdown structure 5.Release descriptions 2.Business case 6.Status assessments 3.Release specifications 7.Software change order database 4.Software development plan 8.Deployment documents 9.Enviorement • To make the development of a complete software system manageable, distinct collections of information are organized into artifact sets. • Each set comprises related artifacts (such as English text, C++, Java, standard document template, standard spreadsheet template, or a UML model). • Set represents a complete aspect of the system, cohesive information is developed and reviewed as a single entity. • Life-cycle software artifacts are organized into five distinct sets : Dr. P. Kuppusamy
  • 13. MANAGEMENT SET in Artifacts of the Process • The management set captures the artifacts associated with process planning and execution. These artifacts use ad hoc notations, including text, graphics, etc., required to capture the "contracts" among project personnel (project management, architects, developers, testers, marketers, administrators), among stakeholders (funding authority, user, software project manager, organization manager, regulatory agency), and between project personnel and stakeholders. • Specific artifacts included in this set are the work breakdown structure (activity breakdown and financial tracking mechanism), the business case (cost, schedule, profit expectations), release specifications (scope, plan, objectives for release baselines), software development plan (project process instance), release descriptions (results of release baselines), status assessments (periodic snapshots of project progress), software change orders (descriptions of discrete baseline changes), deployment documents (cutover plan, training course, sales rollout kit), and environment (hardware and software tools, process automation, documentation, training collateral necessary to support the execution of the process). Dr. P. Kuppusamy
  • 14. MANAGEMENT SET in Artifacts of the Process Management set artifacts are evaluated, assessed, and measured through a combination of the following: • Relevant stakeholder review • Analysis of changes between the current version of the artifact and previous versions (management trends and project performance changes in terms of cost, schedule, and quality) • Major milestone demonstrations of the balance among all artifacts and, in particular, the accuracy of the business case and vision artifacts. Dr. P. Kuppusamy
  • 15. ENGINEERING SETS in Artifacts of the Process The primary mechanism for evaluating each artifact set is the transitioning of information from set to set and maintaining a balance of understanding among the requirements, design, implementation, and deployment artifacts. 1. Requirements Set • Structured text is used for the vision statement that supports the contract between the funding authority and the project team. • Ad hoc formats may also be used for supplementary specifications (such as regulatory requirements) and user mock ups. • UML notation is used for engineering representations of requirements models (use case models, domain models). • The requirements set is the primary engineering context for evaluating the other three engineering artifact sets and is the basis for test cases. Requirements artifacts are evaluated, assessed, and measured through a combination of the following: • Analysis of consistency with the release specifications of the management set. • Analysis of consistency between the vision and the requirements models. • Mapping against the design, implementation, and deployment sets to evaluate the consistency and completeness and the semantic balance between different sets. • Analysis of changes between the current version of requirements artifacts and previous versions (scrap, rework, and defect elimination trends). • Subjective review of other dimensions of quality Dr. P. Kuppusamy
  • 16. ENGINEERING SETS in Artifacts of the Process 2. Design Set • UML notation is used to engineer the design models for the solution. • The design set represent the components of the solution space (their identities, attributes, static relationships, dynamic interactions). • The design models include enough structural and behavioral information to ascertain a bill of materials (quantity and specification of primitive parts and materials, labor, and other direct costs). • Design model information can be automatically translated into a subset of the implementation and deployment set artifacts. The design set is evaluated, assessed, and measured through a combination of the following: • Analysis of the internal consistency and quality of the design model. • Analysis of consistency with the requirements models. • Translation into implementation and deployment sets and notations (for example, traceability, source code generation, compilation, linking) to evaluate the consistency and completeness and the semantic balance between information in the sets. • Analysis of changes between the current version of the design model and previous versions (scrap, rework, and defect elimination trends) • Subjective review of other dimensions of quality. Dr. P. Kuppusamy
  • 17. ENGINEERING SETS in Artifacts of the Process 3. Implementation Set • The implementation set includes source code (programming language notations) that represents the tangible implementations of components (form, interface, and dependency relationships) and any executables necessary for stand-alone testing. • These executables are the primitive parts needed to construct the end product. Implementation set artifacts can also be translated (compiled and linked) into a subset of the deployment set (end-target executables). • Specific artifacts include self-documenting product source code baselines and associated files (compilation scripts, configuration management infrastructure, data files), test source code (input test data files, test result files), stand-alone component executables, and component test driver executables. Implementation sets are human-readable formats that are evaluated, assessed, and measured through a combination of the following: • Analysis of consistency with the design models • Translation into deployment set notations • Assessment of component source or executable files against relevant evaluation criteria through inspection, analysis, demonstration, or testing. • Execution of stand-alone component test cases that automatically compare expected results with actual results. • Analysis of changes between the current version of the implementation set and previous versions (scrap, rework, and defect elimination trends). • Subjective review of other dimensions of quality Dr. P. Kuppusamy
  • 18. ENGINEERING SETS in Artifacts of the Process 4. Deployment Set • The deployment set includes user deliverables and machine language notations, executable software, and the build scripts, installation scripts, and executable target specific data necessary to use the product in its target environment. • These machine language notations represent the product components in the target form intended for distribution to users. • Deployment set information can be installed, executed against scenarios of use (tested), and dynamically reconfigured to support the features required in the end product. Specific artifacts include executable baselines and associated run-time files, and the user manual. Deployment sets are evaluated, assessed, and measured as following: • Testing against the usage scenarios and quality attributes to evaluate the consistency and completeness and the semantic balance between information in the two sets. • Testing the partitioning, replication, and allocation strategies in mapping components of the implementation set to physical resources of the deployment system (platform type, number, network topology) • Testing against the defined usage scenarios in the user manual such as installation, user- oriented dynamic reconfiguration, mainstream usage, and anomaly management. • Analysis of changes between the current version of the deployment set and previous versions (defect elimination trends, performance changes). • Subjective review of other dimensions of quality Dr. P. Kuppusamy
  • 19. Life cycle focus on artifact set Dr. P. Kuppusamy
  • 20. Life cycle focus on artifact set 1. Management: scheduling, workflow, defect tracking, change management, documentation, spreadsheet, resource management, and presentation tools 2. Requirements: requirements management tools 3. Design: visual modeling tools 4. Implementation: compiler/debugger tools, code analysis tools, test coverage analysis tools, and test management tools 5. Deployment: test coverage and test automation tools, network management tools, commercial components (operating systems, GUIs, DBMSs, networks, middleware), and installation tools Dr. P. Kuppusamy
  • 21. Test artifacts • The test artifacts must be developed concurrently with the product from inception through deployment. • Thus, testing is a full-life-cycle activity, not a late life-cycle activity. • The test artifacts are communicated, engineered, and developed within the same artifact sets as the developed product. • The test artifacts are implemented in programmable and repeatable formats (as software programs). • The test artifacts are documented in the same way that the product is documented. • Developers of the test artifacts use the same tools, techniques, and training as the software engineers developing the product. Dr. P. Kuppusamy
  • 22. Management Artifacts in Artifacts of the Process  The management set includes several artifacts :  Work Breakdown Structure – vehicle for budgeting and collecting costs. • The software project manager must have insight into project costs and how they are expended. • If the WBS is structured improperly, it can drive the evolving design in the wrong direction.  Business Case – provides all the information necessary to determine whether the project is worth investing in. • It details the expected revenue, expected cost, technical and management plans. Dr. P. Kuppusamy
  • 23. Management Artifacts in Artifacts of the Process  Release Specifications I. Iteration content II. Measurable objectives A. Evaluation criteria B. Follow-through approach III. Demonstration plan A. Schedule of activities B. Team responsibilities IV. Operational scenarios (use cases demonstrated) A. Demonstration procedures B. Traceability to vision and business case Typical release specification outline : Two important forms of requirements :  vision statement (or user need) - which captures the contract between the development group and the buyer.  evaluation criteria – defined as management-oriented requirements, which may be represented by use cases, use case realizations or structured text representations. Dr. P. Kuppusamy
  • 24. Management Artifacts in Artifacts of the Process  Software Development Plan – the defining document for the project’s process.  It must comply with the contract, comply with the organization standards, evolve along with the design and requirements. I. Context (scope, objectives) II. Software development process A. Project primitives 1. Life-cycle phases 2. Artifacts 3. Workflows 4. Checkpoints B. Major milestone scope and content C. Process improvement procedures III. Software engineering environment A. Process automation (hardware and software resource configuration) B. Resource allocation procedures (sharing across organizations, security Access) Dr. P. Kuppusamy
  • 25. Management Artifacts in Artifacts of the Process IV. Software change management A. Configuration control board plan and procedures B. Software change order definitions and procedures C. Configuration baseline definitions and procedures V. Software assessment A. Metrics collection and reporting procedures B. Risk management procedures (risk identification, tracking, and resolution) C. Status assessment plan D. Acceptance test plan VI. Standards and procedures A. Standards and procedures for technical artifacts VII. Evolutionary appendixes A. Minor milestone scope and content B. Human resources (organization, staffing plan, training plan) Dr. P. Kuppusamy
  • 26. Management Artifacts in Artifacts of the Process Release Descriptions • Release description documents describe the results of each release, including performance against each of the evaluation criteria in the corresponding release specification. • Release baselines should be accompanied by a release description document . • It describes the evaluation criteria for that configuration baseline and provides substantiation (through demonstration, testing, inspection, or analysis). • The results of a post-mortem review of any release would be documented here, including outstanding issues, recommendations for process and product improvement, trade-offs in addressing evaluation criteria, follow-up • actions, and similar information. Dr. P. Kuppusamy
  • 27. Management Artifacts in Artifacts of the Process Status Assessments • Status assessments provide periodic snapshots of project health and status, including the software project manager's risk assessment, quality indicators, and management indicators. Although the period may vary, the forcing function needs to persist. • It ensures the expectations of all stakeholders (contractor, customer, user, subcontractor) are synchronized and consistent. The periodic status assessment documents provide the critical mechanism for managing everyone's expectations throughout the life cycle; for addressing, communicating, and resolving management issues, technical issues, and project risks; and for capturing project history. They are the periodic heartbeat for management attention. Typical status assessments should include • A review of resources, personnel staffing, • Financial data (cost and revenue), top 10 risks, • Technical progress (metrics snapshots), • Major milestone plans and results, • Total project or product scope, action items, • And follow-through. Dr. P. Kuppusamy
  • 28. Management Artifacts in Artifacts of the Process Software Change Order Database • Managing change is one of the fundamental primitives of an iterative development process. Project can iterate for more productively. • This flexibility increases the content, quality, and number of iterations that a project can achieve within a given schedule. Change has been achieved in practice through automation.  Deployment – depending on the project, it could include several document subsets for transitioning the product into operational status. It could also include computer system operations manuals, software installation manuals, plans and procedures for cutover etc.  Environment – A robust development environment must support automation of the development process. It should include : Requirements management visual modeling Document automation Automated regression testing Dr. P. Kuppusamy
  • 29. Engineering Artifacts in Artifacts of the Process  In general review, there are three engineering artifacts : 1. Vision document – supports the contract between the funding authority and the development organization.  It is written from the user’s perspective, focusing on the essential features of the system.  It should contain at least two appendixes – the first appendix should describe the operational concept using use cases, the second should describe the change risks inherent in the vision statement. 2. Architecture Description – it is extracted from the design model and includes views of the design, implementation, and deployment sets sufficient to understand how the operational concept of the requirements set will be achieved. Dr. P. Kuppusamy
  • 30. Engineering Artifacts in Artifacts of the Process 3. Software User Manual – it should include installation procedures, usage procedures and guidance, operational constraints, and a user interface description.  It should be written by members of the test team, who are more likely to understand the user’s perspective than the development team.  It also provides a necessary basis for test plans and test cases, and for construction of automated test suites. I. Architecture overview A. Objectives B. Constraints C. Freedoms II. Architecture views A. Design view B. Process view C. Component view D. Deployment view III. Architectural interactions A. Operational concept under primary scenarios B. Operational concept under secondary scenarios C. Operational concept under anomalous scenarios IV. Architecture performance V. Rationale, trade-offs, and other substantiation Typical architecture description outline : Dr. P. Kuppusamy
  • 31. Pragmatic Artifacts in Artifacts of the Process  Over the past 30 years, the quality of documents become more important than the quality of the engineering information they represented.  The reviewer must be knowledgeable in the engineering notation.  Human-readable engineering artifacts should use rigorous notations that are complete, consistent, and used in a self-documenting manner.  Paper is tangible, electronic artifacts are too easy to change. Stakeholders prefer paper documents is that once they are delivered, they are tangible, static, and persistent. On-line and Web-based artifacts can be changed easily and are viewed with more skepticism because of their inherent volatility.  Short documents are more useful than long ones. Dr. P. Kuppusamy
  • 32. Model-Based Software Architectures A Management Perspective  From a management perspective, there are three different aspects of an architecture :  An architecture (the intangible design concept) is the design of software system, as opposed to design of a component.  An architecture baseline (the tangible artifacts) is a slice of information across the engineering artifact sets sufficient to satisfy all stakeholders that the vision can be achieved within the parameters of the business case (cost, profit, time, people).  An architecture description (a human-readable representation of an architecture) is an organizes subsets of information extracted from the design set model. Dr. P. Kuppusamy
  • 33. Model-Based Software Architectures A Management Perspective  The importance of software architecture can be summarized as follows:  Architecture representations provide a basis for balancing the trade-offs between the problem space and the solution space.  Poor architectures and immature processes are often given as reasons for project failures.  A mature process, an understanding of the primary requirements, and a demonstrable architecture are important prerequisites for predictable planning. Architecture development and process definition are the intellectual steps that map the problem to a solution without violating the constraints. Dr. P. Kuppusamy
  • 34. Model-Based Software Architectures A Technical Perspective An architecture is described through several views, which are extracts of design models that capture the significant structures, collaborations, and behaviors. Architecture Description Document Design view Process view Use case view Component view Deployment view Other views (optional) Design View Process View Component View Deployment View Use Case View The model which draws on the foundation of architecture developed at Rational Software Corporation for Philippe Kruchten’s concepts of software architecture : Dr. P. Kuppusamy
  • 35. Model-Based Software Architectures A Technical Perspective  The use case view describes how the system’s critical use cases are realized by elements of the design model. It is modeled statically using case diagrams, and dynamically using any of the UML behavioral diagrams.  The design view addresses the basic structure and the functionality of the solution. It is modeled statically using use case diagrams, and dynamically using any of the UML behavioral diagrams.  The process view addresses the run-time collaboration issues involved in executing the architecture on a distributed deployment model, including the logical software network topology, interprocess communication and state management.  The component view describes the architecturally significant elements of the implementation set and addresses the software source code realization of the system from perspective of the project's integrators and developers.  The deployment view addresses the executable realization of the system, including the allocation of logical processes in the distribution view to physical resources of the deployment network. Dr. P. Kuppusamy
  • 36. Software Process Workflows  There are seven top-level workflows: 1. Management workflow: controlling the process and ensuring win conditions for all stakeholders 2. Environment workflow: automating the process and evolving the maintenance environment 3. Requirements workflow: analyzing the problem space and evolving the requirements artifacts 4. Design workflow: modeling the solution and evolving the architecture and design artifacts 5. Implementation workflow: programming the components and evolving the implementation and deployment artifacts 6. Assessment workflow: assessing the trends in process and product quality 7. Deployment workflow: transitioning the end products to the user  The term workflow is used to mean a thread of cohesive and most sequential activities. Dr. P. Kuppusamy
  • 37. Software Process Workflows 1. Architecture-first approach: implementing and testing the architecture must precede full-scale development, and the downstream focus on completeness and quality of the product features. 2. Iterative life-cycle process: the activities and artifacts of any given workflow may require more than one pass to achieve adequate results. 3. Roundtrip engineering: Raising the environment activities to a first-class workflow is critical; the environment is the tangible embodiment of the project’s process and notations for producing the artifacts. 4. Demonstration-based approach: Implementation and assessment activities are initiated nearly in the life-cycle, reflecting the emphasis on constructing executable subsets of the involving architecture.  Four basic key principles: Dr. P. Kuppusamy
  • 38. Iteration Workflows Management Requirements Design Implementation Assessment Deployment Results for the next iteration Allocated usage scenarios Results from the Previous iteration  An iteration consist of sequential set of activities in various proportions, depending on where the iteration is located in the development cycle. An individual iteration’s workflow: Dr. P. Kuppusamy
  • 39. Iteration Workflows Management: Iteration planning to determine the content of the release and develop the detailed plan for the iteration; assignment of work packages, or tasks, to the development team. Environment: Evolving the software change order database to reflect all new baselines and changes to existing baselines for all product, test, and environment components Requirements: Analyzing the baseline plan, the baseline architecture, and the baseline requirements set artifacts to fully elaborate the use cases to be demonstrated at the end of this iteration and their evaluation criteria; updating any requirements set artifacts to reflect changes necessitated by results of this iteration's engineering activities. Design: Evolving the baseline architecture and the baseline design set artifacts to elaborate fully the design model and test model components necessary to demonstrate against the evaluation criteria allocated to this iteration; updating design set artifacts to reflect changes necessitated by the results of this iteration's engineering activities. Dr. P. Kuppusamy
  • 40. Iteration Workflows Implementation: Developing or acquiring any new components, and enhancing or modifying any existing components, to demonstrate the evaluation criteria allocated to this iteration; integrating and testing all new and modified components with existing baselines (previous versions). Assessment: Evaluating the results of the iteration, including compliance with the allocated evaluation criteria and the quality of the current baselines; identifying any rework required and determining whether it should be performed before deployment of this release or allocated to the next release; assessing results to improve the basis of the subsequent iteration's plan. Deployment: Transitioning the release either to an external organization (such as a user, independent verification and validation contractor, or regulatory agency) or to internal closure by conducting a post-mortem so that lessons learned can be captured and reflected in the next iteration Dr. P. Kuppusamy
  • 41. Iteration Workflows - Different activities across the life cycle Management Requirements Design Implementation Assessment Deployment Management Requirements Design Implementation Assessment Deployment Management Requirements Design Implementation Assessment Deployment Inception and Elaboration Phases Construction Phase Transition Phase Dr. P. Kuppusamy
  • 42. Iteration Workflows - Different activities across the life cycle As with any sequence of a software development workflow, many of the activities occur concurrently. For example, requirements analysis is not done all in one continuous lump; it intermingles with management, design, implementation, and so forth. Iterations in the inception and elaboration phases focus on management, requirements, and design activities. Iterations in the construction phase focus on design, implementation, and assessment. Iterations in the transition phase focus on assessment and deployment. These descriptions are pretty simplistic. In practice, the various sequences and overlaps among iterations become more complex. The terms iteration and increment deal with some of the pragmatic considerations. An iteration represents the state of the overall architecture and the complete deliverable system. Dr. P. Kuppusamy
  • 43. Checkpoints of the Process  It is important to have visible milestones in the life cycle, where various stakeholders meet to discuss progress and planes.  The purpose of this events is to:  Synchronize stakeholder expectations and achieve concurrence on the requirements, the design, and the plan.  Synchronize related artifacts into a consistent and balanced state  Identify the important risks, issues, and out - of - tolerance conditions Perform a global assessment for the whole life-cycle. Dr. P. Kuppusamy
  • 44. Checkpoints of the Process 1. Major milestones – provide visibility to system wide issues, synchronize the management and engineering perspectives, and verify that the aim of the phase have been achieved.  Three types of joint management reviews are conducted throughout the process: 3. Status assessments – These periodic events provide management with frequent and regular insight into the progress being made. 2. Minor milestones – These iteration-focused events, conducted to review the content of an iteration in detail and to authorize continued work. Dr. P. Kuppusamy
  • 45. Major milestones • Four major milestones occur at the transition points between life-cycle phases. In an iterative model, the major milestones are used to achieve concurrence among all stakeholders on the current state of the project. Different stakeholders have very different concerns: • Customers: schedule and budget estimates, feasibility, risk assessment, requirements understanding, progress, product line compatibility. • Users: consistency with requirements and usage scenarios, potential for accommodating growth, quality attributes. • Architects and systems engineers: product line compatibility, requirements changes, trade-off analyses, completeness and consistency, balance among risk, quality, and usability. • Developers: sufficiency of requirements detail and usage scenario descriptions, frameworks for component selection or development, resolution of development risk, product line compatibility, sufficiency of the development environment. Dr. P. Kuppusamy
  • 46. Major milestones • Maintainers: Sufficiency of product and documentation artifacts, understandability, interoperability with existing systems, sufficiency of maintenance environment. • Others: Possibly many other perspectives by stakeholders such as regulatory agencies, independent verification and validation contractors, venture capital investors, subcontractors, associate contractors, and sales and marketing teams. General status of plans, requirements, and products across the major milestones: MILESTONES PLANS UNDERSTANDING OF PROBLEM SPACE (REQUIREMENTS) SOLUTION SPACE PROGRESS (SOFTWARE PRODUCT) Life-cycle objectives milestone • Definition of stakeholder responsibilities • Low-fidelity life- cycle plan • High-fidelity elaboration phase plan • Baseline vision, including growth vectors, quality attributes, and priorities • Use case model • Demonstration of at least one feasible architecture • Make/buy/reuse trade- offs • Initial design model Dr. P. Kuppusamy
  • 47. General status of plans, requirements, and products across the major milestones: MILESTONES PLANS UNDERSTANDING OF PROBLEM SPACE (REQUIREMENTS) SOLUTION SPACE PROGRESS (SOFTWARE PRODUCT) Life-cycle architecture milestone • High-fidelity construction phase plan (bill of materials, labor allocation) • Low-fidelity transition phase plan • Stable vision and use case model • Evaluation criteria for construction releases, initial operational capability • Draft user manual • Stable design set • Make/buy/reuse • Critical component Prototypes Initial operational capability milestone • High-fidelity transition phase plan • Acceptance criteria for product release • Releasable user manual • Stable implementation set • Critical features and core capabilities • Objective insight into product qualities Product release milestone • Next-generation product plan • Final user manual • Stable deployment set • Full features • Compliant quality Dr. P. Kuppusamy
  • 48. MINOR MILESTONES The number of iteration-specific, informal milestones needed depends on the content and length of the iteration. For most iterations, which have a one-month to six-month duration. Two minor milestones are needed: 1. iteration readiness review and 2. iteration assessment review. • Iteration Readiness Review: It is conducted at the start of each iteration to review the detailed iteration plan and the evaluation criteria that have been allocated to this iteration. • Iteration Assessment Review: It is conducted at the end of each iteration to assess the degree to which the iteration achieved its objectives and satisfied its evaluation criteria, to review iteration results, to review qualification test results (if part of the iteration), to determine (amount of rework to be done), and to review the impact of the iteration results on the plan for subsequent iterations. Dr. P. Kuppusamy
  • 49. Typical minor milestones in the life cycle of an iteration The format and content of these minor milestones highly dependent on the project and organizational culture. Dr. P. Kuppusamy
  • 50. PERIODIC STATUS ASSESSMENTS • Periodic status assessments are management reviews conducted at regular intervals (monthly, quarterly) to address progress and quality indicators, ensure continuous attention to project dynamics, and maintain open communications among all stakeholders. • The objective of these assessments is to ensure that the expectations of all stakeholders (contractor, customer, user, subcontractor) are synchronized and consistent. • Periodic status assessments serve as project snapshots. While the period may vary, the recurring event forces the project history to be captured and documented. Status assessments provide the following: • A mechanism for openly addressing, communicating, and resolving management issues, technical issues, and project risks • Objective data derived directly from on-going activities and evolving product configurations • A mechanism for disseminating process, progress, quality trends, practices, and experience information to and from all stakeholders in an open forum Dr. P. Kuppusamy
  • 51. PERIODIC STATUS ASSESSMENTS • Recurring themes from unsuccessful projects include following status assessments: 1. high-overhead activities, because the work associated with generating the status is separate from the everyday work, and 2. frequently canceled, because of higher priority issues that require resolution. • Recurring themes from successful projects include following status assessments: (1) low-overhead activities, because the material already exists as everyday management data, and (2) rarely canceled, because they are considered too important. • Periodic status assessments are crucial for focusing continuous attention on the evolving health of the project and its dynamic priorities. • They force the software project manager to collect and review the data periodically, force outside peer review, and encourage dissemination of best practices to and from other stakeholders. Dr. P. Kuppusamy
  • 52. PERIODIC STATUS ASSESSMENTS • Default content of status assessment reviews: Dr. P. Kuppusamy
  • 53. Reference Book • Software Project Management, Walker Rayce, PEA. Dr. P. Kuppusamy