Sepm Ese Ans

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 76

Unit 01

Q.1. Define the Software? Explain in brief, different types of computer software
categories.
Definition of Software is:
(1) instructions (computer programs) that when executed provide desired features,
function, and performance;
(2) data structures that enable the programs to adequately manipulate information, and
(3) descriptive information in both hard copy and virtual forms that describes the
operation and use of the programs.
1. System software — a collection of programs written to service other programs.
The systems software area is characterized by heavy interaction with computer
hardware; heavy usage by multiple users; concurrent operation that requires scheduling,
resource sharing, and sophisticated process management; complex data structures; and
multiple external interfaces
e.g., compilers, editors, and file management utilities processes complex
2. Application software -
These are stand-alone programs that solve a specific business need.
These programs process business or technical data for decision making.
Application software is used to control business functions in real time (e.g., point-of-sale
transaction processing, real-time manufacturing process control).
3. Engineering/scientific software -
Processes the data in modern applications i.e. the engineering /scientific data like the
data of astronomy to volcanology automotive stress analysis, space shuttle orbital
dynamics from molecular biology to automated manufacturing.
Used in Computer-aided design, system simulation.
4. Embedded software-
• This software resides within a product or system.
• It is used to implement and control features and functions for the end user and for the
system itself.
• Embedded software can perform limited and esoteric functions (for limited persons)
(e.g., key pad control for a microwave oven). Or the software provide significant
function and control capability
It is designed to provide a specific capability for use by many different customers.
Product-line software can focus on a limited and esoteric marketplace (e.g., inventory
control products)
or
It addresses mass consumer markets (e.g., word processing, spreadsheets, computer
graphics, multimedia, entertainment, database management, and personal and
business financial applications).
6. Web applications (WebApps)
A network-centric software category spans a wide array of applications.
Simple WebApps can be little more than a set of linked hypertext files that present
information using text and limited graphics.
However, latest WebApps are evolving into sophisticated computing environments that
not only provide
stand-alone features, computing functions, and content to the end user, but also are
integrated with corporate databases and business applications.
7. Artificial intelligence
• It makes use of non-numerical algorithms to solve complex problems that are not
amenable to computation or straight-forward analysis.
Applications within this area include robotics, expert systems, pattern recognition (image
and voice), artificial neural networks, theorem proving and game playing.
*Q.2. Define the software Engineering and Explain software engineering as a layered
technology.
Defn: Software Engineering is the establishment and use of sound engineering principles
in order to obtain economically software that is reliable and works efficiently on real
machines.

1. Software engineering process:The software engineering process is the glue that


holds the technology layers together and enables rational and timely development of
computer software.
• Process defines a frame work that must be established for effective delivery of software
engineering technology. --The software process forms the basis for management control
of software projects
• It establishes the context in which technical methods are applied, work products (models,
documents, data, reports, forms, etc.) are produced, milestones are established, quality is
ensured, and change is properly managed.
2. Methods
• Software engineering methods provide the technical how-to’s for building software.
• Methods encompass a broad array of tasks that include communication, requirements
analysis, design modeling, program construction, testing, and support.--> Software
engineering methods rely on a set of basic principles that govern each area of the
technology and include modeling activities and other descriptive techniques.
3. Tools
• Software engineering tools provide automated or semi-automated support for the
process and the methods.-Tools are integrated so that information created by one tool
can be used by another.  Thus, it is a system for the support of software development
which is called as ‘computer-aided software engineering’, is established.
Q.4. List out the different types of Process flows in software engineering and explain
any one process flow in detail.
Process flow describes how the framework activities and the actions and tasks that occur
within each framework activity are organized wrt sequence and time.
1) Linear process flow, Iterative process flow ,Evolutionary & parallel process flow
1. A linear process flow executes each of the five framework activities in sequence,
beginning with communication and culminating with deployment

The linear process flow, also known as the Waterfall model, is a software development
methodology that follows a sequential approach, where each phase of the software
development life cycle (SDLC) is completed before moving on to the next phase.

1. Planning: This phase involves defining the project scope, objectives, and requirements,
as well as identifying the resources and timelines needed to complete the project.
Communication is crucial during this phase to ensure that all stakeholders are aligned on
the project goals and expectations.
2. Modelling: In this phase, a detailed design is created based on the requirements and
analysis. The design includes creating a software architecture, defining the system
components, and creating a detailed project plan. The communication plays an
important role here to ensure that the design meets the requirements and to obtain
feedback from stakeholders.
3. Construction/Development: In this phase, the software is developed and tested based
on the design specifications. The development team follows the design closely, building
and testing each component of the software sequentially. The team must communicate
frequently during this phase to ensure that the development process stays on track and
that issues are addressed promptly.
4. Testing: Once the software is developed, it undergoes testing to ensure that it meets
the requirements and works as expected. The communication is critical during this
phase to ensure that the testing team understands the requirements and to report
issues and bugs back to the development team.
5. Deployment: Once the software has been tested and is deemed ready, it is deployed
and released to end-users. Communication is critical during this phase to ensure that
the deployment goes smoothly and to obtain feedback from end-users.
*Q.3. Differentiate between Waterfall models and incremental models.
• The waterfall model, sometimes called the classic life cycle.
• It suggests a systematic, sequential approach to software development .
• It begins with customer specification of requirements and progresses through planning,
modeling, construction, and deployment, resulting in a completed software (Figure 2.3).

A variation in the representation of the waterfall model is called the V-model.


V-model-As a software team moves down the left side of the V, basic problem
requirements are refined into progressively more detailed and technical representations
of the problem and its solution.
-Once code has been generated,the team moves up the right side of the V, essentially
performing a series of tests (quality assurance actions).
-QA tests validate each of the models created as the team moved down the left side. In
reality, there is no fundamental difference between the classic life cycle and the V-model.
-The V-model provides a way of visualizing how verification and validation actions are
applied to earlier engineering work.
INCREMENTAL MODELS:
• The incremental model combines elements of linear and parallel process flows. The
incremental model applies linear sequences in a staggered fashion as calendar time
progresses.
• Each linear sequence produces deliverable “increments” of the software in a manner
that is similar to the increments produced by an evolutionary process flow.
• The incremental process model focuses on the delivery of an operational product with
each increment.
• Incremental development is particularly useful when staffing is unavailable for a
complete implementation by the business deadline that has been established for the
project.
• Early increments can be implemented with fewer people.
• Additional staff (if required) can be added to implement the next increment.
• In addition, increments can be planned to manage technical risks.
• For example, a major system might require the availability of new hardware that is under
development and whose delivery date is uncertain.
• It might be possible to plan early increments in a way that avoids the use of this
hardware, thereby enabling partial functionality to be delivered to end users without
inordinate delay.
*Q.5. Explain the essential practices performed in software engineering.
These practices are designed to ensure that the software is reliable, efficient, and
meets the requirements of its users. Here are some of the essential practices
performed in software engineering:

1. Requirements gathering: This involves gathering and documenting the requirements


for the software. The requirements should be clear, unambiguous, and testable.
2. Design: This involves creating a detailed design of the software based on the
requirements. The design should include a software architecture, system
components, and a project plan.
3. Coding: This involves writing the actual code for the software. The code should be
well-structured, easy to read and maintain, and follow best coding practices.
4. Testing: This involves testing the software to ensure that it meets the requirements
and works as expected. Testing should be done at all levels, including unit testing,
integration testing, and system testing.
5. Debugging: This involves identifying and fixing any errors or bugs in the software.
Debugging should be done promptly to ensure that the software is of high quality.
6. Maintenance: This involves maintaining the software to ensure that it continues to
work correctly and efficiently. Maintenance includes fixing bugs, making updates, and
providing support.
7. Version control: This involves using a version control system to manage changes to
the software. Version control helps ensure that changes are tracked and managed
appropriately.
8. Documentation: This involves creating documentation for the software, including
user manuals, technical manuals, and release notes. Documentation should be clear,
concise, and easy to understand.
9. Collaboration: This involves collaborating with other developers, stakeholders, and
end-users to ensure that the software meets the requirements and is of high quality.
*Q.6. Differentiate between personal process model & team process model.
A. Personal Software Process (PSP)
The Personal Software Process (PSP) emphasizes personal measurement of both the work
product that is produced and the resultant quality of the work product.
1. Planning:
This activity isolates requirements and develops both size and resource estimates. In
addition, a defect estimate (the number of defects projected for the work) is made. All
metrics are recorded on worksheets or templates. Finally, development tasks are identified
and a project schedule is created.
2. High-level design:
External specifications for each component to be constructed are developed and a
component design is created. Prototypes are built when uncertainty exists. All issues are
recorded and tracked.
3. High-level design review:
Formal verification methods are applied to uncover errors in the design. Metrics are
maintained for all important tasks and work results.
4. Development:
The component-level design is refined and reviewed. Code is generated, reviewed,
compiled, and tested. Metrics are maintained for all important tasks and work results.
5. Postmortem:
Using the measures and metrics collected (this is a substantial amount of data that
should be analyzed statistically), the effectiveness of the process is determined. B. Team
Team Software Process (TSP)
• The goal of TSP is to build a “self directed” project team that organizes itself to
produce high-quality software.
• Objectives for TSP:
1. Build self-directed teams that plan and track their work, establish goals, and own their
processes and plans.
2. These can be pure software teams or integrated product teams (IPTs) of 3 to about
20 engineers.
3. Show managers how to coach and motivate their teams and how to help
them sustain peak performance.
4. Accelerate software process improvement.
5. Provide improvement guidance to high-maturity organizations.
6. Facilitate university teaching of industrial-grade team skills.
*Q.7. Explain the following terms with respect to software engineering. a) Construction
b) Deployment c) Modeling d) Planning e) Communication
1. Communication: Before any technical work can commence, it is critically important to
communicate and collaborate with the customer.
The intent is to understand custemers’ objectives for the project and to gather
requirements which will define software features and functions.
2. Planning
• Any complicated journey can be simplified if a map exists.
• The planning activity creates a “directional map” that helps the team to create a
software project plan.
• The software project plan-
• describes the technical tasks to be conducted,
• the risks that are likely to occure,
• the resources that will be required,
• the work products to be produced,
• a work Schedule
3.Modeling
• Whether you’re a landscaper, a bridge builder, an aeronautical
engineer, a carpenter, or an architect, you work with models every day.
• You create a “sketch” of the thing so that you’ll understand the big picture- what it will
look like architecturally, how the constituent parts fit together, and many other
characteristics.
• If required, you refine the sketch into greater and greater detail in an effort to better
understand the problem and how you’re going to solve it.
• A software engineer does the same thing by creating models to better understand
software requirements and the design that will achieve those requirements.

