Sepm Ese Ans
Sepm Ese Ans
Sepm Ese Ans
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.
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).
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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. 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)
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.
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.