Uploaded by Sarim Khan

UPload

advertisement
ABASYN UNIVERSITY PESHAWAR
DEPARTMENT OF COMPUTER SCIENCE
LAB TITLE
Assignment # ( 1 )
Subject:- Software Project Management
Submitted to:- Sir Muhammad Yasir
Submitted by:- sarim khan
Roll No. :- 15812
Date:- 10–10- 2022
Q # 1 :Describe project and project management?
Ans :What Is The Project?
According to the Association for Project Management (APM), the definition of a
project is a job that is unique and temporary. Projects are carried out to achieve
the planned goals and produce the desired results or benefits (outputs). Time and
cost are the main foundation of a project. Therefore, a project is often said to be
successful if it achieves the desired goals and results within a timescale and
budget that is in accordance with the initial agreement.
Some examples of projects are software development, product or service
development, building construction, public infrastructure development,
natural disaster social activities, and others.
“Then, are projects and programs the same thing?”
This is also often confused by some people. According to the Project Management
Institute (PMI), projects are undertaken to create certain desired outcomes in the
most efficient way. Meanwhile, the program focuses on coordinating several
projects and other interrelated activities over time with the aim of bringing
benefits to the organization. Broadly speaking, the project is initiated to create a
predictable outcome and then closed when the results are successfully realized.
Meanwhile, the program is initiated to create change and realize benefits for the
organization.
What Is Project Management?
Like a car without fuel, a project certainly cannot run without good project
management activities in it. According to PMI, project management is the
activity of using specific knowledge, skills, tools, and techniques to deliver
values and benefits.
In simple terms, project management is the application of processes, methods,
skills, knowledge, and experience to achieve the objectives of a particular
project, according to agreed criteria and parameters. Project management
activities to achieve these results have limitations, time and budget. This
limitation also distinguishes “project management” from “management” which
is a continuous process. This is also what makes a professional project worker
must master various skills, techniques, resource management, and good
business awareness.
Q # 2 :What are 5 common problems of software project
failure?
Ans :Software development can be a tricky process. If you don’t get it quite right then
projects can end up on the scrapheap and with a few different annoyed parties to
boot. While there are some common problems that can crop up in development,
knowing what they are and how they come about will help you to avoid them.
Let’s take a look at 5 of the most common software development issues that
people run into.
1. Agreeing to poor requirements
A common issue when it comes to failures in software development is starting
out on the wrong foot with poor initial requirements. While a project may not
include all the requirements of the system upfront - which can be brought in
later, particularly if following Agile development practices - both the client and
the developer should have a fair idea of project scope in mind.
How can you avoid having poor requirements? It is important to have in mind
what actual software requirements look like! Here is just one example, but seek
out others to get a better idea. Unfortunately, since there is usually far less
knowledge of what should be required in the document from the clients’ side,
they’ll need to rely on developers to guide them. The requirements gathering
phase may take a considerable amount of time.
2. Poor communication between stakeholders
Poor communication can happen in any of the relationships involved in the
software development process, be it internally in teams, between teams, with
client and project management, between finance and project management, etc.,
etc. This is a more common problem to run into in software development where
people have not worked together previously. So how can you avoid this
problem, particularly if you are a client looking to engage a new software
development house or solo developers? The best way is to have a read through
their feedback from previous clients. A list of accolades from previous clients
with great results is usually a good indicator. 3. Missing the right team
members
Different software development projects need different team members
depending on the project’s goals. For instance, a new startup developing a B2C
web app will need more UX/UI expertise, whereas a company updating its
internal legacy systems may need developers with deep C-language knowledge.
The bigger the project, the more management will be necessary, too.
Hiring for target-language expertise only is not the right way to go about doing
software development. It is good practice to have a variety of team members,
each with their own expertise, and also match each person’s experience to the
type of project. 4. Costing troubles
Costing troubles will always crop up in any project where either the client or
development team is not experienced in costing. This is often the case in
agreements on fixed price projects. Since requirements can change, this may
make it difficult for developers who feel like they have already done far over
and above the fiscally feasible hours they should have put into a project. They
may refuse to do any further work unless a new payment plan is put into place.
To reduce the risk of this occurring, it’s better for fixed prices to be avoided and
instead work on an hourly rate. Clients should be able to check in on
development at all times to see what has been achieved.
5. Inadequate testing
Is the software full of bugs? That will happen due to inadequate testing. You can
tell poorly made software when any deviations from standard workflows result in
strange application behaviour. Unfortunately, this is an all too common
occurrence. When continuous testing and test automation are built into the
software from the beginning, it can help to alleviate the risk of inadequate testing.
Another way to avoid these risks is to have large software applications comprise
of microservices with APIs to communicate with each other. By building the
software piecewise, and testing with each code update, we can catch bugs quickly
and fix them before they combine into a mess.
Q # 3 :Can I build a software project without SDLC models?
Ans :Why is the SDLC important?
•
•
•
•
•
•
•
•
It provides a standardized framework that defines activities and
deliverables
It aids in project planning, estimating, and scheduling
It makes project tracking and control easier
It increases visibility on all aspects of the life cycle to all stakeholders
involved in the development process
It increases the speed of development
It improves client relations
It decreases project risks
It decreases project management expenses and the overall cost of
production
How does the SDLC work?
Planning phase
The planning phase encompasses all aspects of project and product
management. This typically includes resource allocation, capacity planning,
project scheduling, cost estimation, and provisioning.
During the planning phase, the development team collects input from
stakeholders involved in the project; customers, sales, internal and external
experts, and developers. This input is synthesized into a detailed definition of
the requirements for creating the desired software. The team also determines
what resources are required to satisfy the project requirements, and then infers
the associated cost.
Expectations are clearly defined during this stage as well; the team determines
not only what is desired in the software, but also what is NOT. The tangible
deliverables produced from this phase include project plans, estimated costs,
projected schedules, and procurement needs.
Coding phase
The coding phase includes system design in an integrated development
environment. It also includes static code analysis and code review for
multiple types of devices. Building Phase
The building phase takes the code requirements determined earlier and uses those
to begin actually building the software.
Testing Phase
The phase entails the evaluation of the created software. The testing team
evaluates the developed product(s) in order to assess whether they meet the
requirements specified in the ‘planning’ phase.
Assessments entail the performance of functional testing: unit testing, codequality
testing, integration testing, system testing, security testing, performance testing
and acceptance testing, as well as nonfunctional testing. If a defect is identified,
developers are notified. Validated (actual) defects are resolved, and a new version
of the software is produced.
The best method for ensuring that all tests are run regularly and reliably, is to
implement automated testing. Continuous integration tools assist with this need.
Release Phase
The release phase involves the team packaging, managing and deploying releases
across different environments.
Deploy Phase
In the deployment phase, the software is officially released into the production
environment.
Operate Phase
The operate phase entails the use of the software in the production environment.
Monitor Phase
In the monitor phase, various elements of the software are monitored. These
could include the overall system performance, user experience, new security
vulnerabilities, an analysis of bugs or errors in the system.
Q # 4 :Are SDLC and STLC two different aspects of software development process?
Ans :-
Difference between SDLC and STLC:
SDLC
STLC
SDLC is mainly related to software development.
to software testing.
STLC is mainly related
Besides development other phases like testing is also included.
focuses only on testing the software.
SDLC involves total six phases or
steps.
It
STLC involves only five phases or steps.
In SDLC, more number of
members
(developers)
are In SDLC, development team
required for the whole process.
In STLC, less number of members (testers)
are needed.
makes the plans and designs based In STLC, testing team(Test Lead or Test on
the requirements. Architect) makes the plans and designs.
Goal of SDLC is to complete successful development of Goal of STLC is to
complete successful software. testing of software.
It helps in developing good quality
software.
It helps in making the software defects free.
SDLC
phases
are completed STLC phases are performed after
SDLC before the STLC phases.
phases.
Post deployment support , Regression tests are run by QA team to enhancement
, and update are to be check deployed maintenance code and included if
necessary. maintains test cases and automated
scripts.
SDLC
STLC
Creation of reusable software A tested software system is the end result of
systems is the end result of SDLC. STLC.
Q # 1 :Describe project and project management?
Ans :What Is The Project?
According to the Association for Project Management (APM), the definition of a
project is a job that is unique and temporary. Projects are carried out to achieve
the planned goals and produce the desired results or benefits (outputs). Time and
cost are the main foundation of a project. Therefore, a project is often said to be
successful if it achieves the desired goals and results within a timescale and
budget that is in accordance with the initial agreement.
Some examples of projects are software development, product or service
development, building construction, public infrastructure development,
natural disaster social activities, and others.
“Then, are projects and programs the same thing?”
This is also often confused by some people. According to the Project Management
Institute (PMI), projects are undertaken to create certain desired outcomes in the
most efficient way. Meanwhile, the program focuses on coordinating several
projects and other interrelated activities over time with the aim of bringing
benefits to the organization. Broadly speaking, the project is initiated to create a
predictable outcome and then closed when the results are successfully realized.
Meanwhile, the program is initiated to create change and realize benefits for the
organization.
What Is Project Management?
Like a car without fuel, a project certainly cannot run without good project
management activities in it. According to PMI, project management is the
activity of using specific knowledge, skills, tools, and techniques to deliver
values and benefits.
In simple terms, project management is the application of processes, methods,
skills, knowledge, and experience to achieve the objectives of a particular
project, according to agreed criteria and parameters. Project management
activities to achieve these results have limitations, time and budget. This
limitation also distinguishes “project management” from “management” which
is a continuous process. This is also what makes a professional project worker
must master various skills, techniques, resource management, and good
business awareness.
Q # 2 :What are 5 common problems of software project
failure?
Ans :Software development can be a tricky process. If you don’t get it quite right then
projects can end up on the scrapheap and with a few different annoyed parties to
boot. While there are some common problems that can crop up in development,
knowing what they are and how they come about will help you to avoid them.
Let’s take a look at 5 of the most common software development issues that
people run into.
3. Agreeing to poor requirements
A common issue when it comes to failures in software development is starting
out on the wrong foot with poor initial requirements. While a project may not
include all the requirements of the system upfront - which can be brought in
later, particularly if following Agile development practices - both the client and
the developer should have a fair idea of project scope in mind.
How can you avoid having poor requirements? It is important to have in mind
what actual software requirements look like! Here is just one example, but seek
out others to get a better idea. Unfortunately, since there is usually far less
knowledge of what should be required in the document from the clients’ side,
they’ll need to rely on developers to guide them. The requirements gathering
phase may take a considerable amount of time.
4. Poor communication between stakeholders
Poor communication can happen in any of the relationships involved in the
software development process, be it internally in teams, between teams, with
client and project management, between finance and project management, etc.,
etc. This is a more common problem to run into in software development where
people have not worked together previously. So how can you avoid this
problem, particularly if you are a client looking to engage a new software
development house or solo developers? The best way is to have a read through
their feedback from previous clients. A list of accolades from previous clients
with great results is usually a good indicator. 3. Missing the right team
members
Different software development projects need different team members
depending on the project’s goals. For instance, a new startup developing a B2C
web app will need more UX/UI expertise, whereas a company updating its
internal legacy systems may need developers with deep C-language knowledge.
The bigger the project, the more management will be necessary, too.
Hiring for target-language expertise only is not the right way to go about doing
software development. It is good practice to have a variety of team members,
each with their own expertise, and also match each person’s experience to the
type of project. 4. Costing troubles
Costing troubles will always crop up in any project where either the client or
development team is not experienced in costing. This is often the case in
agreements on fixed price projects. Since requirements can change, this may
make it difficult for developers who feel like they have already done far over
and above the fiscally feasible hours they should have put into a project. They
may refuse to do any further work unless a new payment plan is put into place.
To reduce the risk of this occurring, it’s better for fixed prices to be avoided and
instead work on an hourly rate. Clients should be able to check in on
development at all times to see what has been achieved.
5. Inadequate testing
Is the software full of bugs? That will happen due to inadequate testing. You can
tell poorly made software when any deviations from standard workflows result in
strange application behaviour. Unfortunately, this is an all too common
occurrence. When continuous testing and test automation are built into the
software from the beginning, it can help to alleviate the risk of inadequate testing.
Another way to avoid these risks is to have large software applications comprise
of microservices with APIs to communicate with each other. By building the
software piecewise, and testing with each code update, we can catch bugs quickly
and fix them before they combine into a mess.
Q # 3 :Can I build a software project without SDLC models?
Ans :Why is the SDLC important?
•
•
•
•
•
•
•
•
It provides a standardized framework that defines activities and
deliverables
It aids in project planning, estimating, and scheduling
It makes project tracking and control easier
It increases visibility on all aspects of the life cycle to all stakeholders
involved in the development process
It increases the speed of development
It improves client relations
It decreases project risks
It decreases project management expenses and the overall cost of
production
How does the SDLC work?
Planning phase
The planning phase encompasses all aspects of project and product
management. This typically includes resource allocation, capacity planning,
project scheduling, cost estimation, and provisioning.
During the planning phase, the development team collects input from
stakeholders involved in the project; customers, sales, internal and external
experts, and developers. This input is synthesized into a detailed definition of
the requirements for creating the desired software. The team also determines
what resources are required to satisfy the project requirements, and then infers
the associated cost.
Expectations are clearly defined during this stage as well; the team determines
not only what is desired in the software, but also what is NOT. The tangible
deliverables produced from this phase include project plans, estimated costs,
projected schedules, and procurement needs.
Coding phase
The coding phase includes system design in an integrated development
environment. It also includes static code analysis and code review for
multiple types of devices. Building Phase
The building phase takes the code requirements determined earlier and uses those
to begin actually building the software.
Testing Phase
The phase entails the evaluation of the created software. The testing team
evaluates the developed product(s) in order to assess whether they meet the
requirements specified in the ‘planning’ phase.
Assessments entail the performance of functional testing: unit testing, codequality
testing, integration testing, system testing, security testing, performance testing
and acceptance testing, as well as nonfunctional testing. If a defect is identified,
developers are notified. Validated (actual) defects are resolved, and a new version
of the software is produced.
The best method for ensuring that all tests are run regularly and reliably, is to
implement automated testing. Continuous integration tools assist with this need.
Release Phase
The release phase involves the team packaging, managing and deploying releases
across different environments.
Deploy Phase
In the deployment phase, the software is officially released into the production
environment.
Operate Phase
The operate phase entails the use of the software in the production environment.
Monitor Phase
In the monitor phase, various elements of the software are monitored. These
could include the overall system performance, user experience, new security
vulnerabilities, an analysis of bugs or errors in the system.
Q # 4 :Are SDLC and STLC two different aspects of software development process?
Ans :-
Difference between SDLC and STLC:
SDLC
STLC
SDLC is mainly related to software development.
to software testing.
STLC is mainly related
Besides development other phases like testing is also included.
focuses only on testing the software.
SDLC involves total six phases or
steps.
It
STLC involves only five phases or steps.
In SDLC, more number of
members
(developers)
are In SDLC, development team
required for the whole process.
In STLC, less number of members (testers)
are needed.
makes the plans and designs based In STLC, testing team(Test Lead or Test on
the requirements. Architect) makes the plans and designs.
Goal of SDLC is to complete successful development of Goal of STLC is to
complete successful software. testing of software.
It helps in developing good quality
software.
It helps in making the software defects free.
SDLC
phases
are completed STLC phases are performed after
SDLC before the STLC phases.
phases.
Post deployment support , Regression tests are run by QA team to enhancement
, and update are to be check deployed maintenance code and included if
necessary. maintains test cases and automated
scripts.
SDLC
STLC
Creation of reusable software A tested software system is the end result of
systems is the end result of SDLC. STLC.
Q # 1 :Describe project and project management?
Ans :What Is The Project?
According to the Association for Project Management (APM), the definition of a
project is a job that is unique and temporary. Projects are carried out to achieve
the planned goals and produce the desired results or benefits (outputs). Time and
cost are the main foundation of a project. Therefore, a project is often said to be
successful if it achieves the desired goals and results within a timescale and
budget that is in accordance with the initial agreement.
Some examples of projects are software development, product or service
development, building construction, public infrastructure development,
natural disaster social activities, and others.
“Then, are projects and programs the same thing?”
This is also often confused by some people. According to the Project Management
Institute (PMI), projects are undertaken to create certain desired outcomes in the
most efficient way. Meanwhile, the program focuses on coordinating several
projects and other interrelated activities over time with the aim of bringing
benefits to the organization. Broadly speaking, the project is initiated to create a
predictable outcome and then closed when the results are successfully realized.
Meanwhile, the program is initiated to create change and realize benefits for the
organization.
What Is Project Management?
Like a car without fuel, a project certainly cannot run without good project
management activities in it. According to PMI, project management is the
activity of using specific knowledge, skills, tools, and techniques to deliver
values and benefits.
In simple terms, project management is the application of processes, methods,
skills, knowledge, and experience to achieve the objectives of a particular
project, according to agreed criteria and parameters. Project management
activities to achieve these results have limitations, time and budget. This
limitation also distinguishes “project management” from “management” which
is a continuous process. This is also what makes a professional project worker
must master various skills, techniques, resource management, and good
business awareness.
Q # 2 :What are 5 common problems of software project
failure?
Ans :Software development can be a tricky process. If you don’t get it quite right then
projects can end up on the scrapheap and with a few different annoyed parties to
boot. While there are some common problems that can crop up in development,
knowing what they are and how they come about will help you to avoid them.
Let’s take a look at 5 of the most common software development issues that
people run into.
5. Agreeing to poor requirements
A common issue when it comes to failures in software development is starting
out on the wrong foot with poor initial requirements. While a project may not
include all the requirements of the system upfront - which can be brought in
later, particularly if following Agile development practices - both the client and
the developer should have a fair idea of project scope in mind.
How can you avoid having poor requirements? It is important to have in mind
what actual software requirements look like! Here is just one example, but seek
out others to get a better idea. Unfortunately, since there is usually far less
knowledge of what should be required in the document from the clients’ side,
they’ll need to rely on developers to guide them. The requirements gathering
phase may take a considerable amount of time.
6. Poor communication between stakeholders
Poor communication can happen in any of the relationships involved in the
software development process, be it internally in teams, between teams, with
client and project management, between finance and project management, etc.,
etc. This is a more common problem to run into in software development where
people have not worked together previously. So how can you avoid this
problem, particularly if you are a client looking to engage a new software
development house or solo developers? The best way is to have a read through
their feedback from previous clients. A list of accolades from previous clients
with great results is usually a good indicator. 3. Missing the right team
members
Different software development projects need different team members
depending on the project’s goals. For instance, a new startup developing a B2C
web app will need more UX/UI expertise, whereas a company updating its
internal legacy systems may need developers with deep C-language knowledge.
The bigger the project, the more management will be necessary, too.
Hiring for target-language expertise only is not the right way to go about doing
software development. It is good practice to have a variety of team members,
each with their own expertise, and also match each person’s experience to the
type of project. 4. Costing troubles
Costing troubles will always crop up in any project where either the client or
development team is not experienced in costing. This is often the case in
agreements on fixed price projects. Since requirements can change, this may
make it difficult for developers who feel like they have already done far over
and above the fiscally feasible hours they should have put into a project. They
may refuse to do any further work unless a new payment plan is put into place.
To reduce the risk of this occurring, it’s better for fixed prices to be avoided and
instead work on an hourly rate. Clients should be able to check in on
development at all times to see what has been achieved.
5. Inadequate testing
Is the software full of bugs? That will happen due to inadequate testing. You can
tell poorly made software when any deviations from standard workflows result in
strange application behaviour. Unfortunately, this is an all too common
occurrence. When continuous testing and test automation are built into the
software from the beginning, it can help to alleviate the risk of inadequate testing.
Another way to avoid these risks is to have large software applications comprise
of microservices with APIs to communicate with each other. By building the
software piecewise, and testing with each code update, we can catch bugs quickly
and fix them before they combine into a mess.
Q # 3 :Can I build a software project without SDLC models?
Ans :Why is the SDLC important?
•
•
•
•
•
•
•
•
It provides a standardized framework that defines activities and
deliverables
It aids in project planning, estimating, and scheduling
It makes project tracking and control easier
It increases visibility on all aspects of the life cycle to all stakeholders
involved in the development process
It increases the speed of development
It improves client relations
It decreases project risks
It decreases project management expenses and the overall cost of
production
How does the SDLC work?
Planning phase
The planning phase encompasses all aspects of project and product
management. This typically includes resource allocation, capacity planning,
project scheduling, cost estimation, and provisioning.
During the planning phase, the development team collects input from
stakeholders involved in the project; customers, sales, internal and external
experts, and developers. This input is synthesized into a detailed definition of
the requirements for creating the desired software. The team also determines
what resources are required to satisfy the project requirements, and then infers
the associated cost.
Expectations are clearly defined during this stage as well; the team determines
not only what is desired in the software, but also what is NOT. The tangible
deliverables produced from this phase include project plans, estimated costs,
projected schedules, and procurement needs.
Coding phase
The coding phase includes system design in an integrated development
environment. It also includes static code analysis and code review for
multiple types of devices. Building Phase
The building phase takes the code requirements determined earlier and uses those
to begin actually building the software.
Testing Phase
The phase entails the evaluation of the created software. The testing team
evaluates the developed product(s) in order to assess whether they meet the
requirements specified in the ‘planning’ phase.
Assessments entail the performance of functional testing: unit testing, codequality
testing, integration testing, system testing, security testing, performance testing
and acceptance testing, as well as nonfunctional testing. If a defect is identified,
developers are notified. Validated (actual) defects are resolved, and a new version
of the software is produced.
The best method for ensuring that all tests are run regularly and reliably, is to
implement automated testing. Continuous integration tools assist with this need.
Release Phase
The release phase involves the team packaging, managing and deploying releases
across different environments.
Deploy Phase
In the deployment phase, the software is officially released into the production
environment.
Operate Phase
The operate phase entails the use of the software in the production environment.
Monitor Phase
In the monitor phase, various elements of the software are monitored. These
could include the overall system performance, user experience, new security
vulnerabilities, an analysis of bugs or errors in the system.
Q # 4 :Are SDLC and STLC two different aspects of software development process?
Ans :-
Difference between SDLC and STLC:
SDLC
STLC
SDLC is mainly related to software development.
to software testing.
STLC is mainly related
Besides development other phases like testing is also included.
focuses only on testing the software.
SDLC involves total six phases or
steps.
It
STLC involves only five phases or steps.
In SDLC, more number of
members
(developers)
are In SDLC, development team
required for the whole process.
In STLC, less number of members (testers)
are needed.
makes the plans and designs based In STLC, testing team(Test Lead or Test on
the requirements. Architect) makes the plans and designs.
Goal of SDLC is to complete successful development of Goal of STLC is to
complete successful software. testing of software.
It helps in developing good quality
software.
It helps in making the software defects free.
SDLC
phases
are completed STLC phases are performed after
SDLC before the STLC phases.
phases.
Post deployment support , Regression tests are run by QA team to enhancement
, and update are to be check deployed maintenance code and included if
necessary. maintains test cases and automated
scripts.
SDLC
STLC
Creation of reusable software A tested software system is the end result of
systems is the end result of SDLC. STLC.
Q # 1 :Describe project and project management?
Ans :What Is The Project?
According to the Association for Project Management (APM), the definition of a
project is a job that is unique and temporary. Projects are carried out to achieve
the planned goals and produce the desired results or benefits (outputs). Time and
cost are the main foundation of a project. Therefore, a project is often said to be
successful if it achieves the desired goals and results within a timescale and
budget that is in accordance with the initial agreement.
Some examples of projects are software development, product or service
development, building construction, public infrastructure development,
natural disaster social activities, and others.
“Then, are projects and programs the same thing?”
This is also often confused by some people. According to the Project Management
Institute (PMI), projects are undertaken to create certain desired outcomes in the
most efficient way. Meanwhile, the program focuses on coordinating several
projects and other interrelated activities over time with the aim of bringing
benefits to the organization. Broadly speaking, the project is initiated to create a
predictable outcome and then closed when the results are successfully realized.
Meanwhile, the program is initiated to create change and realize benefits for the
organization.
What Is Project Management?
Like a car without fuel, a project certainly cannot run without good project
management activities in it. According to PMI, project management is the
activity of using specific knowledge, skills, tools, and techniques to deliver
values and benefits.
In simple terms, project management is the application of processes, methods,
skills, knowledge, and experience to achieve the objectives of a particular
project, according to agreed criteria and parameters. Project management
activities to achieve these results have limitations, time and budget. This
limitation also distinguishes “project management” from “management” which
is a continuous process. This is also what makes a professional project worker
must master various skills, techniques, resource management, and good
business awareness.
Q # 2 :What are 5 common problems of software project
failure?
Ans :Software development can be a tricky process. If you don’t get it quite right then
projects can end up on the scrapheap and with a few different annoyed parties to
boot. While there are some common problems that can crop up in development,
knowing what they are and how they come about will help you to avoid them.
Let’s take a look at 5 of the most common software development issues that
people run into.
7. Agreeing to poor requirements
A common issue when it comes to failures in software development is starting
out on the wrong foot with poor initial requirements. While a project may not
include all the requirements of the system upfront - which can be brought in
later, particularly if following Agile development practices - both the client and
the developer should have a fair idea of project scope in mind.
How can you avoid having poor requirements? It is important to have in mind
what actual software requirements look like! Here is just one example, but seek
out others to get a better idea. Unfortunately, since there is usually far less
knowledge of what should be required in the document from the clients’ side,
they’ll need to rely on developers to guide them. The requirements gathering
phase may take a considerable amount of time.
8. Poor communication between stakeholders
Poor communication can happen in any of the relationships involved in the
software development process, be it internally in teams, between teams, with
client and project management, between finance and project management, etc.,
etc. This is a more common problem to run into in software development where
people have not worked together previously. So how can you avoid this
problem, particularly if you are a client looking to engage a new software
development house or solo developers? The best way is to have a read through
their feedback from previous clients. A list of accolades from previous clients
with great results is usually a good indicator. 3. Missing the right team
members
Different software development projects need different team members
depending on the project’s goals. For instance, a new startup developing a B2C
web app will need more UX/UI expertise, whereas a company updating its
internal legacy systems may need developers with deep C-language knowledge.
The bigger the project, the more management will be necessary, too.
Hiring for target-language expertise only is not the right way to go about doing
software development. It is good practice to have a variety of team members,
each with their own expertise, and also match each person’s experience to the
type of project. 4. Costing troubles
Costing troubles will always crop up in any project where either the client or
development team is not experienced in costing. This is often the case in
agreements on fixed price projects. Since requirements can change, this may
make it difficult for developers who feel like they have already done far over
and above the fiscally feasible hours they should have put into a project. They
may refuse to do any further work unless a new payment plan is put into place.
To reduce the risk of this occurring, it’s better for fixed prices to be avoided and
instead work on an hourly rate. Clients should be able to check in on
development at all times to see what has been achieved.
5. Inadequate testing
Is the software full of bugs? That will happen due to inadequate testing. You can
tell poorly made software when any deviations from standard workflows result in
strange application behaviour. Unfortunately, this is an all too common
occurrence. When continuous testing and test automation are built into the
software from the beginning, it can help to alleviate the risk of inadequate testing.
Another way to avoid these risks is to have large software applications comprise
of microservices with APIs to communicate with each other. By building the
software piecewise, and testing with each code update, we can catch bugs quickly
and fix them before they combine into a mess.
Q # 3 :Can I build a software project without SDLC models?
Ans :Why is the SDLC important?
•
•
•
•
•
•
•
•
It provides a standardized framework that defines activities and
deliverables
It aids in project planning, estimating, and scheduling
It makes project tracking and control easier
It increases visibility on all aspects of the life cycle to all stakeholders
involved in the development process
It increases the speed of development
It improves client relations
It decreases project risks
It decreases project management expenses and the overall cost of
production
How does the SDLC work?
Planning phase
The planning phase encompasses all aspects of project and product
management. This typically includes resource allocation, capacity planning,
project scheduling, cost estimation, and provisioning.
During the planning phase, the development team collects input from
stakeholders involved in the project; customers, sales, internal and external
experts, and developers. This input is synthesized into a detailed definition of
the requirements for creating the desired software. The team also determines
what resources are required to satisfy the project requirements, and then infers
the associated cost.
Expectations are clearly defined during this stage as well; the team determines
not only what is desired in the software, but also what is NOT. The tangible
deliverables produced from this phase include project plans, estimated costs,
projected schedules, and procurement needs.
Coding phase
The coding phase includes system design in an integrated development
environment. It also includes static code analysis and code review for
multiple types of devices. Building Phase
The building phase takes the code requirements determined earlier and uses those
to begin actually building the software.
Testing Phase
The phase entails the evaluation of the created software. The testing team
evaluates the developed product(s) in order to assess whether they meet the
requirements specified in the ‘planning’ phase.
Assessments entail the performance of functional testing: unit testing, codequality
testing, integration testing, system testing, security testing, performance testing
and acceptance testing, as well as nonfunctional testing. If a defect is identified,
developers are notified. Validated (actual) defects are resolved, and a new version
of the software is produced.
The best method for ensuring that all tests are run regularly and reliably, is to
implement automated testing. Continuous integration tools assist with this need.
Release Phase
The release phase involves the team packaging, managing and deploying releases
across different environments.
Deploy Phase
In the deployment phase, the software is officially released into the production
environment.
Operate Phase
The operate phase entails the use of the software in the production environment.
Monitor Phase
In the monitor phase, various elements of the software are monitored. These
could include the overall system performance, user experience, new security
vulnerabilities, an analysis of bugs or errors in the system.
Q # 4 :Are SDLC and STLC two different aspects of software development process?
Ans :-
Difference between SDLC and STLC:
SDLC
STLC
SDLC is mainly related to software development.
to software testing.
STLC is mainly related
Besides development other phases like testing is also included.
focuses only on testing the software.
SDLC involves total six phases or
steps.
It
STLC involves only five phases or steps.
In SDLC, more number of
members
(developers)
are In SDLC, development team
required for the whole process.
In STLC, less number of members (testers)
are needed.
makes the plans and designs based In STLC, testing team(Test Lead or Test on
the requirements. Architect) makes the plans and designs.
Goal of SDLC is to complete successful development of Goal of STLC is to
complete successful software. testing of software.
It helps in developing good quality
software.
It helps in making the software defects free.
SDLC
phases
are completed STLC phases are performed after
SDLC before the STLC phases.
phases.
Post deployment support , Regression tests are run by QA team to enhancement
, and update are to be check deployed maintenance code and included if
necessary. maintains test cases and automated
scripts.
SDLC
STLC
Creation of reusable software A tested software system is the end result of
systems is the end result of SDLC. STLC.
Q # 1 :Describe project and project management?
Ans :What Is The Project?
According to the Association for Project Management (APM), the definition of a
project is a job that is unique and temporary. Projects are carried out to achieve
the planned goals and produce the desired results or benefits (outputs). Time and
cost are the main foundation of a project. Therefore, a project is often said to be
successful if it achieves the desired goals and results within a timescale and
budget that is in accordance with the initial agreement.
Some examples of projects are software development, product or service
development, building construction, public infrastructure development,
natural disaster social activities, and others.
“Then, are projects and programs the same thing?”
This is also often confused by some people. According to the Project Management
Institute (PMI), projects are undertaken to create certain desired outcomes in the
most efficient way. Meanwhile, the program focuses on coordinating several
projects and other interrelated activities over time with the aim of bringing
benefits to the organization. Broadly speaking, the project is initiated to create a
predictable outcome and then closed when the results are successfully realized.
Meanwhile, the program is initiated to create change and realize benefits for the
organization.
What Is Project Management?
Like a car without fuel, a project certainly cannot run without good project
management activities in it. According to PMI, project management is the
activity of using specific knowledge, skills, tools, and techniques to deliver
values and benefits.
In simple terms, project management is the application of processes, methods,
skills, knowledge, and experience to achieve the objectives of a particular
project, according to agreed criteria and parameters. Project management
activities to achieve these results have limitations, time and budget. This
limitation also distinguishes “project management” from “management” which
is a continuous process. This is also what makes a professional project worker
must master various skills, techniques, resource management, and good
business awareness.
Q # 2 :What are 5 common problems of software project
failure?
Ans :Software development can be a tricky process. If you don’t get it quite right then
projects can end up on the scrapheap and with a few different annoyed parties to
boot. While there are some common problems that can crop up in development,
knowing what they are and how they come about will help you to avoid them.
Let’s take a look at 5 of the most common software development issues that
people run into.
9. Agreeing to poor requirements
A common issue when it comes to failures in software development is starting
out on the wrong foot with poor initial requirements. While a project may not
include all the requirements of the system upfront - which can be brought in
later, particularly if following Agile development practices - both the client and
the developer should have a fair idea of project scope in mind.
How can you avoid having poor requirements? It is important to have in mind
what actual software requirements look like! Here is just one example, but seek
out others to get a better idea. Unfortunately, since there is usually far less
knowledge of what should be required in the document from the clients’ side,
they’ll need to rely on developers to guide them. The requirements gathering
phase may take a considerable amount of time.
10. Poor communication between stakeholders
Poor communication can happen in any of the relationships involved in the
software development process, be it internally in teams, between teams, with
client and project management, between finance and project management, etc.,
etc. This is a more common problem to run into in software development where
people have not worked together previously. So how can you avoid this
problem, particularly if you are a client looking to engage a new software
development house or solo developers? The best way is to have a read through
their feedback from previous clients. A list of accolades from previous clients
with great results is usually a good indicator. 3. Missing the right team
members
Different software development projects need different team members
depending on the project’s goals. For instance, a new startup developing a B2C
web app will need more UX/UI expertise, whereas a company updating its
internal legacy systems may need developers with deep C-language knowledge.
The bigger the project, the more management will be necessary, too.
Hiring for target-language expertise only is not the right way to go about doing
software development. It is good practice to have a variety of team members,
each with their own expertise, and also match each person’s experience to the
type of project. 4. Costing troubles
Costing troubles will always crop up in any project where either the client or
development team is not experienced in costing. This is often the case in
agreements on fixed price projects. Since requirements can change, this may
make it difficult for developers who feel like they have already done far over
and above the fiscally feasible hours they should have put into a project. They
may refuse to do any further work unless a new payment plan is put into place.
To reduce the risk of this occurring, it’s better for fixed prices to be avoided and
instead work on an hourly rate. Clients should be able to check in on
development at all times to see what has been achieved.
5. Inadequate testing
Is the software full of bugs? That will happen due to inadequate testing. You can
tell poorly made software when any deviations from standard workflows result in
strange application behaviour. Unfortunately, this is an all too common
occurrence. When continuous testing and test automation are built into the
software from the beginning, it can help to alleviate the risk of inadequate testing.
Another way to avoid these risks is to have large software applications comprise
of microservices with APIs to communicate with each other. By building the
software piecewise, and testing with each code update, we can catch bugs quickly
and fix them before they combine into a mess.
Q # 3 :Can I build a software project without SDLC models?
Ans :Why is the SDLC important?
•
•
•
•
•
•
•
•
It provides a standardized framework that defines activities and
deliverables
It aids in project planning, estimating, and scheduling
It makes project tracking and control easier
It increases visibility on all aspects of the life cycle to all stakeholders
involved in the development process
It increases the speed of development
It improves client relations
It decreases project risks
It decreases project management expenses and the overall cost of
production
How does the SDLC work?
Planning phase
The planning phase encompasses all aspects of project and product
management. This typically includes resource allocation, capacity planning,
project scheduling, cost estimation, and provisioning.
During the planning phase, the development team collects input from
stakeholders involved in the project; customers, sales, internal and external
experts, and developers. This input is synthesized into a detailed definition of
the requirements for creating the desired software. The team also determines
what resources are required to satisfy the project requirements, and then infers
the associated cost.
Expectations are clearly defined during this stage as well; the team determines
not only what is desired in the software, but also what is NOT. The tangible
deliverables produced from this phase include project plans, estimated costs,
projected schedules, and procurement needs.
Coding phase
The coding phase includes system design in an integrated development
environment. It also includes static code analysis and code review for
multiple types of devices. Building Phase
The building phase takes the code requirements determined earlier and uses those
to begin actually building the software.
Testing Phase
The phase entails the evaluation of the created software. The testing team
evaluates the developed product(s) in order to assess whether they meet the
requirements specified in the ‘planning’ phase.
Assessments entail the performance of functional testing: unit testing, codequality
testing, integration testing, system testing, security testing, performance testing
and acceptance testing, as well as nonfunctional testing. If a defect is identified,
developers are notified. Validated (actual) defects are resolved, and a new version
of the software is produced.
The best method for ensuring that all tests are run regularly and reliably, is to
implement automated testing. Continuous integration tools assist with this need.
Release Phase
The release phase involves the team packaging, managing and deploying releases
across different environments.
Deploy Phase
In the deployment phase, the software is officially released into the production
environment.
Operate Phase
The operate phase entails the use of the software in the production environment.
Monitor Phase
In the monitor phase, various elements of the software are monitored. These
could include the overall system performance, user experience, new security
vulnerabilities, an analysis of bugs or errors in the system.
Q # 4 :Are SDLC and STLC two different aspects of software development process?
Ans :-
Difference between SDLC and STLC:
SDLC
STLC
SDLC is mainly related to software development.
to software testing.
STLC is mainly related
Besides development other phases like testing is also included.
focuses only on testing the software.
SDLC involves total six phases or
steps.
It
STLC involves only five phases or steps.
In SDLC, more number of
members
(developers)
are In SDLC, development team
required for the whole process.
In STLC, less number of members (testers)
are needed.
makes the plans and designs based In STLC, testing team(Test Lead or Test on
the requirements. Architect) makes the plans and designs.
Goal of SDLC is to complete successful development of Goal of STLC is to
complete successful software. testing of software.
It helps in developing good quality
software.
It helps in making the software defects free.
SDLC
phases
are completed STLC phases are performed after
SDLC before the STLC phases.
phases.
Post deployment support , Regression tests are run by QA team to enhancement
, and update are to be check deployed maintenance code and included if
necessary. maintains test cases and automated
scripts.
SDLC
STLC
Creation of reusable software A tested software system is the end result of
systems is the end result of SDLC. STLC.
Q # 1 :Describe project and project management?
Ans :What Is The Project?
According to the Association for Project Management (APM), the definition of a
project is a job that is unique and temporary. Projects are carried out to achieve
the planned goals and produce the desired results or benefits (outputs). Time and
cost are the main foundation of a project. Therefore, a project is often said to be
successful if it achieves the desired goals and results within a timescale and
budget that is in accordance with the initial agreement.
Some examples of projects are software development, product or service
development, building construction, public infrastructure development,
natural disaster social activities, and others.
“Then, are projects and programs the same thing?”
This is also often confused by some people. According to the Project Management
Institute (PMI), projects are undertaken to create certain desired outcomes in the
most efficient way. Meanwhile, the program focuses on coordinating several
projects and other interrelated activities over time with the aim of bringing
benefits to the organization. Broadly speaking, the project is initiated to create a
predictable outcome and then closed when the results are successfully realized.
Meanwhile, the program is initiated to create change and realize benefits for the
organization.
What Is Project Management?
Like a car without fuel, a project certainly cannot run without good project
management activities in it. According to PMI, project management is the
activity of using specific knowledge, skills, tools, and techniques to deliver
values and benefits.
In simple terms, project management is the application of processes, methods,
skills, knowledge, and experience to achieve the objectives of a particular
project, according to agreed criteria and parameters. Project management
activities to achieve these results have limitations, time and budget. This
limitation also distinguishes “project management” from “management” which
is a continuous process. This is also what makes a professional project worker
must master various skills, techniques, resource management, and good
business awareness.
Q # 2 :What are 5 common problems of software project
failure?
Ans :Software development can be a tricky process. If you don’t get it quite right then
projects can end up on the scrapheap and with a few different annoyed parties to
boot. While there are some common problems that can crop up in development,
knowing what they are and how they come about will help you to avoid them.
Let’s take a look at 5 of the most common software development issues that
people run into.
11. Agreeing to poor requirements
A common issue when it comes to failures in software development is starting
out on the wrong foot with poor initial requirements. While a project may not
include all the requirements of the system upfront - which can be brought in
later, particularly if following Agile development practices - both the client and
the developer should have a fair idea of project scope in mind.
How can you avoid having poor requirements? It is important to have in mind
what actual software requirements look like! Here is just one example, but seek
out others to get a better idea. Unfortunately, since there is usually far less
knowledge of what should be required in the document from the clients’ side,
they’ll need to rely on developers to guide them. The requirements gathering
phase may take a considerable amount of time.
12. Poor communication between stakeholders
Poor communication can happen in any of the relationships involved in the
software development process, be it internally in teams, between teams, with
client and project management, between finance and project management, etc.,
etc. This is a more common problem to run into in software development where
people have not worked together previously. So how can you avoid this
problem, particularly if you are a client looking to engage a new software
development house or solo developers? The best way is to have a read through
their feedback from previous clients. A list of accolades from previous clients
with great results is usually a good indicator. 3. Missing the right team
members
Different software development projects need different team members
depending on the project’s goals. For instance, a new startup developing a B2C
web app will need more UX/UI expertise, whereas a company updating its
internal legacy systems may need developers with deep C-language knowledge.
The bigger the project, the more management will be necessary, too.
Hiring for target-language expertise only is not the right way to go about doing
software development. It is good practice to have a variety of team members,
each with their own expertise, and also match each person’s experience to the
type of project. 4. Costing troubles
Costing troubles will always crop up in any project where either the client or
development team is not experienced in costing. This is often the case in
agreements on fixed price projects. Since requirements can change, this may
make it difficult for developers who feel like they have already done far over
and above the fiscally feasible hours they should have put into a project. They
may refuse to do any further work unless a new payment plan is put into place.
To reduce the risk of this occurring, it’s better for fixed prices to be avoided and
instead work on an hourly rate. Clients should be able to check in on
development at all times to see what has been achieved.
5. Inadequate testing
Is the software full of bugs? That will happen due to inadequate testing. You can
tell poorly made software when any deviations from standard workflows result in
strange application behaviour. Unfortunately, this is an all too common
occurrence. When continuous testing and test automation are built into the
software from the beginning, it can help to alleviate the risk of inadequate testing.
Another way to avoid these risks is to have large software applications comprise
of microservices with APIs to communicate with each other. By building the
software piecewise, and testing with each code update, we can catch bugs quickly
and fix them before they combine into a mess.
Q # 3 :Can I build a software project without SDLC models?
Ans :Why is the SDLC important?
•
•
•
•
•
•
•
•
It provides a standardized framework that defines activities and
deliverables
It aids in project planning, estimating, and scheduling
It makes project tracking and control easier
It increases visibility on all aspects of the life cycle to all stakeholders
involved in the development process
It increases the speed of development
It improves client relations
It decreases project risks
It decreases project management expenses and the overall cost of
production
How does the SDLC work?
Planning phase
The planning phase encompasses all aspects of project and product
management. This typically includes resource allocation, capacity planning,
project scheduling, cost estimation, and provisioning.
During the planning phase, the development team collects input from
stakeholders involved in the project; customers, sales, internal and external
experts, and developers. This input is synthesized into a detailed definition of
the requirements for creating the desired software. The team also determines
what resources are required to satisfy the project requirements, and then infers
the associated cost.
Expectations are clearly defined during this stage as well; the team determines
not only what is desired in the software, but also what is NOT. The tangible
deliverables produced from this phase include project plans, estimated costs,
projected schedules, and procurement needs.
Coding phase
The coding phase includes system design in an integrated development
environment. It also includes static code analysis and code review for
multiple types of devices. Building Phase
The building phase takes the code requirements determined earlier and uses those
to begin actually building the software.
Testing Phase
The phase entails the evaluation of the created software. The testing team
evaluates the developed product(s) in order to assess whether they meet the
requirements specified in the ‘planning’ phase.
Assessments entail the performance of functional testing: unit testing, codequality
testing, integration testing, system testing, security testing, performance testing
and acceptance testing, as well as nonfunctional testing. If a defect is identified,
developers are notified. Validated (actual) defects are resolved, and a new version
of the software is produced.
The best method for ensuring that all tests are run regularly and reliably, is to
implement automated testing. Continuous integration tools assist with this need.
Release Phase
The release phase involves the team packaging, managing and deploying releases
across different environments.
Deploy Phase
In the deployment phase, the software is officially released into the production
environment.
Operate Phase
The operate phase entails the use of the software in the production environment.
Monitor Phase
In the monitor phase, various elements of the software are monitored. These
could include the overall system performance, user experience, new security
vulnerabilities, an analysis of bugs or errors in the system.
Q # 4 :Are SDLC and STLC two different aspects of software development process?
Ans :-
Difference between SDLC and STLC:
SDLC
STLC
SDLC is mainly related to software development.
to software testing.
STLC is mainly related
Besides development other phases like testing is also included.
focuses only on testing the software.
SDLC involves total six phases or
steps.
It
STLC involves only five phases or steps.
In SDLC, more number of
members
(developers)
are In SDLC, development team
required for the whole process.
In STLC, less number of members (testers)
are needed.
makes the plans and designs based In STLC, testing team(Test Lead or Test on
the requirements. Architect) makes the plans and designs.
Goal of SDLC is to complete successful development of Goal of STLC is to
complete successful software. testing of software.
It helps in developing good quality
software.
It helps in making the software defects free.
SDLC
phases
are completed STLC phases are performed after
SDLC before the STLC phases.
phases.
Post deployment support , Regression tests are run by QA team to enhancement
, and update are to be check deployed maintenance code and included if
necessary. maintains test cases and automated
scripts.
SDLC
STLC
Creation of reusable software A tested software system is the end result of
systems is the end result of SDLC. STLC.
Q # 1 :Describe project and project management?
Ans :What Is The Project?
According to the Association for Project Management (APM), the definition of a
project is a job that is unique and temporary. Projects are carried out to achieve
the planned goals and produce the desired results or benefits (outputs). Time and
cost are the main foundation of a project. Therefore, a project is often said to be
successful if it achieves the desired goals and results within a timescale and
budget that is in accordance with the initial agreement.
Some examples of projects are software development, product or service
development, building construction, public infrastructure development,
natural disaster social activities, and others.
“Then, are projects and programs the same thing?”
This is also often confused by some people. According to the Project Management
Institute (PMI), projects are undertaken to create certain desired outcomes in the
most efficient way. Meanwhile, the program focuses on coordinating several
projects and other interrelated activities over time with the aim of bringing
benefits to the organization. Broadly speaking, the project is initiated to create a
predictable outcome and then closed when the results are successfully realized.
Meanwhile, the program is initiated to create change and realize benefits for the
organization.
What Is Project Management?
Like a car without fuel, a project certainly cannot run without good project
management activities in it. According to PMI, project management is the
activity of using specific knowledge, skills, tools, and techniques to deliver
values and benefits.
In simple terms, project management is the application of processes, methods,
skills, knowledge, and experience to achieve the objectives of a particular
project, according to agreed criteria and parameters. Project management
activities to achieve these results have limitations, time and budget. This
limitation also distinguishes “project management” from “management” which
is a continuous process. This is also what makes a professional project worker
must master various skills, techniques, resource management, and good
business awareness.
Q # 2 :What are 5 common problems of software project
failure?
Ans :Software development can be a tricky process. If you don’t get it quite right then
projects can end up on the scrapheap and with a few different annoyed parties to
boot. While there are some common problems that can crop up in development,
knowing what they are and how they come about will help you to avoid them.
Let’s take a look at 5 of the most common software development issues that
people run into.
13. Agreeing to poor requirements
A common issue when it comes to failures in software development is starting
out on the wrong foot with poor initial requirements. While a project may not
include all the requirements of the system upfront - which can be brought in
later, particularly if following Agile development practices - both the client and
the developer should have a fair idea of project scope in mind.
How can you avoid having poor requirements? It is important to have in mind
what actual software requirements look like! Here is just one example, but seek
out others to get a better idea. Unfortunately, since there is usually far less
knowledge of what should be required in the document from the clients’ side,
they’ll need to rely on developers to guide them. The requirements gathering
phase may take a considerable amount of time.
14. Poor communication between stakeholders
Poor communication can happen in any of the relationships involved in the
software development process, be it internally in teams, between teams, with
client and project management, between finance and project management, etc.,
etc. This is a more common problem to run into in software development where
people have not worked together previously. So how can you avoid this
problem, particularly if you are a client looking to engage a new software
development house or solo developers? The best way is to have a read through
their feedback from previous clients. A list of accolades from previous clients
with great results is usually a good indicator. 3. Missing the right team
members
Different software development projects need different team members
depending on the project’s goals. For instance, a new startup developing a B2C
web app will need more UX/UI expertise, whereas a company updating its
internal legacy systems may need developers with deep C-language knowledge.
The bigger the project, the more management will be necessary, too.
Hiring for target-language expertise only is not the right way to go about doing
software development. It is good practice to have a variety of team members,
each with their own expertise, and also match each person’s experience to the
type of project. 4. Costing troubles
Costing troubles will always crop up in any project where either the client or
development team is not experienced in costing. This is often the case in
agreements on fixed price projects. Since requirements can change, this may
make it difficult for developers who feel like they have already done far over
and above the fiscally feasible hours they should have put into a project. They
may refuse to do any further work unless a new payment plan is put into place.
To reduce the risk of this occurring, it’s better for fixed prices to be avoided and
instead work on an hourly rate. Clients should be able to check in on
development at all times to see what has been achieved.
5. Inadequate testing
Is the software full of bugs? That will happen due to inadequate testing. You can
tell poorly made software when any deviations from standard workflows result in
strange application behaviour. Unfortunately, this is an all too common
occurrence. When continuous testing and test automation are built into the
software from the beginning, it can help to alleviate the risk of inadequate testing.
Another way to avoid these risks is to have large software applications comprise
of microservices with APIs to communicate with each other. By building the
software piecewise, and testing with each code update, we can catch bugs quickly
and fix them before they combine into a mess.
Q # 3 :Can I build a software project without SDLC models?
Ans :Why is the SDLC important?
•
•
•
•
•
•
•
•
It provides a standardized framework that defines activities and
deliverables
It aids in project planning, estimating, and scheduling
It makes project tracking and control easier
It increases visibility on all aspects of the life cycle to all stakeholders
involved in the development process
It increases the speed of development
It improves client relations
It decreases project risks
It decreases project management expenses and the overall cost of
production
How does the SDLC work?
Planning phase
The planning phase encompasses all aspects of project and product
management. This typically includes resource allocation, capacity planning,
project scheduling, cost estimation, and provisioning.
During the planning phase, the development team collects input from
stakeholders involved in the project; customers, sales, internal and external
experts, and developers. This input is synthesized into a detailed definition of
the requirements for creating the desired software. The team also determines
what resources are required to satisfy the project requirements, and then infers
the associated cost.
Expectations are clearly defined during this stage as well; the team determines
not only what is desired in the software, but also what is NOT. The tangible
deliverables produced from this phase include project plans, estimated costs,
projected schedules, and procurement needs.
Coding phase
The coding phase includes system design in an integrated development
environment. It also includes static code analysis and code review for
multiple types of devices. Building Phase
The building phase takes the code requirements determined earlier and uses those
to begin actually building the software.
Testing Phase
The phase entails the evaluation of the created software. The testing team
evaluates the developed product(s) in order to assess whether they meet the
requirements specified in the ‘planning’ phase.
Assessments entail the performance of functional testing: unit testing, codequality
testing, integration testing, system testing, security testing, performance testing
and acceptance testing, as well as nonfunctional testing. If a defect is identified,
developers are notified. Validated (actual) defects are resolved, and a new version
of the software is produced.
The best method for ensuring that all tests are run regularly and reliably, is to
implement automated testing. Continuous integration tools assist with this need.
Release Phase
The release phase involves the team packaging, managing and deploying releases
across different environments.
Deploy Phase
In the deployment phase, the software is officially released into the production
environment.
Operate Phase
The operate phase entails the use of the software in the production environment.
Monitor Phase
In the monitor phase, various elements of the software are monitored. These
could include the overall system performance, user experience, new security
vulnerabilities, an analysis of bugs or errors in the system.
Q # 4 :Are SDLC and STLC two different aspects of software development process?
Ans :-
Difference between SDLC and STLC:
SDLC
STLC
SDLC is mainly related to software development.
to software testing.
STLC is mainly related
Besides development other phases like testing is also included.
focuses only on testing the software.
SDLC involves total six phases or
steps.
It
STLC involves only five phases or steps.
In SDLC, more number of
members
(developers)
are In SDLC, development team
required for the whole process.
In STLC, less number of members (testers)
are needed.
makes the plans and designs based In STLC, testing team(Test Lead or Test on
the requirements. Architect) makes the plans and designs.
Goal of SDLC is to complete successful development of Goal of STLC is to
complete successful software. testing of software.
It helps in developing good quality
software.
It helps in making the software defects free.
SDLC
phases
are completed STLC phases are performed after
SDLC before the STLC phases.
phases.
Post deployment support , Regression tests are run by QA team to enhancement
, and update are to be check deployed maintenance code and included if
necessary. maintains test cases and automated
scripts.
SDLC
STLC
Creation of reusable software A tested software system is the end result of
systems is the end result of SDLC. STLC.
Q # 1 :Describe project and project management?
Ans :What Is The Project?
According to the Association for Project Management (APM), the definition of a
project is a job that is unique and temporary. Projects are carried out to achieve
the planned goals and produce the desired results or benefits (outputs). Time and
cost are the main foundation of a project. Therefore, a project is often said to be
successful if it achieves the desired goals and results within a timescale and
budget that is in accordance with the initial agreement.
Some examples of projects are software development, product or service
development, building construction, public infrastructure development,
natural disaster social activities, and others.
“Then, are projects and programs the same thing?”
This is also often confused by some people. According to the Project Management
Institute (PMI), projects are undertaken to create certain desired outcomes in the
most efficient way. Meanwhile, the program focuses on coordinating several
projects and other interrelated activities over time with the aim of bringing
benefits to the organization. Broadly speaking, the project is initiated to create a
predictable outcome and then closed when the results are successfully realized.
Meanwhile, the program is initiated to create change and realize benefits for the
organization.
What Is Project Management?
Like a car without fuel, a project certainly cannot run without good project
management activities in it. According to PMI, project management is the
activity of using specific knowledge, skills, tools, and techniques to deliver
values and benefits.
In simple terms, project management is the application of processes, methods,
skills, knowledge, and experience to achieve the objectives of a particular
project, according to agreed criteria and parameters. Project management
activities to achieve these results have limitations, time and budget. This
limitation also distinguishes “project management” from “management” which
is a continuous process. This is also what makes a professional project worker
must master various skills, techniques, resource management, and good
business awareness.
Q # 2 :What are 5 common problems of software project
failure?
Ans :Software development can be a tricky process. If you don’t get it quite right then
projects can end up on the scrapheap and with a few different annoyed parties to
boot. While there are some common problems that can crop up in development,
knowing what they are and how they come about will help you to avoid them.
Let’s take a look at 5 of the most common software development issues that
people run into.
15. Agreeing to poor requirements
A common issue when it comes to failures in software development is starting
out on the wrong foot with poor initial requirements. While a project may not
include all the requirements of the system upfront - which can be brought in
later, particularly if following Agile development practices - both the client and
the developer should have a fair idea of project scope in mind.
How can you avoid having poor requirements? It is important to have in mind
what actual software requirements look like! Here is just one example, but seek
out others to get a better idea. Unfortunately, since there is usually far less
knowledge of what should be required in the document from the clients’ side,
they’ll need to rely on developers to guide them. The requirements gathering
phase may take a considerable amount of time.
16. Poor communication between stakeholders
Poor communication can happen in any of the relationships involved in the
software development process, be it internally in teams, between teams, with
client and project management, between finance and project management, etc.,
etc. This is a more common problem to run into in software development where
people have not worked together previously. So how can you avoid this
problem, particularly if you are a client looking to engage a new software
development house or solo developers? The best way is to have a read through
their feedback from previous clients. A list of accolades from previous clients
with great results is usually a good indicator. 3. Missing the right team
members
Different software development projects need different team members
depending on the project’s goals. For instance, a new startup developing a B2C
web app will need more UX/UI expertise, whereas a company updating its
internal legacy systems may need developers with deep C-language knowledge.
The bigger the project, the more management will be necessary, too.
Hiring for target-language expertise only is not the right way to go about doing
software development. It is good practice to have a variety of team members,
each with their own expertise, and also match each person’s experience to the
type of project. 4. Costing troubles
Costing troubles will always crop up in any project where either the client or
development team is not experienced in costing. This is often the case in
agreements on fixed price projects. Since requirements can change, this may
make it difficult for developers who feel like they have already done far over
and above the fiscally feasible hours they should have put into a project. They
may refuse to do any further work unless a new payment plan is put into place.
To reduce the risk of this occurring, it’s better for fixed prices to be avoided and
instead work on an hourly rate. Clients should be able to check in on
development at all times to see what has been achieved.
5. Inadequate testing
Is the software full of bugs? That will happen due to inadequate testing. You can
tell poorly made software when any deviations from standard workflows result in
strange application behaviour. Unfortunately, this is an all too common
occurrence. When continuous testing and test automation are built into the
software from the beginning, it can help to alleviate the risk of inadequate testing.
Another way to avoid these risks is to have large software applications comprise
of microservices with APIs to communicate with each other. By building the
software piecewise, and testing with each code update, we can catch bugs quickly
and fix them before they combine into a mess.
Q # 3 :Can I build a software project without SDLC models?
Ans :Why is the SDLC important?
•
•
•
•
•
•
•
•
It provides a standardized framework that defines activities and
deliverables
It aids in project planning, estimating, and scheduling
It makes project tracking and control easier
It increases visibility on all aspects of the life cycle to all stakeholders
involved in the development process
It increases the speed of development
It improves client relations
It decreases project risks
It decreases project management expenses and the overall cost of
production
How does the SDLC work?
Planning phase
The planning phase encompasses all aspects of project and product
management. This typically includes resource allocation, capacity planning,
project scheduling, cost estimation, and provisioning.
During the planning phase, the development team collects input from
stakeholders involved in the project; customers, sales, internal and external
experts, and developers. This input is synthesized into a detailed definition of
the requirements for creating the desired software. The team also determines
what resources are required to satisfy the project requirements, and then infers
the associated cost.
Expectations are clearly defined during this stage as well; the team determines
not only what is desired in the software, but also what is NOT. The tangible
deliverables produced from this phase include project plans, estimated costs,
projected schedules, and procurement needs.
Coding phase
The coding phase includes system design in an integrated development
environment. It also includes static code analysis and code review for
multiple types of devices. Building Phase
The building phase takes the code requirements determined earlier and uses those
to begin actually building the software.
Testing Phase
The phase entails the evaluation of the created software. The testing team
evaluates the developed product(s) in order to assess whether they meet the
requirements specified in the ‘planning’ phase.
Assessments entail the performance of functional testing: unit testing, codequality
testing, integration testing, system testing, security testing, performance testing
and acceptance testing, as well as nonfunctional testing. If a defect is identified,
developers are notified. Validated (actual) defects are resolved, and a new version
of the software is produced.
The best method for ensuring that all tests are run regularly and reliably, is to
implement automated testing. Continuous integration tools assist with this need.
Release Phase
The release phase involves the team packaging, managing and deploying releases
across different environments.
Deploy Phase
In the deployment phase, the software is officially released into the production
environment.
Operate Phase
The operate phase entails the use of the software in the production environment.
Monitor Phase
In the monitor phase, various elements of the software are monitored. These
could include the overall system performance, user experience, new security
vulnerabilities, an analysis of bugs or errors in the system.
Q # 4 :Are SDLC and STLC two different aspects of software development process?
Ans :-
Difference between SDLC and STLC:
SDLC
STLC
SDLC is mainly related to software development.
to software testing.
STLC is mainly related
Besides development other phases like testing is also included.
focuses only on testing the software.
SDLC involves total six phases or
steps.
It
STLC involves only five phases or steps.
In SDLC, more number of
members
(developers)
are In SDLC, development team
required for the whole process.
In STLC, less number of members (testers)
are needed.
makes the plans and designs based In STLC, testing team(Test Lead or Test on
the requirements. Architect) makes the plans and designs.
Goal of SDLC is to complete successful development of Goal of STLC is to
complete successful software. testing of software.
It helps in developing good quality
software.
It helps in making the software defects free.
SDLC
phases
are completed STLC phases are performed after
SDLC before the STLC phases.
phases.
Post deployment support , Regression tests are run by QA team to enhancement
, and update are to be check deployed maintenance code and included if
necessary. maintains test cases and automated
scripts.
SDLC
STLC
Creation of reusable software A tested software system is the end result of
systems is the end result of SDLC. STLC.
Q # 1 :Describe project and project management?
Ans :What Is The Project?
According to the Association for Project Management (APM), the definition of a
project is a job that is unique and temporary. Projects are carried out to achieve
the planned goals and produce the desired results or benefits (outputs). Time and
cost are the main foundation of a project. Therefore, a project is often said to be
successful if it achieves the desired goals and results within a timescale and
budget that is in accordance with the initial agreement.
Some examples of projects are software development, product or service
development, building construction, public infrastructure development,
natural disaster social activities, and others.
“Then, are projects and programs the same thing?”
This is also often confused by some people. According to the Project Management
Institute (PMI), projects are undertaken to create certain desired outcomes in the
most efficient way. Meanwhile, the program focuses on coordinating several
projects and other interrelated activities over time with the aim of bringing
benefits to the organization. Broadly speaking, the project is initiated to create a
predictable outcome and then closed when the results are successfully realized.
Meanwhile, the program is initiated to create change and realize benefits for the
organization.
What Is Project Management?
Like a car without fuel, a project certainly cannot run without good project
management activities in it. According to PMI, project management is the
activity of using specific knowledge, skills, tools, and techniques to deliver
values and benefits.
In simple terms, project management is the application of processes, methods,
skills, knowledge, and experience to achieve the objectives of a particular
project, according to agreed criteria and parameters. Project management
activities to achieve these results have limitations, time and budget. This
limitation also distinguishes “project management” from “management” which
is a continuous process. This is also what makes a professional project worker
must master various skills, techniques, resource management, and good
business awareness.
Q # 2 :What are 5 common problems of software project
failure?
Ans :Software development can be a tricky process. If you don’t get it quite right then
projects can end up on the scrapheap and with a few different annoyed parties to
boot. While there are some common problems that can crop up in development,
knowing what they are and how they come about will help you to avoid them.
Let’s take a look at 5 of the most common software development issues that
people run into.
17. Agreeing to poor requirements
A common issue when it comes to failures in software development is starting
out on the wrong foot with poor initial requirements. While a project may not
include all the requirements of the system upfront - which can be brought in
later, particularly if following Agile development practices - both the client and
the developer should have a fair idea of project scope in mind.
How can you avoid having poor requirements? It is important to have in mind
what actual software requirements look like! Here is just one example, but seek
out others to get a better idea. Unfortunately, since there is usually far less
knowledge of what should be required in the document from the clients’ side,
they’ll need to rely on developers to guide them. The requirements gathering
phase may take a considerable amount of time.
18. Poor communication between stakeholders
Poor communication can happen in any of the relationships involved in the
software development process, be it internally in teams, between teams, with
client and project management, between finance and project management, etc.,
etc. This is a more common problem to run into in software development where
people have not worked together previously. So how can you avoid this
problem, particularly if you are a client looking to engage a new software
development house or solo developers? The best way is to have a read through
their feedback from previous clients. A list of accolades from previous clients
with great results is usually a good indicator. 3. Missing the right team
members
Different software development projects need different team members
depending on the project’s goals. For instance, a new startup developing a B2C
web app will need more UX/UI expertise, whereas a company updating its
internal legacy systems may need developers with deep C-language knowledge.
The bigger the project, the more management will be necessary, too.
Hiring for target-language expertise only is not the right way to go about doing
software development. It is good practice to have a variety of team members,
each with their own expertise, and also match each person’s experience to the
type of project. 4. Costing troubles
Costing troubles will always crop up in any project where either the client or
development team is not experienced in costing. This is often the case in
agreements on fixed price projects. Since requirements can change, this may
make it difficult for developers who feel like they have already done far over
and above the fiscally feasible hours they should have put into a project. They
may refuse to do any further work unless a new payment plan is put into place.
To reduce the risk of this occurring, it’s better for fixed prices to be avoided and
instead work on an hourly rate. Clients should be able to check in on
development at all times to see what has been achieved.
5. Inadequate testing
Is the software full of bugs? That will happen due to inadequate testing. You can
tell poorly made software when any deviations from standard workflows result in
strange application behaviour. Unfortunately, this is an all too common
occurrence. When continuous testing and test automation are built into the
software from the beginning, it can help to alleviate the risk of inadequate testing.
Another way to avoid these risks is to have large software applications comprise
of microservices with APIs to communicate with each other. By building the
software piecewise, and testing with each code update, we can catch bugs quickly
and fix them before they combine into a mess.
Q # 3 :Can I build a software project without SDLC models?
Ans :Why is the SDLC important?
•
•
•
•
•
•
•
•
It provides a standardized framework that defines activities and
deliverables
It aids in project planning, estimating, and scheduling
It makes project tracking and control easier
It increases visibility on all aspects of the life cycle to all stakeholders
involved in the development process
It increases the speed of development
It improves client relations
It decreases project risks
It decreases project management expenses and the overall cost of
production
How does the SDLC work?
Planning phase
The planning phase encompasses all aspects of project and product
management. This typically includes resource allocation, capacity planning,
project scheduling, cost estimation, and provisioning.
During the planning phase, the development team collects input from
stakeholders involved in the project; customers, sales, internal and external
experts, and developers. This input is synthesized into a detailed definition of
the requirements for creating the desired software. The team also determines
what resources are required to satisfy the project requirements, and then infers
the associated cost.
Expectations are clearly defined during this stage as well; the team determines
not only what is desired in the software, but also what is NOT. The tangible
deliverables produced from this phase include project plans, estimated costs,
projected schedules, and procurement needs.
Coding phase
The coding phase includes system design in an integrated development
environment. It also includes static code analysis and code review for
multiple types of devices. Building Phase
The building phase takes the code requirements determined earlier and uses those
to begin actually building the software.
Testing Phase
The phase entails the evaluation of the created software. The testing team
evaluates the developed product(s) in order to assess whether they meet the
requirements specified in the ‘planning’ phase.
Assessments entail the performance of functional testing: unit testing, codequality
testing, integration testing, system testing, security testing, performance testing
and acceptance testing, as well as nonfunctional testing. If a defect is identified,
developers are notified. Validated (actual) defects are resolved, and a new version
of the software is produced.
The best method for ensuring that all tests are run regularly and reliably, is to
implement automated testing. Continuous integration tools assist with this need.
Release Phase
The release phase involves the team packaging, managing and deploying releases
across different environments.
Deploy Phase
In the deployment phase, the software is officially released into the production
environment.
Operate Phase
The operate phase entails the use of the software in the production environment.
Monitor Phase
In the monitor phase, various elements of the software are monitored. These
could include the overall system performance, user experience, new security
vulnerabilities, an analysis of bugs or errors in the system.
Q # 4 :Are SDLC and STLC two different aspects of software development process?
Ans :-
Difference between SDLC and STLC:
SDLC
STLC
SDLC is mainly related to software development.
to software testing.
STLC is mainly related
Besides development other phases like testing is also included.
focuses only on testing the software.
SDLC involves total six phases or
steps.
It
STLC involves only five phases or steps.
In SDLC, more number of
members
(developers)
are In SDLC, development team
required for the whole process.
In STLC, less number of members (testers)
are needed.
makes the plans and designs based In STLC, testing team(Test Lead or Test on
the requirements. Architect) makes the plans and designs.
Goal of SDLC is to complete successful development of Goal of STLC is to
complete successful software. testing of software.
It helps in developing good quality
software.
It helps in making the software defects free.
SDLC
phases
are completed STLC phases are performed after
SDLC before the STLC phases.
phases.
Post deployment support , Regression tests are run by QA team to enhancement
, and update are to be check deployed maintenance code and included if
necessary. maintains test cases and automated
scripts.
SDLC
STLC
Creation of reusable software A tested software system is the end result of
systems is the end result of SDLC. STLC.
Download