4. Construction.
This activity combines code generation (either manual or
automated) and the testing that is required to uncover errors in the code.
5. Deployment.
The software (as a complete entity or as a partially completed increment) is delivered to
the customer who evaluates the delivered
product and provides feedback based on the evaluation.
Q.8. Explain the generic process model with its diagram.

. A generic process framework for software engineering defines five framework


Activities:
  refer back
Q.9. List different elements of software quality assurance and explain them in brief
1. Standards: The job of SQA is to ensure that the standards been adopted are followed
and the work products conform to them e.g. IEEE, ISO.
2. Reviews and audits
Technical reviews are a quality control activity performed by software engineers for
software engineers. Technical reviews uncover errors.
Audits are a type of review performed by SQA personnel with the intent of ensuring that
quality guidelines are being followed for software engineering work.
3. Testing. Software testing is a quality control function to find errors.
4. Error/defect collection and analysis: SQA collects and analyzes error and defect data
to better understand how errors are introduced and activities to eliminating them.
5. Change management: Change is unavoidable in any software project.
If it is not properly managed, change can lead to confusion and therefore poor quality.
SQA ensures that adequate change management practices have been adopted.
6. Education : Every software organization wants to improve its software engineering.
A key contributor to improvement in SE practices is education of software
engineers, managers, and other stakeholders.
The SQA organization takes the lead in software process improvement and sponsor
educational programs.
7. Vendor management.
The job of the SQA organization is to ensure that high-quality software results by
suggesting specific quality practices that the vendor should follow.
8. Security management.
With the increase in cyber crime and new government regulations regarding privacy,
every software organization should institute
policies that protect data at all levels, establish firewall protection for
WebApps, and ensure that software has not been tampered with internally.
SQA ensures that appropriate process and technology are used to achieve
software security.
9. Safety
Because software is very important component of human-rated systems (e.g.,
automotive or aircraft applications), the impact of hidden defects can be dangerous.
SQA evaluate the impact of software failure to take care of the risks.
*Q.10. List the commonly used the evolutionary model in the software engineering and
Explain any one in details. – Prototyping paradigm &
. The Spiral Model:
• The spiral model is an evolutionary software process model that couples the iterative
nature of prototyping with the controlled and systematic aspects of the waterfall model.
• It provides the potential for rapid development of increasingly more
complete versions of the software.
• The spiral development model has two main distinguishing features.
Features:
• One is a cyclic approach for incrementally growing a system’s
degree of definition and implementation while decreasing its degree of risk.
• The other is a set of anchor point milestones for ensuring stakeholder commitment to
feasible and mutually satisfactory system solutions.
Advantages:
• The spiral model is a realistic approach to the development of large-scale systems and
software.
• Because software evolves as the process progresses, the developer and customer
better understand and react to risks at each evolutionary level
Q.11. Explain CMM models and enlists its levels.
The Capability Maturity Model (CMM) is a framework that describes the stages of
maturity of an organization's software development processes. It was developed by the
Software Engineering
Institute (SEI) at Carnegie Mellon University. The CMM model consists of five levels, each
representing a different degree of maturity in the software development process. These
levels are:
Initial: At this level, the software development process is ad hoc and unpredictable, with
no established procedures or standards. There is a high risk of project failure, and the
focus is on completing tasks rather than improving the process.

Repeatable: At this level, basic project management processes are established to track
cost, schedule, and functionality. There is a focus on establishing and following standard
procedures and using metrics to track progress and improve the process.

Defined: At this level, the software development process is well-defined and


documented, with established procedures for all aspects of the process. The focus is on
improving the quality of the software product and the efficiency of the development
process.

Managed: At this level, the software development process is measured and controlled
using quantitative methods. The focus is on continuous process improvement and the use
of metrics to track and manage the software development process.

Optimizing: At this level, the software development process is continuously improved


based on feedback from metrics and process performance. The focus is on innovation,
optimizing the process to meet changing business needs and creating a culture of
continuous improvement.
*Q.12. Explain the ISO 9000 model.
• A quality assurance system may be defined as the organizational structure,
responsibilities, procedures, processes, and resources for implementing quality
management [ANS87].
• QA systems are created to help organizations ensure their products and services to
satisfy its customer.
These systems cover a wide variety of activities like planning, controlling, measuring,
testing and reporting, and improving quality throughout.
ISO 9000 describes QA elements in generic terms that can be applied to any business
regardless of the products or services offered.
• Upon successful registration for ISO, a company is issued a certificate from a registration
body represented by the auditors.
• Semiannual surveillance audits ensure continued compliance to the standard.
• The ISO requirements deal with topics such as management responsibility, quality
system, contract review, design control, document and data control, product
identification and traceability, process control, inspection and testing, corrective and
preventive action, control of quality records, internal quality audits, training, servicing,
and statistical techniques.
*Q.13. What do you mean of clean room software engineering? Explain the key
processes of the clean room development.
• Clean room software engineering is a software development approach to produce
quality software.
• The clean room software engineering follows a quality approach of software
development which follows a set of principles and practices for gathering requirements,
designing, coding, testing, managing etc.
Through out the system development, it emphasizes on removing the dependency on
the costly processes and preventing defects during development rather removing the
defects.
Clean room software development approaches consists of four key processes:
1. Management –
It is persistent throughout the whole project lifetime which consists of project mission,
schedule, resources, risk analysis, training, configuration management etc.
2. Specification –
It is considered as first process of each increment which consists requirement analysis,
function specification, usage specification, increment planning etc.
3. Development –
It is considered as second process of each increment which consists of software
reengineering, correctness verification, incremental design etc.
4. Certification –
It is considered as final process of each increment which consist of usage modeling and
test planning, statistical training and certification process etc.
Separate teams are allocated for different processes to ensure the development of the
highest quality software product.
Benefits of Clean Room Software engineering :
• Delivers high quality product.
• Increases productivity.
• Reduces development cost.
• Errors are found early.
• Reduces the overall project time.
• Saves resources.
Unit 02
Q.1. Define Software requirements & explain its types.
Software requirements are description of features and functionalities of the target
system.
Requirements convey the expectations of users from the software product.
The requirements can be obvious or hidden, known or unknown, expected or
unexpected from client’s point of view.
The following are the most common types of software requirements: -
 Functional Requirements
Functional requirements define a function that a system or system element must be
qualified to perform and must be documented in different forms.
The functional requirements are describing the behavior of the system as it correlates to
the system's functionality.
Functional requirements are product features or functions that developers must
implement to enable users to accomplish their tasks. So, it’s important to make them
clear both for the development team and the stakeholders.
 Non-Functional Requirements or Quality Requirements
This can be the necessities that specify the criteria that can be used to decide the
operation instead of specific behaviors of the system.
These requirements define the quality attributes of the software system, such as
performance, reliability, scalability, usability, security, maintainability, precision,
accuracy, time to delivery/cost and compatibility.
Non-functional requirements are critical for ensuring that the software meets the user’s
needs and expectations.
 Design Constraint – Physical Environment, Interface, Users:
A design constraint is a design decision, such as choice of platform or interface
components, that has already been made and that restricts the set of solutions to our
problem.
 Process Constraint – Resources, Documentation, Standards
A process constraint is a restriction on the techniques or resources that can be used to
build the system.
*Q.2. Differentiate between functional requirements and non-functional requirements.
*Q.3. Explain the different software metrics in software engineering.
Software Measures can be understood as a process of quantifying and symbolizing
various attributes and aspects of software.
Software Metrics provide measures for various aspects of software process and software
product.
Size Metrics - LOC (Lines of Code), mostly calculated in thousands of delivered source
code lines, denoted as KLOC.
Function Point Count is measure of the functionality provided by the software. Function
Point count defines the size of functional aspect of software
Complexity Metrics - McCabe’s Cyclomatic complexity quantifies the upper bound of the
number of independent paths in a program, which is perceived as complexity of the
program or its modules. It is represented in terms of graph theory concepts by using
control flow graph.
Quality Metrics - Defects, their types and causes, consequence, intensity of severity and
their implications define the quality of product.
The number of defects found in development process and number of defects reported
by the client after the product is installed or delivered at client-end, define quality of
product.
Process Metrics - In various phases of SDLC, the methods and tools used, the company
standards and the performance of development are software process metrics.
Resource Metrics - Effort, time and various resources used, represents metrics for
resource measurement.
Q.8. Write down the steps to create a behavioral model.
The modeling notation represents static elements of the requirements model.
It is now time to make a transition to the dynamic behavior of the system or product.
To accomplish this, you can represent the behavior of the system as a function of specific
events and time.
The behavioral model indicates how software will respond to external events or stimuli.
To create the model, you should perform the following steps:
1. Evaluate all use cases to fully understand the sequence of interaction within the
system.
2. Identify events that drive the interaction sequence and understand how these events
relate to specific objects.
3. Create a sequence for each use case.
4. Build a state diagram for the system.
5. Review the behavioral model to verify accuracy and consistency
Q.4. List the different tasks of requirement capturing and explain in brief.
• Requirements engineering provides the idea for understanding demands of customer,
analyzing need, assessing feasibility, negotiating a reasonable solution, specifying the
solution clearly, validating the specifications, and managing the requirements.
• It encompasses seven distinct tasks: inception, elicitation, elaboration, negotiation,
specification, validation, and management.
1) Inception:
Inception is a task where the requirement engineering asks a set of questions to establish
a software process.
In this task, it understands the problem and evaluates with the proper solution.
It collaborates with the relationship between the customer and the developer.
The developer and customer decide the overall scope and the nature of the question.
2)Elicitation:
 Elicitation means to find the requirements from anybody.
 It certainly seems not simple enough to deal with requirements of stakeholder.
The requirements are difficult because the following problems occur in elicitation
1) Problem of scope 2) Problems of Understanding 3)Problems of volatility
3) Elaboration:
 In this task, the information taken from user during inception and elaboration and are
