0% found this document useful (0 votes)
2 views9 pages

SPM 456

The document discusses process automation in software development, emphasizing its importance for productivity and project management. It covers key components such as configuration management, automation tools, software metrics, and change management, highlighting their roles in maintaining software quality and project stability. Additionally, it contrasts modern iterative processes with conventional approaches and outlines the significance of software architecture and project organization.

Uploaded by

btsbighit003
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views9 pages

SPM 456

The document discusses process automation in software development, emphasizing its importance for productivity and project management. It covers key components such as configuration management, automation tools, software metrics, and change management, highlighting their roles in maintaining software quality and project stability. Additionally, it contrasts modern iterative processes with conventional approaches and outlines the significance of software architecture and project organization.

Uploaded by

btsbighit003
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

6unit 1.

Process Automation with Project Environment


Process automation is the use of tools and integrated environments to
automate software development activities, thereby improving productivity,
consistency, and predictability of software projects.
In modern software engineering, process automation is essential due to
increasing project complexity and the need for iterative development.
Automation supports various workflows such as management,
requirements, design, implementation, and testing.
The project environment is a key component of process automation and
is considered a first-class artifact. It provides the infrastructure required to
support all development activities. It includes tools, processes, and data
that enable efficient execution of the development plan.
A well-defined project environment ensures:
>Integration of tools across workflows. >Consistency and traceability of
artifacts>Support for round-trip engineering>Effective change management
>Collaboration among stakeholders
The environment evolves through three stages:
Prototype environment – used for early architecture validation
Development environment – supports full-scale development
Maintenance environment – supports long-term updates and changes
Thus, process automation combined with a robust project environment
leads to improved efficiency, reduced cost, and higher quality software.
2. Configuration Management and Baselines
Configuration management is the process of managing and controlling
changes to software components to maintain consistency and integrity
throughout the lifecycle.
A configuration baseline is a formally approved set of software
components and documentation that serves as a reference point for further
development.
2 types of baselines:External product release. Internal testing release
Software releases are classified into:
Major release (N): Represents a new version with significant changes.
Minor release (M): Includes enhancements and improvements.
Interim release (X): Temporary version used during development
Configuration management ensures:
Controlled evolution of software>Traceability of changes
Version control and rollback capability>Improved coordination among
teams.>Thus, it plays a critical role in maintaining software quality and
project stability.
3. Automation Building Blocks (Tools)
Automation building blocks are tools used to automate various activities in
the software development [Link] types of tools support different
workflows:
Management tools are used for project planning, scheduling, and cost
estimation. They help in tracking progress and managing resources
effectively.
Requirements tools are used to capture, organize, and track
requirements. They ensure proper traceability between requirements and
other artifacts.
Design tools provide visual modeling support such as UML diagrams.
They help in representing system architecture and design clearly.
Implementation tools include editors, compilers, and debuggers. They are
used to write, compile, and test code efficiently.
Assessment tools support testing and defect tracking. They help in
identifying, recording, and resolving defects.
Integration of these tools into a unified environment is essential. It ensures
consistency, enables round-trip engineering, and improves overall project
[Link], automation tools act as the foundation for efficient and
high-quality software development.
4. Seven Core Metrics of Software Project
Software metrics are used to measure and control the development
process. There are seven core metrics used in modern software project
management.
Management Metrics:
Work and Progress: Measures the work completed over time.
Budgeted Cost and Expenditures: Tracks planned and actual cost.
Staffing and Team Dynamics: Measures changes in team size and
productivity.
Quality Metrics:
Change Traffic and Stability: Measures number of changes and system
[Link] and Modularity: Measures impact of changes on
system [Link] and Adaptability: Measures effort required to
fix or modify [Link] and Maturity: Measures reliability based on
time between failures.
These metrics provide insight into project performance, quality, and
progress, enabling better decision-making and control.
5. Change Management
Change management is the process of systematically handling changes in
software during its lifecycle to ensure controlled and traceable evolution of
the system.
The fundamental unit of change is the Software Change Order (SCO). An
SCO is used to request, track, and implement changes in the software
baseline. It typically includes details such as title, description, priority, and
resolution.
Changes are categorized as:
Type 0: Critical failures that must be fixed immediately
Type 1: Minor defects or bugs Type 2: Enhancements
Type 3: New features Type 4: Other changes