expanded and refined in elaboration.
 Its main task is developing pure model of software using functions, feature and
constraints of a software.
4) Negotiation:
 In negotiation task, a software engineer decides the how will the project be achieved
with limited business resources.
 To create rough guesses of development and access the impact of the requirement on
the project cost and delivery time.
5) Specification:
 In this task, the requirement engineer constructs a final work product.
 The work product is in the form of software requirement specification.
 In this task, formalize the requirement of the proposed software such as informative,
functional and behavioral.
 The requirement are formalize in both graphical and textual formats.
6) Validation:
 The primary requirements validation mechanism is the technical review.
 The review team that validates requirements includes software engineers, customers,
users, and other stakeholders who examine the specification looking for errors in
content or interpretation, areas where clarification may be required, missing
information, inconsistencies, conflicting requirements, or unrealistic (unachievable)
requirements.
7) Management:
 It is a set of activities that help the project team to identify, control and track the
requirements and changes can be made to the requirements at any time of the ongoing
project.
 These tasks start with the identification and assign a unique identifier to each of the
requirement.
 After finalizing the requirement traceability table is developed.
The examples of traceability table are the features, sources, dependencies, subsystems
and interface of the requirement.
*Q.5. Describe the Kano diagram with various qualities in brief.
(Kano diagram) – Real life application case study
• The Kano Model is an analysis tool to explore and measure customer needs. It's a way to
identify the basic needs of customers, as well as performance and excitement requirements.
• The Kano model is a theory for product development and customer satisfaction developed
which classifies customer preferences into five categories.
• 1) Must-be Quality: Simply stated, these are the requirements that the customers expect
and are taken for granted. When done well, customers are just neutral, but when done
poorly, customers are very dissatisfied. Kano originally called these “Must-be’s” because
they are the requirements that must be included and are the price of entry into a market.
Examples: In a hotel, providing a clean room is a basic necessity. In a call center, greeting
customers is a basic necessity.
2. One-dimensional Quality: (MUST) These attributes result in satisfaction when fulfilled and
dissatisfaction when not fulfilled.
These are attributes that are spoken and the ones in which companies compete.
An example of this would be a milk package that is said to have ten percent more milk for
the same price will result in customer satisfaction, but if it only contains six percent then the
customer will feel dissatisfaction.
Examples: 1. Time taken to resolve a customer's issue in a call center.
2. Waiting service at a hotel.
3. Attractive Quality: These attributes provide satisfaction when achieved fully, but do not
cause dissatisfaction when not fulfilled. These are attributes that are not normally expected.
For example, a thermometer on a package of milk showing the temperature of the milk.
Since these types of attributes of quality unexpectedly delight customers, they are often
unspoken.
Examples: 1. In a call center, providing special offers and compensations to customers or
the proactive escalation and instant resolution of their issue is an attractive feature.
2. In a hotel, providing free food is an attractive feature.
4. Indifferent Quality: These attributes refer to aspects that are neither good nor bad, and
they do not result in either customer satisfaction or customer dissatisfaction.
For example, thickness of the wax coating on a milk carton box. This might be key to the
design and manufacturing of the carton, but consumers are not even aware of the
distinction. It is interesting to identify these attributes in the product in order to suppress
them and therefore diminish production costs
Examples: In a call-center, highly polite speaking and very prompt responses might not be
necessary to satisfy customers and might not be appreciated by them. The same applies to
hotels.
5. Reverse Quality: These attributes refer to a high degree of achievement resulting in
dissatisfaction and to the fact that not all customers are alike.
For example, some customers prefer high-tech products, while others prefer the basic
model of a product and will be dissatisfied if a product has too many extra features
*Q.6. Describe the different types of requirements modeling.
The following are the most common types of requirements: -
1) Business Requirements
These include high-level statements of goals, objectives, and needs. Business
requirements do not include any details or specific features. They just state the problem
and the business objective to be achieved such as
 increased revenue/throughput/customer reach,
 reduced expenses/errors,
 improved customer service, etc.
2) User (stakeholder) Requirements
The needs of discrete stakeholder groups (top-level managers, nonmanagement staff,
customers, etc.) are specified to define what they expect from a particular solution.
 This group serves as a bridge between the generalized business requirements and specific
solution requirements.
 They are outlined in a User Requirements Specification and can include, for example,
ability to create various reports, view order history and status, manage customer
databases, etc.
 3) Solution or Software Requirements:
Solution requirements describe specific characteristics that a product must have to meet
the needs of the stakeholders and the business itself. They fall into two large groups.
Functional Requirements: are product features or functions that developers must
implement to enable users to accomplish their tasks. So, it’s important to make them
clear both for the development team and the stakeholders.
Non-functional Requirements:
These requirements define the quality attributes of the software system, such as
performance, reliability, scalability, usability, security, maintainability, precision,
accuracy, time to delivery/cost and compatibility.
 4) Transition Requirements:
An additional group of requirements defines what is needed from an organization to
successfully move from its current state to its desired state with the new product.
They are only necessary for the short period of time while the transition takes place.
Examples can be “users must be trained to operate the system” or “previous data must be
migrated to the cloud storage.”
*Q.7. What is UML? What is need of UML? List the types of UML diagram.
UML stands for Unified Modeling Language. It is a standardized modeling language used
in software engineering to visually represent software systems. UML diagrams are used
to visualize, design, and document software systems, as well as to communicate with
stakeholders and developers.

The need for UML arises from the complexity of software systems. Software systems are
often complex and difficult to understand, and UML provides a standardized way to
visualize and design these systems. UML diagrams are used to represent various aspects
of a software system, such as its structure, behavior, and interactions.

There are several types of UML diagrams, each with a specific purpose:

1. Use Case Diagram: This diagram is used to represent the functionality of a system
from a user's perspective. It shows the interactions between the user and the system.
2. Class Diagram: This diagram is used to represent the static structure of a system, such
as its classes, interfaces, and relationships.
3. Object Diagram: This diagram is used to represent a specific instance of a class in a
system.
4. Sequence Diagram: This diagram is used to represent the interactions between
objects in a system over time.
5. State Diagram: This diagram is used to represent the states and transitions of an
object in a system.
6. Activity Diagram: This diagram is used to represent the workflow of a system or a
process.
7. Component Diagram: This diagram is used to represent the components of a system
and their relationships.
8. Deployment Diagram: This diagram is used to represent the physical deployment of a
system, such as its hardware and software components.
*Q.9. Explain the Class based modeling and elaborate/enlist the points necessary to
discuss the class based modeling.
• Class-based modeling represents the objects that
1. the system will manipulate,
2. the operations that will be applied to the objects to effect the manipulation,
3. relationships between the objects, and
4. the collaborations that occur between the classes that are defined.
• To discuss class based modeling, the following points are considered:
1 Identifying Analysis Classes
• External entities that produce or consume information to be used by a computer-based
system.
• Things that are part of the information domain for the problem.
• Occurrences or events that occur within the context of system operation.
• Roles played by people who interact with the system.
• Organizational units (e.g., division, group, team) that are relevant to an application.
• Places that establish the context of the problem and the overall function of the system.
• Structures that define a class of objects or related classes of objects.
2 Specifying Attributes
Attributes describe a class that has been selected for inclusion in the requirements
model. For example,
1. if we were to build a system that tracks baseball statistics for professional baseball
players. Here, the attributes such as name, position, batting average, fielding percentage,
years played, and games played might be relevant
3 Defining Operations
• Operations define the behavior of an object.
• They can generally be divided into four broad categories:
(1) operations that manipulate data in some way (e.g., adding, deleting, reformatting,
selecting), (2) operations that perform a computation,
(3) operations that inquire about the state of an object, and
(4) operations that monitor an object for the occurrence of a controlling event.

4 Class-Responsibility-Collaborator (CRC) Modeling


Class-responsibility-collaborator (CRC) modeling provides a simple means for identifying
and organizing the classes that are relevant to system or product requirements.
a. Classes:
• Entity classes are extracted directly from the statement of the problem .
Boundary classes are used to create the interface
Controller classes manage a “unit of work” from start to finish.
b. Responsibilities:
System intelligence should be distributed across classes to best address the needs of the
problem.
Each responsibility should be stated as generally as possible.
c. Collaborations: Collaborations are identified by determining whether a class can fulfill
each responsibility itself. If it cannot, then it needs to interact with another class. Hence,
called as a collaboration.
5 Associations and Dependencies: In many instances, two analysis classes are related to
one another in some fashion, much like two data objects may be related to one another .
6 Analysis Packages:
An important part of analysis modeling is categorization.
That is, various elements of the analysis model (e.g., use cases, analysis classes) are
categorized in a manner that packages them as a grouping—called an analysis package—
that is given a representative name.
*Q.10. Draw the block diagram requirements Analysis and explain it.
Requirement Analysis

Gather & elicit needs, Define scope, Identify stakeholders, Identify


functional & non-functional needs, Create requirement specification
document, Verify & validate requirements

Requirements analysis is the process of gathering, analyzing, and documenting the


needs and requirements of a system. The block diagram above outlines the different
tasks involved in requirements analysis.

The first step in requirements analysis is to gather and elicit needs from stakeholders.
This involves identifying the different stakeholders involved in the project and
understanding their needs and expectations. This information is used to define the
scope of the project.

The next step is to identify the functional and non-functional needs of the system.
Functional needs are the features and functions that the system must provide, while
non-functional needs are the performance, security, and other requirements that the
system must meet.

Once the needs are identified, the requirements specification document is created. This
document outlines the requirements in detail, including the functional and non-
functional needs, as well as any constraints or assumptions.

Finally, the requirements are verified and validated to ensure that they are complete,
consistent, and accurate. This involves reviewing the requirements specification
document and testing the system to ensure that it meets the requirements.
Q.11. Case studies for UML diagrams such as 1. Case diagram of Banking Application 2.
Telephonic conversion 3. ATM
Unit 03
Q.1. Explain the different processes in project management life cycle.

• Project initiation is the official launch of the project.


• Initiation is based on identified business needs that justify the expense, risk, and
allotment of resources for the project to exist.
• It’s important for IT project managers to keep the idea of the business need in mind
throughout the project.
• The business need is linked to the organization’s strategies and tactics; goals and
mission; and responsibility to their shareholders, owners, and customers.
• Planning is an iterative project process group that communicates the intent of the
project manager.
• It shows which processes will be used in the project, how the project work will be
executed, how you’ll control the project work, and finally, how you’ll close down phases
and the project at its end.
• Planning requires time, resources, and often a budget for testing, experimenting, and
learning.
• Planning, is an iterative activity.Planning is not a one-time activity.
• Project execution is unique to each discipline.
• The project is led and directed by the project manager.
• The project is to create the product or service the stakeholders are expecting.
• Project execution includes the quality assurance process.
• Good project management balances management with leadership. Leadership is about
aligning, motivating, and directing your project team.
4)Monitoring & Controlling the project
• ----This set of processes ensures that the project work your team is doing is being
completed accurately and according to plan.
• Monitoring and controlling the project is based on your project plans, the work of the
project team, and shifting conditions within the project.
• Monitoring and controlling also provides communication
• for reporting the overall performance of the project, performance of key project
deliverables, and
• information on project specifics, such as the time, cost, and risk portions of the project.
5) Closing the project:
• --Right time closure is needed because the technology changes so quickly and frequently.
It is vital to define what constitutes the project closure.
• Some documentation, final reports, and communications happen in the final activities of
the project.
• All of the project information should be archived for future usage (which is sometimes
called organizational process assets).
• The closing process group also includes the close procurement process.

Q.2. Explain the various statements required in project scope.
1. Product scope description: You’re basically confirming that your project will create
the product, service, or condition defined in the product scope documentation and
the requirements documentation.
2. Product acceptance criteria: You need to know what it will take for this project to be
considered done.
You and the customers, the project sponsor, and any other key stakeholders need to
define in the project scope statement the conditions that must be true for the project
deliverables to be accepted and the project to be closed.
3. Project deliverables: Deliverables are the things the project will create for
the project customer and for the organization.
4. Project exclusions: The project scope statement defines what’s included in scope and
what’s out of scope.
By establishing the boundaries of the project, you’ll eliminate many assumptions and
disappointments when your project is near closure.
5. Project constraints: A constraint is anything that limits the project manager’s options.
You can usually see a constraint when the word “must,” “required,” or “mandatory” is
involved in the description.
Common constraints are budgets, schedules, and contractual terms.
6. Project assumptions: An assumption is anything that you believe to be true but that
hasn’t been proven to be true.
Assumptions can have huge impacts on the project’s success if they prove false.
The creation of the project scope statement is not an easy process.
If you’ve completed similar projects in the past, just adapt past scopes to the current
project to save time, to ensure accuracy, and to follow a proven approach.
Q.3. Define work breakdown structure.
-An approved project scope statement is needed in order to begin creating
the project’s work breakdown structure (WBS).
-A WBS is a deliverables-oriented collection of project components.
-It is a categorization and decomposition of the project scope statement.
-It is called decomposition because you’re breaking down the massive project scope
statement into smaller, more manageable components.
-Each component is subdivided again and again until you reach the smallest element of
the WBS: the work package.
-A work package is a WBS element that you can schedule in your project, estimate the
costs from, and monitor and control.
-A WBS is important in all projects.
-It is necessary because it serves as input to five key project management activities: ■
Cost estimating ■ Cost budgeting
■ Resource planning ■ Risk management planning
■ Activity definition
--A WBS defines the work required to complete the project:
--A WBS creates a sense of urgency
--A WBS can help prevent scope changes.
--A WBS provides control.
--The WBS is a portion of the scope baseline.
Q.4. Write the appropriate reasons to create a work breakdown structure.
By creating a WBS, even on small projects, a project manager can accurately predict
several things:
■ A WBS defines the work required to complete the project: A WBS ensures
that a project manager knows all of the required deliverables that must exist
for the project to be considered complete.
■ A WBS creates a sense of urgency: By creating a WBS, a project manager and his team
are working toward the project deliverables.
A WBS allows a project manager to track the success or failure of team
members based on the completion of activities, which in turn creates the
deliverables the WBS identifies.
■ A WBS can help prevent scope changes. When management and departments
try to add new features for an existing project, a WBS can ward them off.
It becomes easier for a project manager to rule out additions and new features to a
project that has already started.
It is possible, however, to add new features to the project scope, but there are
ripple effects into the project schedule, cost, quality, risks, and other areas of
the project that must be considered and managed.
■ A WBS provides control. As a project manager, you may be in charge of several
different IT projects.
A WBS can allow you to graphically view the status of any project and how progress is
being made.
You can easily home in on a particular phase, work unit, or task and make adjustments,
counsel team members, or adjust the schedule as needed. Control is good.
■ The WBS is a portion of the scope baseline. The scope baseline is the combination of
the project scope statement, the WBS, and the WBS dictionary.
Your goal is to manage the project team to create all of the things defined in the scope
baseline.
Basically, deliverables that are not in the WBS are not in the project.
It provides a point of agreement between the project manager, the customer, the
sponsor, the team members, the vendors, and other stakeholders on what is and is not in
the project.
Q.5. Explain the estimating costs and write its techniques in short.
• Develop approximation from monetary resources needed to complete project activities.
• Cost requirement to complete project activities.
• Predictions based on information provided
• Refined and reviewed during course of project.
Techniques to estimate costs
1) Analogous Estimate --Analogous estimating relies on historical information to predict
the cost of the current project. It is a type of top-down estimating.
The process of analogous estimating takes the actual cost of a historical project as a
basis for the current project.
The cost of the historical project is applied to the cost of the current project with
respect to the scope of the current project, its size, and other known variables.
2) Parametric Estimates: Another approach to top-down estimating is parametric
modeling.
Parametric modeling uses a mathematical model based on known parameters to predict
the cost of a project.
The parameters in the model can vary based on the type of work being completed. A
parameter can be cost per cubic yard, cost per unit, and so on.
• 3) Bottom- Up Estimate: An effective project manager can work with bottom-up cost
estimates to accurately predict each phase of a project and what expenses will be
associated with each phase.
-Typically, zero-based budgeting will determine estimates for IT projects, and this will
require you and your project team to research the true costs of each component of the
project to ascertain an accurate price for the product implementation.
4) Cost of Quality (COQ):
• Cost of quality is the sum of all the costs to achieve the expected quality the customer
demands in the project deliverables.
• This includes all of the work to conform to the quality requirements and the expense
incurred from nonconformance to the quality requirements.
• The cost of nonconformance is most evident when work needs to be redone and there’s
wasted materials.
Q.6. Explain the typical problems with IT cost estimate.
• -Human beings are biased toward underestimation. For example, senior IT professionals
or project managers might make estimates based on their own abilities and forget that
many younger people will be working on a project.
• -Estimators might also forget to allow for extra costs needed for integration and testing
on large IT projects.
• -Management desires accuracy.
• -Management might ask for an estimate but really want a more accurate number to help
them create a bid to win a major contract or get internal funding
• -In producing cost estimates for information technology projects, many of the
conventional cost estimation practices do not adapt well to Agile project development,
given this approach’s emphasis on changing project scopes.
-However, since the primary input in Agile processes is labor - not resources - and that
Agile development supports fixed-time iterations, use parametric estimating techniques
to create accurate cost estimates.
-Fixed price cost estimating works well for adaptation work, which focuses mainly on
amending already designed IT products. Developmental work, on the other hand, is more
difficult to estimate, given that it involves product design.
-On the whole, therefore, cost estimation for IT development projects (involving both
developmental and adaptation work) is best conducted as a combination of top-down
and bottom-up estimating.
Q.7. Explain the following terms.
a) Parametric estimates
• Another approach to top-down estimating is parametric modeling.
• Parametric modeling uses a mathematical model based on known
parameters to predict the cost of a project.
• The parameters in the model can vary based on the type of work being
completed.
• A parameter can be cost per cubic yard, cost per unit, and so on. For
example, it’s $149 per software license and you need 200 licenses.
• Some quick math tells you that the total cost for the software is $29,800.

b) Bottom Up estimate
• An effective project manager can work with bottom-up cost estimates to
accurately predict each phase of a project and what expenses will be
associated with each phase.
• Typically, zero-based budgeting will determine estimates for IT projects,
and this will require you and your project team to research the true costs of
each component of the project to ascertain an accurate price for the
product implementation.

c) Cost of Quality estimate.


• Cost of quality is the sum of all the costs to achieve the expected quality
the customer demands in the project deliverables.
• This includes all of the work to conform to the quality requirements and
the expense incurred from nonconformance to the quality requirements.
• The cost of nonconformance is most evident when work needs to be
redone and there’s wasted materials.
Q.8. Enlist the different elements in work breakdown structure dictionary.
The WBS dictionary is a dictionary that defines each work package in the WBS.
You’ll use the WBS dictionary to clearly identify what the components of the WBS are and
how they relate to the project scope.
The WBS dictionary typically defines, at a minimum, all of the following about
each WBS element:
■ Code of accounts number
■ Description of the WBS element
■ Person, vendor, or other organization responsible for the WBS element
■ Scheduled creation of the WBS element
■ Resources required to create the WBS element (resources are people, materials, and
facilities)
■ Cost to create the WBS element
■ Quality requirements
■ Criteria for acceptance of the specific deliverable
■ Technical references, drawings, and other supporting detail
■ Contract terms and information
■ Milestone schedule
UNIT 4:
Q1) Agile principles
The Agile Alliance defines 12 agility principles for those who want to achieve agility:
1. Our highest priority is to satisfy the customer through early and continuous delivery of
valuable software.
2. Welcome changing requirements, even late in development. Agile processes harness
change for the customer’s competitive advantage.
3. Deliver working software frequently, from a couple of weeks to a couple of months,
with a preference to the shorter timescale.
4. Business people and developers must work together daily throughout the project.
5. Build projects around motivated individuals. Give them the environment and support
they need, and trust them to get the job done.
6. The most efficient and effective method of conveying information to and within a
development team is face-to-face conversation.
7. Working software is the primary measure of progress.
8. Agile processes promote sustainable development. The sponsors, developers, and
users should be able to maintain a constant pace indefinitely.

Q2) Myth of planned Development