A Configuration Control Board (CCB) is responsible for evaluating and


approving changes. It consists of project managers, architects, developers,
and other stakeholders.
Change management ensures:
Controlled modification of software
Proper tracking of all changes
Improved quality and stability
Support for iterative development
Thus, effective change management is essential for maintaining
consistency and ensuring successful project execution.
6. Management Indicators and Quality Indicators
Indicators are derived from software metrics and provide useful insights
into the performance of a software project.
Management indicators focus on project execution and include:
Technical progress >Financial status >Staffing levels
They help determine whether the project is on schedule and within budget.
Quality indicators focus on the product quality and include:
>Defect rates >Change stability >Reliability metrics such as MTBF
Indicators help in:>Monitoring project health >Identifying risks and issues
>Supporting management decisions>Thus, indicators play a crucial role in
effective project control and quality assurance.
7. Project Control and Process Instrumentation
Project control is the process of monitoring and controlling project activities
to ensure that cost, schedule, and quality objectives are met.
Process instrumentation involves collecting and analyzing data using
software metrics to support project control.
Key aspects include:
Measuring progress using metrics
Tracking cost and schedule
Identifying deviations from plan
Taking corrective actionsSoftware metrics are used to:

●​ Estimate cost and effort


●​ Measure product quality
●​ Evaluate process efficiency

Thus, project control and process instrumentation ensure that the project
remains on track and achieves its objectives.

8. Modern vs Conventional Process

The conventional software process follows a sequential approach, while the


modern process adopts an iterative and incremental approach.

In the conventional process:

●​ Development is sequential (requirements → design → coding →


testing)
●​ Risk is resolved late
●​ Heavy focus on documentation
●​ Changes are difficult to implement

In the modern process:

●​ Development is iterative and incremental


●​ Risks are resolved early using architecture-first approach
●​ Focus is on working software and demonstrations
●​ Changes are easily accommodated