1: Agile has NO Planning…
There is planning in Agile!
There is lots of planning, but it is incremental.
Agile planning may include the following: Product Planning Meeting, Sprint (or iteration)
Planning Meeting, ad-hoc meeting, Daily Stand Up meeting, End of iteration Meeting,
Product review/ demonstration Meeting, or Retrospective.
2: Agile has NO Documentation…
There is documentation in Agile.
The documentation artifacts of Agile may include: The Product Backlog, The Sprint
Backlog, Burn Charts, and/ or Task Board.
3: There is No End to Development…
The myth is that when using Agile for development, you are never really done.
In Agile done is often more explicitly defined, for example by using the Definition of
Done (DoD).
This is agreed upon by the team and customer to ensure that customer needs are met.
4: There is NO Long-Term Planning…
Actually we have long-term planning in Agile. It is called Release Planning.
5: Daily Standup & Solutions
Another myth is that the daily standup meeting is used for problem solving.
6: There are No Requirements Needed…
The myth is that we don’t need requirements when we are using Agile,
That is NOT agility. All projects and products need requirements.
How else will we know what works needs to be done to meet the customer
requirements?
7: There is No Focus on Quality
The myth is that with Agile you get what you get (denoting there is not focus on quality/
customer satisfaction).
The picture is the opposite, as with Agile we are focused on providing value to the
customer and meeting their highest priority requirements.
8: Agile is Faster
The myth is that we don’t have time to do traditional project management, so we will use
Agile project management, because it is faster.
This is NOT Agility. Agile is time-boxed in iterations. Each iteration includes: Initiating,
Planning, Executing, Monitoring & Controlling, and Closing.
And these are iterative.
9: Agile is Better!
This is definitely a myth! Agile does NOT solve every project problem you have.
10: Agile Has No Structure
This is definitely a myth as Scrum (one of the most common Agile methods) has a very
clearly defined structure.
The following picture describes Agile Scrum via its structure depicted in this image.
3) Describe the different activities performed in extreme programming. Write the
advantages of Agile.
Extreme Programming uses an object-oriented approach which uses a set of rules and
practices. The XP process flow wrt four framework activities: planning, design, coding,
and testing

1. Planning. - The planning activity begins with listening the requirements and gathering
activity that enables the technical members of the XP team to understand the business
context for the software and to get a broad feel for required output and major features
and functionality.
Procedure:
Understanding the requirements and gathering activity leads to the creation of a set of
“stories/ user stories”.
Stories describe required output, features, and functionality for software to be built.
Each story is written by the customer and is placed on an index card.
The customer assigns a value (i.e., a priority) to the story based on the overall business
value of the feature or function.
Members of the XP team then assess each story and assign a cost—measured in
development weeks—to it.
2. Design.
XP design rigorously follows the “keep it simple” principle.
A simple design is always preferred over a more complex representation.
In addition, the design provides implementation guidance for a story
The design of extra functionality becomes complex.
3. Coding.
The stories are developed and preliminary design work is done.
The teams develops a series of unit tests that will exercise each of the stories that is to
be included in the current release (s/w increment).
The developer is better able to focus on what must be implemented. Once the code is
complete, it can be unit-tested immediately.
If the story is estimated to require more than three development weeks, the customer is
asked to split the story into smaller stories.
The assignment of value and cost occurs again.
It is important to note that new stories can be written at any time.
As pair programmers complete their work, the code they develop is integrated with the
work of others.
4. Testing.
The creation of unit tests before the coding is started.
This a key element of the XP approach.
This encourages a regression testing strategy.
4) Explain the three roles in SCRUM and SCRUM framework with its diagram.

• Scrum emphasizes the use of a set of software process patterns that have proven
effective for projects with tight timelines, changing requirements, and business
criticality.
• Each of these process patterns defines a set of development actions: Backlog—a
prioritized list of project requirements or features that provide business value for the
customer.
• Items can be added to the backlog at any time (this is how changes are introduced). The
product manager assesses the backlog and updates priorities as required.
• Sprints—consist of work units that are required to achieve a requirement defined in the
backlog that must be fit into a predefined time-box14 (typically 30 days).
• Changes (e.g., backlog work items) are not introduced during the sprint. Hence, the
sprint allows team members to work in a short-term, but stable environment. Scrum
meetings—are short (typically 15 minutes) meetings held daily by the Scrum team.
Three key questions are asked and answered by all team members.
• What did you do since the last team meeting? • What obstacles are you encountering?
• What do you plan to accomplish by the next team meeting? A team leader, called a
Scrum master, leads the meeting and assesses the responses from each person.
• The Scrum meeting helps the team to uncover potential problems as early as possible.
Also, these daily meetings lead to “knowledge socialization” and thereby promote a
self-organizing team structure.
• Demos—deliver the software increment to the customer so that functionality that has
been implemented can be demonstrated and evaluated by the customer.
• It is important to note that the demo may not contain all planned functionality, but
rather those functions that can be delivered within the time-box that was established.
• ” The Scrum process patterns enable a software team to work successfully in a world
where the elimination of uncertainty is impossible.
5) Distinguish between SCRUM and Kanban.
6) What is Sprint Backlog? Write the steps to create a good sprint backlog.
• It is a list of tasks identified by the scrum team to be completed during the scrum
script.
• During the sprint planning meeting, the team selects some number of product backlog
items, usually in the form of user stories and identifies the tasks necessary to complete
each user story.
• Most teams also estimate how many hours each task will take someone on the team to
complete.
• The sprint backlog is commonly maintained as a spreadsheet.
For creating a good sprint backlog we can follow the steps below
1] Involve every team member in the process.
2] Discuss how every item should be implemented.
3] Have a definition of done. 4] Identify all kinds of tasks.
5] Don’t estimate tasks at all.
6] Don’t assign tasks upfront.
7] Review the sprint commitment.
8] Don’t use too much time.
9] Evolve the sprint backlog during the sprint.
7) What is continuous integration in agile? Distinguish between Scripted & Unscripted
Testing.
“continuous integration” strategy helps to avoid compatibility and interfacing problems
and provides a “smoke testing” environment that helps to uncover errors early.
What is continuous integration?
 Continuous integration is an agile and DevOps best practice of routinely integrating
code changes into the main branch of a repository, and testing the changes, as early
and often as possible.
 Ideally, developers will integrate their code daily, if not multiple times a day.
Benefits:
1) Investing in CI results in fast feedback on code changes.
 Fast as in "within minutes" fast. A team that relies primarily on manual testing may get
feedback in a couple hours
 And by that time more changes have occurred, making bug-fixing an archeological
expedition with developers digging through several layers of code to get at the root of
the problem.
8) Write agile practices in Test Driven Development.
 The TDD process follows the simple procedural flow illustrated in Figure in next slide.
 Before the first small segment of code is created, a software engineer creates a test to
exercise the code (to try to make the code fail).
 The code is then written to satisfy the test. If it passes, a new test is created for the
next segment of code to be developed.
 The process continues until the component is fully coded and all tests execute without
errors.
 However, if any test succeeds in finding an error, the existing code is re-factored
(corrected) and all tests created to that point are re-executed.
 This iterative flow continues until there are no tests left to be created, implying that
the component meets all requirements defined for it.
 During TDD, code is developed in very small increments (one sub function at a time),
and no code is written until a test exists to exercise it.
 You should note that each iteration results in one or more new tests that are added to
a regression test suite that is run with every change. This is done to ensure that the
new code has not generated side effects that cause errors in the older code.
9) Explain in short about Daily scrum meeting in SCRUM.
Scrum meetings—are short (typically 15 minutes) meetings held daily by the Scrum
team.
Three key questions are asked and answered by all team members.
• What did you do since the last team meeting?
• What obstacles are you encountering?
• What do you plan to accomplish by the next team meeting?
A team leader, called a Scrum master, leads the meeting and assesses the responses
from each person
• The Scrum meeting helps the team to uncover potential problems as early as possible.
• Also, these daily meetings lead to “knowledge socialization” and thereby promote a
self-organizing team structure.
• Daily scrum meeting is also referred to as the morning roll call or the daily scrum.
• Meeting is usually held at the same time and place every working day.
• Crucial feature is that the meeting is intended to be a status update to other team
members and not a status update to the management or other stakeholders.
• Each member talks about their progress since the last stand-up, the anticipated work
until the next stand – up and any impediments they foresee.
What is this meeting for?
1) Tasks
• Synchronize the various team members
• Identify requires help and common areas of work
2) Impediments
• Raise new impediments
Unit 5 1) What is the Six Sigma concept? explain its characteristics with diagram.
 Six Sigma is the process of producing high and improved quality output. This can be
done in two phases – identification and elimination.
 The cause of defects is identified and appropriate elimination is done which reduces
variation in whole processes. A six sigma method is one in which 99.99966% of all the
products to be produced have the same features and are of free from defects.

 Statistical Quality Control:


Six Sigma is derived from the Greek Letter ? which denote Standard Deviation in
statistics. Standard Deviation is used for measuring the quality of output.
 Methodical Approach:
The Six Sigma is a systematic approach of application in DMAIC and DMADV which can
be used to improve the quality of production. DMAIC means for Design-Measure-
Analyze-Improve-Control. While DMADV stands for Design-Measure-Analyze-Design-
Verify.
 Fact and Data-Based Approach:
The statistical and methodical method shows the scientific basis of the technique.
 Project and Objective-Based Focus:
The Six Sigma process is implemented to focus on the requirements and conditions.
 Customer Focus:
The customer focus is fundamental to the Six Sigma approach. The quality
improvement and control standards are based on specific customer requirements.
 Teamwork Approach to Quality Management:
The Six Sigma process requires organizations to get organized for improving quality.
2) Define Project Management. What is need of it? List the different types of project
management tools.
 This set of processes ensures that the project work your team is doing is being
completed accurately and according to plan.
 If there are problems, issues, or risks, then the project shifts back to project planning to
figure the stuff out before moving back into execution.
 Monitoring and controlling the project is based on your project plans, the work of the
project team, and shifting conditions within the project.
NEED:
 Without a proper software project management process in place, a custom software
development project may be at risk of not meeting all its deliverables or even failing.
 Software development projects tend to be complex and multi-faceted. To complete a
project on time and in budget, software developers must engage in efficient planning,
organization and monitoring.
 Software project management focuses on developing a product that will have a positive
effect on an organization. Without project management, a software development team
may begin working on a project without any clear vision or guidance, resulting in more
frequent errors and confusion.
 Part of software project management involves making everyone involved aware of the
purpose of the project and what steps are required to meet the end goal. Learn more
about project management for software development and what it entails.
Process modeling tool:
 If an organization works to improve a business (or software) process, it must first
understand it. Process modeling tools (also called process technology or process
management tools) are used to represent the key elements of a process so that it can be
better understood. Such tools can also provide links to process descriptions that help
those involved in the process to understand the actions and work tasks that are required
to perform it. Process modeling tools provide links to other tools that provide support to
defined process activities.
Representative tool
 1] Igrafx process tool: tools that enable a team to map, measure, and model the
software process.
 2] Adeptia BPM Server—designed to manage, automate, and optimize business
processes 3] SpeedDev Suite—a collection of six tools with a heavy emphasis on the
management of communication and modeling activities
3) Explain the Microsoft Project management tool in details with examples.
Microsoft Project is a comprehensive project management tool developed by Microsoft.
It provides a range of features and functionalities to help project managers and teams
plan, manage, and track projects effectively. The tool is designed to assist in all phases of
project management, including project initiation, planning, execution, monitoring, and
closure.

Here are some key features and functionalities of Microsoft Project:

1. Project Planning: Microsoft Project allows project managers to create a detailed project
plan by defining tasks, assigning resources, setting dependencies, and estimating task
durations. It supports different task types, such as fixed duration, fixed work, and fixed
units, allowing for flexible scheduling.

Example: Let's say you're managing a software development project. You can create
tasks like "Requirements Gathering," "Design," "Coding," and "Testing" in Microsoft
Project, assign team members to each task, and define the sequence of tasks using
dependencies.

2. Gantt Charts: One of the core features of Microsoft Project is its Gantt chart view. It
visually represents the project schedule, displaying tasks as bars along a timeline. Gantt
charts provide a clear overview of the project's timeline, task durations, dependencies,
and resource allocations.

Example: In the Gantt chart view of Microsoft Project, you can see the start and end
dates of each task, their dependencies, and the overall project timeline. This helps you
understand the critical path, identify task overlaps, and make necessary adjustments to
optimize the schedule.

3. Resource Management: Microsoft Project enables project managers to manage and


allocate resources effectively. You can define resource types (e.g., team members,
equipment, materials) and assign them to tasks. The tool helps in tracking resource
availability, workload, and utilization.

Example: If you have a team of developers working on a project, you can create a
resource pool in Microsoft Project with details like names, roles, and availability. You
can then assign specific resources to tasks and track their workload to ensure efficient
resource allocation.
4. Budgeting and Cost Tracking: Microsoft Project allows you to define project budgets
and track costs throughout the project lifecycle. You can assign costs to tasks, resources,
and other project elements. The tool provides built-in cost calculations, allowing you to
monitor project expenditures and compare them against the budget.

Example: Suppose you have a construction project with various cost elements such as
materials, labor, and equipment. In Microsoft Project, you can assign costs to each task
and resource, track the actual expenses, and compare them with the planned budget.

5. Collaboration and Communication: Microsoft Project facilitates collaboration among


project team members. It integrates with other Microsoft tools like SharePoint and
Microsoft Teams, enabling seamless file sharing, communication, and collaboration
within the project team.

Example: You can use Microsoft Project to create a project site in SharePoint, where
team members can share project documents, update task statuses, and communicate
through discussion boards or chat. This promotes effective collaboration and ensures
everyone is on the same page.

6. Reporting and Analysis: Microsoft Project offers a range of built-in reports and analysis
tools to monitor project progress, identify risks, and communicate project status to
stakeholders. You can generate various reports, including task status, resource
allocation, workload, and costs.

Example: With Microsoft Project, you can generate a project status report that provides
an overview of completed tasks, upcoming milestones, and potential issues. You can
customize the report to include specific metrics and visuals to effectively communicate
project progress to stakeholders.

These are just some of the features and functionalities of Microsoft Project. The tool is
highly customizable and adaptable to different project management methodologies and
practices. It provides project managers with a centralized platform to plan, execute, and
track projects efficiently, thereby improving project success rates and delivery.
4) List the different types of open source Project management software and explain any
one in detail.
There are several open-source project management software options available. Here are
some popular ones:
1)OpenProject 2)Redmine 3)Taiga 4)Odoo 5)Kanboard 6)TaskJuggler 7)GantProject

 ArgoUML is an open source tool available at argouml.tigris.org.


The diagramming features are easy to use and provides useful assistance in the
formatting / aligning process. The nicer aspects of ArgoUML lie in its design assistance
features.
 ArgoUML support the following UML 1.4 diagram types:
 Class diagram
 Statechart diagram
 Activity diagram (including Swimlanes)
 Use Case diagram
 Collaboration diagram
 Deployment diagram (includes Object and Component diagram in one)
 Sequence diagram
User Interface
The screen of ArgoUML is split in four different panes. The "explorer" pane shows
relationships between diagrams and design items according to the selected perspective.
The "ToDo" pane contains the tasks that could be completed. The main window is the
drawing window where you create your diagrams. On the bottom, you find a "details"
pane where you can define your diagram items and link them with elements, like a "todo"
item or documentation.
 Drawing diagrams: The modeling process is rather intuitive and smooth, The only
missing feature is an "undo/redo" capability. The mouse gives you hints on each element
that you can place on your diagram. You can then use the detail pane to describe
diagram items and link to other items like documentation for instance.
6) Give and explain the seven methods used for risk management. Write the
methodologies used in Six Sigma.
 Avoidance Avoid the risk by planning a different technique to remove the risk from the
project. This is for negative risks.
 Mitigation Reduce the probability or impact of a negative risk.
 Transference The negative risk is not eliminated, but the responsibility and ownership of
the risk is transferred to another party; for example, it’s transferred to insurance.
 Enhancing Conditions are created to encourage a positive risk to occur.
 Exploiting The benefits of a positive risk are amplified so that the project can take
advantage of the positive risk.
 Sharing The positive risk is shared with another project, organization, or company
through a teaming agreement.
 Acceptance The positive or negative risk’s probability or impact may be small enough
that it can be accepted.
Two methodologies used in the Six Sigma projects are DMAIC and DMADV.
 DMAIC is used to enhance an existing business process. The DMAIC project
methodology has five phases:
 Define
 Measure
 Analyze
 Improve
 Control
 DMADV is used to create new product designs or process designs. The DMADV
project methodology also has five phases
 Define
 Measure
 Analyze
 Design
 Verify
5) Explain the steps of Planning risk management in project management.
 Step 1: Identify potential risks
With your entire team and all project stakeholders, brainstorm potential risks for your
risk management plan. Each participant should thoroughly consider the project from the
perspective of their role, and identify everything within their purview that could be seen
as a risk event or condition. What can they see from their angle that others might not?
In this brainstorm, encourage your team to speak up about any potential risks and involve
all stakeholders. At this stage, all ideas should be on the table. It’s ultimately up to
the project manager to distill and finalize the items that will go into the risk management
plan. The project manager will also draw from research, past experience, other project
managers, and similar projects.
 Step 2: Evaluate and assess potential risks
Next, organize your comprehensive list of potential risks by likelihood (low, moderate,
and high risk) and impact (low, moderate, and severe). This information can be compiled
in what’s called a risk register. While it isn't part of the project planning phase, think of
the risk register as a living document that you’ll return to and possibly change during the
project.
 Step 3: Assign ownership for each potential risk
In assigning team members to oversee risks, have your list prioritized and know how
many resources you’ll need on each risk. Designated team members will be responsible
for jumping into action should the potential risk turn into an actual issue. Assigning risk
ownership in your risk management plan ensures that someone is always keeping an eye
out for each problem, and helps in resolving issues quickly and efficiently.
 Step 4: Create preemptive responses
The project manager and owner of each risk should work together and use the risk
register to determine the appropriate responses if and when a risk becomes an issue.
You’ll decide which of the following four responses is appropriate:
 Avoid: change your plans or approach to eliminate the risk.
 Transfer: assign the risk to someone else within the team, within company, or outside
(e.g., an insurance carrier or vendor).
 Mitigate: reduce the probability and/or impact of the threat on the project.
 Accept: allow for the risk and handle its consequences.
 Your risk management plan should be visible across all team members so that everyone
knows which risks to watch out for, and who to contact should one of them arise. In
this digital age, you can easily connect your enterprise with a single enterprise work
management solution.
 Step 5: Continuously monitor risks
In addition to the risk you’ve already identified in your risk management plan, new risks
are bound to surface. This is where a risk management system comes into play, as well as
your ongoing monitoring and controlling of risks. Risk management requires tracking and
reporting on triggering events that require your initiating your response plan(s). And it
will mean analyzing the risk against your original assessment for learning and future
planning.
Risk planning is a complex and ongoing part of solid project management. It is impossible
to predict everything that will go wrong, but having a system in place when issues do
arise will certainly improve your chances of success, and will improve future projects.
Additionally, the practice of anticipating risk will only encourage your team to remain
flexible and unafraid to try new things.
7) What is Quality? Explain the factors that measures the good of the service.
Definition: Quality can be defined as the degree of excellence or superiority of a product,
service, or process. It refers to the extent to which something meets or exceeds the
expectations, requirements, and specifications set by customers, stakeholders, or
industry standards.
Value of the implementation: What did it cost the company to create the VPN solution,
and what are the measurable results? There is a cost-benefit ratio for the project. The
cost of the project, let’s say it was $75,000, is in ratio to the benefits of secure, remote
access. An ongoing process, through the project’s monitoring and controlling, must be
used to see the true costs and benefits of the implementation.
■ Value of the service: After the project, there must be a process to measure the value of
the service. Metrics are needed to measure the value to the organization before and
after the project. The measurement of the service can be accomplished through tools to
log the service’s usage. For example, the number of users accessing the LAN through the
VPN connection over a six-month period will reveal the usability while an increase in
productivity through the VPN connection can show the profitability of the
implementation.
Value of the experience: How well do the deliverables work? If the project manager has
over-promised the deliverables and the speed, reliability, or convenience of the service,
then the value of the experience will diminish.
■ Value of the longevity: How long will the service stay implemented? If the project
manager and the project team have failed to adequately research the service and it is
replaced within a year by faster, more reliable, and less expensive methods, the value of
the longevity may be slim. In some instances, the service may be adequate for the time it
is in place; in others, the service may offer little or no ROI.
Value of the reliability: How reliable is the implemented service? If the project is
declared finished, but the service consistently fails or is unavailable, the quality of the
deliverable is lacking. The service implemented must be reliable, and the underlying
process of the service, whether it is hardware-related or it depends on the skill sets of the
individuals operating the service, must be reliable and able to fulfill the demands the
service requires.
8) Explain the quality planning with respect to input, tools and techniques and output
of it.
 Quality, when it comes to project management, is the entire project and how the project