Thus, the modern process improves flexibility, reduces risk, and enhances
software quality compared to the conventional approach.
4th unit1. Explain Software Architecture from Management Perspective
Software architecture from a management perspective is the most critical
technical product of a software project as it ensures proper
communication, planning, and execution.
There are three aspects of architecture:
1. Architecture (Concept):It is the intangible design of the system that
includes all engineering necessary to define the complete system structure.
2. Architecture Baseline (Artifacts):It is a set of tangible artifacts that
demonstrate that the system can satisfy:
>Functional requirements >Quality attributes
>Business constraints such as cost, time, and resources
3. Architecture Description
It is a human-readable representation of the architecture derived from
design [Link]
Represents a major milestone in the project
Helps in make or buy decisions
Balances:>Problem space (requirements) >Solution space (design)
Poor architecture leads to project failure
Enables predictable planning
Thus, architecture plays a key role in ensuring project success and
effective communication among stakeholders.
2. Explain Architecture from Technical Perspective
From a technical perspective, software architecture is represented using
multiple views derived from UML models to handle system complexity.
1. Design View: Describes the structure and functionality of the system
using class and object diagrams.
2. Process View: Describes runtime behavior, concurrency, and
interaction between processes.
3. Component View:Represents the implementation structure including
source code components.
4. Deployment View:Shows the physical arrangement of software on
hardware.
5. Use Case View: Represents system behavior from the user’s
perspective.
UML Diagrams Used:Static: Class, Object, Component, Deployment
Dynamic: Sequence, Statechart, Activity
Thus, the 4+1 view model provides a complete and structured
representation of software architecture.
3. Explain Software Process Workflows
A workflow is a sequence of cohesive and mostly sequential activities
performed during software development.
There are seven main workflows:
1. Management Workflow:Controls the process and ensures stakeholder
satisfaction.
2. Environment Workflow: Provides tools and automation support.
3. Requirements Workflow:Analyzes and defines system requirements.
4. Design Workflow: Develops system architecture and design models.
5. Implementation Workflow: Involves coding and component
development.
6. Assessment Workflow:Evaluates quality through testing and reviews.
7. Deployment Workflow:Delivers the system to end users.
Thus, workflows provide a structured and organized approach to
software development.
4. Explain Iteration Workflow in Software Process
An iteration is a cycle of development activities that produces a working
version of the system.
Each iteration consists of the following activities:
1. Management:Planning and task assignment.
2. Environment:Updating tools and maintaining databases.
3. Requirements:Refining use cases and updating requirements.
4. Design:Improving architecture and design models.
5. Implementation:Developing and integrating components.
6. Assessment:Evaluating quality and identifying improvements.
7. Deployment:Releasing the system and collecting feedback.
Phase-wise Focus:Inception & Elaboration → Requirements and Design
Construction → Implementation and Testing
Transition → Deployment and Feedback
5. Explain Architecture Baseline
An architecture baseline is a collection of engineering artifacts that
represents a stable architecture of the system.
It ensures that the system satisfies both functional and non-functional
requirements.>Components
1. Requirements:>Critical use cases >Quality objectives>Feature priorities
2. Design:>Classes and components >Relationships and behaviors
[Link]:>Source code components>Bill of materials
[Link]:>Executable system>Configuration of hardware and
software
5unit1. Explain Major and Minor Milestones in Project Progress
Assessment
Milestones are specific points in a project timeline used to measure
progress and ensure the project is on track.
Major Milestones:Major milestones represent critical achievements that
indicate completion of important phases of the project.
Characteristics:
>Mark completion of key deliverables >Usually linked to project phases
>Reviewed by top management or stakeholders >High impact on project
success
Examples:>Project initiation approval >Completion of system design
>Completion of development phase >Final product delivery
Importance:>Helps in strategic decision-making
>Ensures alignment with project goals
>Acts as checkpoints for project continuation or revision
Minor Milestones:Minor milestones represent smaller progress points
within [Link]:
Focus on task-level completion
Monitored by project managers or team leads
Less critical but important for smooth execution
Examples: >Completion of module coding >Finishing unit testing
>Documentation updates
Importance:>Helps track daily/weekly progress
>Identifies delays early >Improves team coordination
Both major and minor milestones are essential for effective project
monitoring. Major milestones ensure overall direction, while minor
milestones help in detailed tracking and timely completion.
2. Discuss Lines of Business Organization with Neat Diagrams
A Line of Business (LOB) organization divides a company into separate
units based on products, services, or markets, where each unit
operates like an independent business.
Structure of LOB Organization
Each LOB has: >Its own management >Resources>Objectives
Diagram
CEO
|
---------------------------------
| | |
LOB 1 LOB 2 LOB 3
(Product A) (Product B) (Service C)
| | |
Teams Teams Teams

Types of LOB Organization


1. Product-Based LOB:Divided based on different products
Example: Mobile, Laptop, Tablet divisions
2. Customer-Based LOB:Focus on different customer groups
Example: Retail, Corporate, Government
3. Geography-Based LOB:Divided based on regions
Example: India, USA, Europe
Features

●​ Decentralized decision-making
●​ Independent profit centers
●​ Clear accountability
●​ Flexible operations

Advantages

●​ Better focus on specific markets


●​ Faster decision-making
●​ Improved accountability
●​ Encourages innovation

Disadvantages

●​ Resource duplication
●​ Lack of coordination between LOBs
Default Project Organization and Responsibilities
Default project organization is a basic hierarchical structure used to
manage a project effectively. It defines clear roles and responsibilities to
ensure smooth execution of project activities.
Structure of Project Organization
In a typical project organization, the hierarchy consists of Project Sponsor,
Project Manager, Team Leads, Developers, and Testers. Each level has
specific responsibilities and reporting relationships.

Roles and Responsibilities


Project Sponsor:The Project Sponsor provides financial support and
necessary resources for the project. The sponsor approves major decisions
and monitors overall project performance.
Project Manager:The Project Manager is responsible for planning,
executing, and controlling the project. They assign tasks, manage
resources, track progress, and handle risks. They also act as the main
communication link between stakeholders and the team.
Team Lead: The Team Lead manages a group of team members. They
guide the team, ensure timely completion of tasks, and report progress to
the Project Manager.
Developers: Developers are responsible for designing and developing the
system. They write code, implement features, and fix bugs.
Testers:Testers ensure the quality of the system by performing testing and
identifying defects. They verify whether the system meets requirements.

Thus, the default project organization provides a clear structure with


defined responsibilities, ensuring proper coordination and successful
project completion.

You might also like