satisfies the stated and implied requirements of the project scope.
 Quality is creating for the project customer exactly what was promised in a way that’s
cost and time effective.

 Measuring Product Quality


Using a standardized methodology, businesses are able to define project quality to
ensure that the product delivered meets customer expectations. Quality is an important
component of software development but measuring product quality is not always easy.
Project quality relies on identifying target customers and their unique requirements.
Quality assurance and quality control are often used interchangeably but have different
meanings. While quality assurance focuses on preventing defects before they occur,
quality control focuses on identifying and correcting defects after production. Software
project management aims to discover defects before implantation to achieve a higher
rate of customer satisfaction.
 Software Quality Management ensures that the required level of quality is achieved by
submitting improvements to the product development process. SQA aims to develop a
culture within the team and it is seen as everyone's responsibility.
 Software Quality management should be independent of project management to ensure
independence of cost and schedule adherences. It directly affects the process quality and
indirectly affects the product quality.
Activities of Software Quality Management:
 Quality Assurance - QA aims at developing Organizational procedures and standards for
quality at Organizational level.
 Quality Planning - Select applicable procedures and standards for a particular project
and modify as required to develop a quality plan.
 Quality Control - Ensure that best practices and standards are followed by the software
development team to produce quality products.
9) Explain the quality Assurance with respect to input, tools and techniques and output
of it.
 Quality assurance is an organization-wide quality policy or program that
your organization subscribes to.
 Quality assurance examines the quality requirements of the project,
inspects the results of quality control, and ensures that the project is using
the correct quality standards and terminology in the project.
 Basically, you’ve got to work with the project team and stakeholders to
prevent waste by accurately planning the project work and then accurately
doing the project work.
 When there are mistakes in the project, go to the problem immediately to
try to find a solution for the problem. As a project manager, you’re
responsible for wastes, cost overruns, and deficits. The actions you take
should always be linked to project performance.

10)Explain the quality control with respect to input, tools and techniques and output of
it.
 Quality control is the inspection of the work results that your project
creates. By inspecting the work results, you’ll know if the work has been
done to plan, if the work adheres to the quality assurance metrics, and
whether the work needs to be corrected before the project moves forward
or it’s acceptable to you.
 The process improvement plan is ideal for projects where there’s a
repeatable process, such as installing 1,500 network cables, or for project
types that your organization may do over and over as part of your business.
 It’s really a good idea to use a process improvement plan because it helps
you, the project manager, really think and understand the workflow of a
project and how you might shave off some wasted time by getting rid of
non-value-added activities.
11)Write the importance of Project Quality Management and give the types of
representative tool used in project management.
 Without a proper software project management process in place, a custom software
development project may be at risk of not meeting all its deliverables or even failing.
 Software development projects tend to be complex and multi-faceted. To complete a
project on time and in budget, software developers must engage in efficient planning,
organization and monitoring.
 Software project management focuses on developing a product that will have a
positive effect on an organization. Without project management, a software
development team may begin working on a project without any clear vision or
guidance, resulting in more frequent errors and confusion.
 Part of software project management involves making everyone involved aware of the
purpose of the project and what steps are required to meet the end goal. Learn more
about project management for software development and what it entails.
Representative tool: It has further 3 types
1] Igrafx process tool: tools that enable a team to map, measure, and model the
software process.
2] Adeptia BPM Server—designed to manage, automate, and optimize business
processes
3] SpeedDev Suite—a collection of six tools with a heavy emphasis on the management
of communication and modeling activities
12)Explain in detail the activities of Software Quality Management.
Quality Assurance - QA aims at developing Organizational procedures and standards for
quality at Organizational level.
 Quality assurance is an organization-wide quality policy or program that your
organization subscribes to.
 Quality assurance examines the quality requirements of the project, inspects the results
of quality control, and ensures that the project is using the correct quality standards and
terminology in the project.
 Basically, you’ve got to work with the project team and stakeholders to prevent waste by
accurately planning the project work and then accurately doing the project work.
 When there are mistakes in the project, go to the problem immediately to try to find a
solution for the problem. As a project manager, you’re responsible for wastes, cost
overruns, and deficits. The actions you take should always be linked to project
performance.

Quality Planning - Select applicable procedures and standards for a particular project and
modify as required to develop a quality plan.
 The quality management plan defines what quality is for your project, how you’ll plan for
quality, and then how you’ll inspect the project work to ensure that quality exists within
the project deliverables.
 The first step in planning for quality is to understand what the project customers want—
this means you’ll refer back to the scope baseline.
 By understanding what is expected of the project in exact terms, you can plan to achieve
the expectations in exact deliverables.
 This is one of the reasons it’s so important to get the customer stakeholder to approve
the project scope statement and the WBS.

Quality Control - Ensure that best practices and standards are followed by the software
development team to produce quality products.
 Quality control is the inspection of the work results that your project creates. By
inspecting the work results, you’ll know if the work has been done to plan, if the work
adheres to the quality assurance metrics, and whether the work needs to be corrected
before the project moves forward or it’s acceptable to you.
 The process improvement plan is ideal for projects where there’s a repeatable process,
such as installing 1,500 network cables, or for project types that your organization may
do over and over as part of your business.
 It’s really a good idea to use a process improvement plan because it helps you, the
project manager, really think and understand the workflow of a project and how you
might shave off some wasted time by getting rid of non-value-added activities.
Unit 6 1) What is the software Configuration Management? Explain its need.
• Software configuration management (SCM), also called change management, is a set of
activities designed to manage change by identifying the work products that are likely to
change, establishing relationships among them, defining mechanisms for managing
different versions of these work products, controlling the changes imposed, and auditing
and reporting on the changes made.
• Version Control: SCM provides the ability to manage and control different versions of
software artifacts, such as source code, documents, and configuration files.
• Change Management: SCM helps in managing changes to software components and
ensuring proper coordination among team members
• Collaboration and Teamwork: SCM fosters collaboration among developers by
providing a central repository where they can access, share, and work on code and
project assets
• Configuration Control: SCM ensures that the software is built and deployed using
consistent and controlled configurations
• Traceability and Auditing: It helps in tracking the history of code changes, identifying
the reasons behind specific modifications, and associating changes with relevant issues
or requirements
• Continuous Integration and Deployment: By integrating with continuous integration
and deployment tools, SCM allows for seamless integration of code changes, enabling
rapid and reliable software releases.
• Baseline Management: SCM facilitates the creation and management of baselines,
which serve as reference points for future development and provide a reliable
foundation for bug fixes, maintenance, and release management.
• Collaboration with External Partners: SCM helps in establishing collaboration and
version control across different teams and organizations. It ensures that code changes,
updates, and releases are managed in a coordinated and controlled manner.
• Quality Assurance and Testing: SCM supports effective software testing by providing
mechanisms to manage and control test scripts, test data, and test environments
• Risk Management and Recovery: SCM helps mitigate risks associated with software
development by providing backup and recovery mechanisms. It allows for the creation
of backup copies of code and project assets, ensuring that critical work is not lost in
case of accidental deletions, system failures, or data corruption.
2) Explain the Process of the Software Configuration Management (SCM).
• The software configuration management process defines a series of tasks that have
four primary objectives: (1) to identify all items that collectively define the software
configuration, (2) to manage changes to one or more of these items, (3) to facilitate the
construction of different versions of an application, and (4) to ensure that software
quality is maintained as the configuration evolves over time.
• A process that achieves these objectives need not be bureaucratic or ponderous, but it
must be characterized in a manner that enables a software team to develop answers to
a set of complex questions:
• How does a software team identify the discrete elements of a software configuration?
• How does an organization manage the many existing versions of a program (and its
documentation) in a manner that will enable change to be accommodated efficiently?
• How does an organization control changes before and after software is released to a
customer?
• Who has responsibility for approving and ranking requested changes?
• How can we ensure that changes have been made properly?
• What mechanism is used to apprise others of changes that are made?
• These questions lead to the definition of five SCM tasks—identification, version control,
change control, configuration auditing, and reporting—illustrated in Figure. Referring to
the figure, SCM tasks can viewed as concentric layers.
• SCIs flow outward through these layers throughout their useful life, ultimately
becoming part.
3) What is the GitHub? Explain it with features and applications.
• Git is a free and open source distributed version control system designed to handle
everything from small to very large projects with speed and efficiency.
• Features:
1. Version Control: Git-based version control system for tracking changes and managing
code history.
2. Code Hosting: Provides a centralized platform for hosting and storing code
repositories.
3. Collaboration: Tools for code review, commenting, and discussing code changes with
team members.
4. Issue Tracking: Built-in issue tracking system to report bugs, suggest features, and track
tasks.
5. Pull Requests: Allows developers to propose and review code changes before merging
them into the main repository.
6. Continuous Integration and Deployment: Integration with CI/CD tools for automated
building, testing, and deployment.
7. Wikis and Documentation: Enables the creation and maintenance of project
documentation and wikis.
8. Integrations and APIs: Extensive integrations with various development tools and
services. Offers APIs for programmatic interaction.
9. Project Management: Project boards, milestones, and task tracking for organizing and
tracking work.
10.Community and Open Source: Support for open-source projects and a vibrant
developer community.

Applications of GitHub:

1. Software Development: Primary application for version control and collaboration in


software development projects.
2. Open Source Projects: Hosting and collaboration platform for open-source projects.
3. Code Review: Facilitates code review processes by providing tools for reviewing and
commenting on code changes.
4. Bug Tracking: Issue tracking system helps in reporting and tracking bugs.
5. Feature Requests: Allows users to suggest new features or improvements through the
issue tracking system.
6. Documentation Management: Wiki feature enables the creation and management of
project documentation and guides.
7. Continuous Integration and Deployment: Supports automated build, test, and
deployment workflows.
8. Project Management: Provides tools for organizing and managing project tasks,
milestones, and boards.
9. Community Collaboration: Enables collaboration and knowledge sharing among
developers and project contributors.
10.Personal Code Repository: Offers a platform for individual developers to store and
manage their personal code repositories.

4) Explain the role of SCRUM Master and its responsibilities.
The role of a Scrum Master is crucial in the Scrum framework, which is an agile project
management methodology. The Scrum Master acts as a facilitator and servant-leader
for the Scrum team, ensuring that the team adheres to the Scrum practices and
principles. Here are the key responsibilities of a Scrum Master:

1. Facilitator: The Scrum Master facilitates the Scrum events, including daily stand-up
meetings, sprint planning, sprint reviews, and sprint retrospectives. They ensure that
these events are effective, timeboxed, and focused on achieving the objectives of the
sprint.
2. Scrum Process Guardian: The Scrum Master ensures that the Scrum framework is
followed correctly. They guide the team on the Scrum practices, roles, and artifacts, and
help remove any impediments or obstacles that hinder the team's progress.
3. Coach and Mentor: The Scrum Master coaches the team on agile principles, practices,
and values. They help the team understand and embrace self-organization,
collaboration, and continuous improvement. The Scrum Master also acts as a mentor,
guiding individuals on their Scrum roles and responsibilities.
4. Team Support: The Scrum Master supports the team by fostering a collaborative and
empowering environment. They facilitate communication and collaboration within the
team and with stakeholders. The Scrum Master helps the team make decisions, resolve
conflicts, and work together effectively.
5. Metrics and Transparency: The Scrum Master promotes transparency by ensuring that
project metrics, such as burndown charts and velocity, are captured and shared with the
team and stakeholders. They help the team understand and interpret these metrics to
make data-driven decisions.
6. Continuous Improvement: The Scrum Master facilitates the team's continuous
improvement efforts. They encourage the team to reflect on their processes, identify
areas of improvement, and experiment with new practices. The Scrum Master fosters a
culture of learning and innovation within the team.
7. Stakeholder Management: The Scrum Master helps in managing relationships with
stakeholders, ensuring their involvement and collaboration throughout the project.
They facilitate communication and manage expectations between the team and
stakeholders.
8. Agile Advocate: The Scrum Master advocates for agile values, principles, and practices
within the organization. They promote the benefits of agile methodologies and help
create an environment that supports agility and adaptability.
6) What do you mean by CASE ? Explain it with different tools.
• CASE TOOLS:
A tool set that fills the workshop is called as Computer-
aided software engineering(CASE). Case tools normally added to the software engineer's
tool box.Case tools help to ensure that the quality is designed in before the given
product is built.
Generally,Case tools can be classified by its function,also by their role as instruments for
managers,by their use in the various steps of software engineering process,by its
environment.There are many tools used,some of them are,
• Information Engineering Tools:
The primary objective for this tools is the category is to represent business data
objects,their relationships and also how these data objects flow in different business
areas.
• Project Planning Tools:
Tools in this category focus on two primary areas: Software project effort and cost
estimation, and project scheduling.
• Risk Analysis Tools:
This tools enable a project manager to build a risky table by providing a detailed guidance
in the identification and analysis of the risks.
• Project Management Tools:
A manager should use this tools to collect metrics that will ultimately provide an software
quality.
• Process Modelling and Management Tools:
This tool is used to represent the key elements of a process.Process Management tools
can provide support to the defined process activities.
• Requirements Tracing Tools:
This tool combine human-interactive text evaluation,with a database management
system which stores and categorizes each system requirement.
• Documentation Tools:
This document publishing tools supports nearly every aspect of the software
engineering and it represent a substantial "leverage" opportunity for all the software
developers.
5) State the phases of SCRUM Model.

1. Product Backlog- Here, the Product owner meets the client and takes down all the
requirements. A document referred to as Product Backlog captures these requirements.
2. Sprint Backlog – Now, the Product Owner shares this Product Backlog with the Sprint
team (consists of Scrum Master, Developers, and testers) in a meeting referred to as the
“Sprint Planning” meeting. In sprint planning, the entire team agrees to complete a sub-
set of product backlog items. This agreement is called the Sprint Backlog & its basis the
team’s velocity/ capacity & the length of the sprint. The vital point to note here is, once
the team has finalized the Sprint backlog, they cannot change it within the Sprint. If any
change is required, it either goes to the next sprint, or the cancellation of the current
sprint happens.

For instance, the team may decide to release software in 3 iterations (each
iteration is referred to as “Sprint” in the world of Scrum)

 First Iteration– Story 1 and 3 will be released (Sprint 1)


 Second Iteration - Release of Story 2, 4 and 6 will happen(Sprint 2)
 Third Iteration – Story 5 will be released (Sprint 3)
 Daily Scrum- The Scrum Master conducts a daily meeting of the duration of 15 minutes
with the Sprint team to ensure progress is on track. This meeting is “Daily Scrum”. It
broadly discusses the below pointers-
o What did you accomplish since the last meeting?
o What are you working on until the next meeting?
o What's getting in your way?
 Sprint Review- At the end of each phase or “Sprint” – Scrum Master organizes a meeting
referred to as the “Sprint Review” meeting. In this meeting, the Product owner reviews
the product and assess whether the product is as per client expectations or not. It is an
informal meeting & is kept to less than 4 hours a week for a 4-week sprint.
 Sprint Retrospective meeting is conducted to discuss “What went well during the
Sprint” and “What needs improvement”. This meeting takes place after the sprint
review but before the next Sprint Planning Meeting. Its duration can be of a maximum of
3 hours for a 4-week sprint.
7) What is ERP? Give its benefits and major challenges for implementations.
ERP stands for Enterprise Resource Planning. It is a software system that integrates
various business functions and processes into a centralized platform. ERP enables
organizations to manage and automate activities such as finance, human resources,
manufacturing, supply chain, customer relationship management (CRM), and more.
Here are the benefits and major challenges associated with ERP implementations:
Benefits of ERP:

1. Streamlined Operations: ERP provides a unified view of business processes and data,
eliminating data silos and improving coordination among different departments
2. Improved Efficiency and Productivity: ERP automates repetitive tasks, standardizes
processes, and enables real-time data access, leading to improved operational efficiency
and increased productivity.
3. Enhanced Data Accuracy and Decision-making: ERP centralizes data, ensuring
consistency and accuracy. It provides real-time and up-to-date information, enabling
better decision-making based on accurate insights and analytics.
4. Integrated Business Functions: ERP integrates different business functions, allowing
seamless data flow and collaboration across departments. It enhances cross-functional
visibility and enables efficient resource allocation, inventory management, and
production planning.
5. Scalability and Flexibility:. They offer scalability to handle increasing data volumes and
can be customized to fit specific business needs, allowing organizations to evolve and
expand.
6. Enhanced Customer Service: ERP enables improved customer relationship management
by centralizing customer data, interactions, and order information.

Challenges of ERP Implementations:

1. Complexity: ERP implementations can be complex and challenging due to the


integration of multiple systems, processes, and data. It requires thorough planning,
system configuration, and customization to align with specific business requirements.
2. Cost: ERP implementations involve significant costs, including software licensing,
infrastructure, customization, training, and ongoing support.
3. Change Management: ERP implementations often require changes in processes,
workflows, and employee roles. Managing organizational change and ensuring user
adoption can be a significant challenge.
4. Data Migration and Quality: Transferring data from existing systems to the new ERP
platform can be complex. Data migration challenges include data mapping, cleansing,
and ensuring data integrity
5. Customization and Integration: Customizing and integrating ERP with existing systems,
legacy applications, or third-party software can pose challenges. It requires technical
expertise, ensuring seamless data exchange and compatibility between systems.
6. Project Management: ERP implementations require effective project management to
ensure timelines, budgets, and deliverables are met.
8) What is CRM? Gives its benefits and Limitations.
CRM stands for Customer Relationship Management. It is a strategy and technology that
helps businesses manage interactions and relationships with their customers. CRM
systems capture, organize, and analyze customer data to improve customer satisfaction,
retention, and overall business performance. Here are the benefits and limitations of
CRM: Benefits of CRM:

1. Customer Data Centralization: CRM systems centralize customer data, including contact
information, purchase history, interactions, and preferences. This provides a unified
view of customers, enabling personalized and targeted marketing, sales, and customer
service activities.
2. Improved Customer Engagement: CRM helps businesses better understand their
customers' needs, preferences, and behaviors. Which enables businesses to build
stronger relationships and deliver enhanced customer experiences.
3. Sales and Pipeline Management: CRM systems facilitate efficient sales management by
tracking leads, opportunities, and sales activities. Sales teams can manage their pipeline,
track customer interactions, and forecast revenue.
4. Enhanced Customer Service: CRM enables businesses to provide better customer
service by capturing and tracking customer inquiries, issues, and support requests
5. Marketing Campaign Management: CRM systems support targeted marketing
campaigns by segmenting customers based on their characteristics and behaviors. CRM
allows for measuring the return on marketing investments and optimizing marketing
strategies.
6. Customer Analytics and Reporting: CRM provides data analytics and reporting
capabilities, allowing businesses to analyze customer trends, purchasing patterns, and
behaviors.

Limitations of CRM:

1. Data Quality and Maintenance: CRM effectiveness relies on accurate and up-to-date
data. Maintaining data quality, ensuring data entry consistency, and keeping the
database updated can be a challenge.
2. Implementation Complexity: Implementing a CRM system requires proper planning,
customization, and integration with existing systems. Organizations need to allocate
time, budget, and skilled resources for successful implementation.
3. User Adoption: CRM systems are most effective when widely adopted by employees.
However, resistance to change, lack of training, or complex user interfaces can hinder
user adoption.
4. Cost: CRM implementations involve costs associated with software licenses,
infrastructure, customization, and ongoing maintenance. Small or resource-constrained
businesses may find CRM investments challenging.
5. Integration Challenges: Data synchronization, compatibility, and seamless integration
between systems may require technical expertise and careful planning.
6. Privacy and Security: CRM systems handle sensitive customer data, raising concerns
about privacy and security.
9) Discuss which of the following agile techniques is the best with a suitable example.

You might also like