Methods I would use to gather requirements for writing a sales software where the two
partners could not agree on what exactly the software should do:
1. I would do research on the current system and business. e The first thing I would do
is understand the business mission statement to understand the business goal and
what is important to the business. Next, I would research to see what sales software
they are using. In doing this I would look to understand the pros and cons of the
current system and why an upgrade is needed.
2. I would conduct an interview with both partners together. I would start the interview
off with verifying the business mission statement to help align the two partners in
what they want the new software to be. I would then review the current system with
them and understand what they like, don’t like and why they want a new program. I
would ask each partner to take turns on what they want the new software program
using the Moscow method. This would help me understand where the common
ground is and build off that. In the interview I would use the 5 Ws and the 1H.
Projects face risks of failure quite often. There are many reasons to classify a project as
risky. The two I will highlight are the lack of appropriate funding and stakeholders not
giving the project proper support. First, funding a project can sometimes be extremely
complicated. Even if a business believes they have funded a project fully, there are many
costs that can creep up unexpectedly. One of the major ones are change orders. For
example, a company has several integrations, but left an obscure yet important one out of
the scope of work. Usually adding the integration as a change order is not an issue, but
most change orders come with an additional cost. In addition to change orders, another
situation that can unexpectedly arise is the need for updated hardware or software. Perhaps
their current system runs on Windows 7, but the new build requires an upgrade to Windows
10. Generally that would be an easy upgrade, but sometimes a new computer terminal will
also be needed to accommodate the operating system upgrade. Since lack of proper funding
can derail a project It is always wise to set aside additional funding. If the money is not
spent during the initial stages of the project it can be used for annual maintenance or
desired upgrades. The next risk is the lack of proper project support by stakeholders.
Stakeholders hold a great deal of power when it comes to the success of a project. A lot of
stakeholders are informal leaders and hold sway over others. If they choose not to support
the project, others will follow. this can impact every part of the project from building to
training to implementation. Each of those pieces need to be appropriately supported in order
to be successful.
The methods I would use to gather requirements would be interviewing stakeholders and
observation. Making sure all stakeholders have some involvement in the project will go a
long way to earning their support. Each stakeholder should have a voice, since an
administrator may have no idea what a front line user needs and vice versa. In order to get
a balanced view each position should be interviewed. Observation is necessary since seeing
how someone does their job can capture information that was overlooked in interviews.
Sometimes a user may do things out of habit or muscle memory and not realize there is a
functional requirement behind it. This is also a helpful way to verify the information
received in the interviews makes sense and clarify any gaps in the information. Software
engineering projects are driven by business needs. There are many different risks that can
arise in a software engineering project. The common risks include project scope changes,
technical challenges, schedule and budget overruns. In this scenario, the scope of the
project poses a risk to the entire project because the partners are not in agreement of what
the scope of the project should be. With the undefined / fluctuate scope, the project will
take longer to complete thus increase in cost for the project will occur.
To gather information for this retail store sale software, interviewing and requirement
workshops would be appropriate for this situation. Interviewing stakeholders (store partners,
store manager and sale associates) to gather information about their needs and expectations
for the software application. This method is useful because the project team can obtain
valuable insights that can be used to build the features and functionality that are most
important to the store for the application. e Requirement workshops would bring the
stakeholders together along with the project team to discuss and identify the requirements
for the software application and working toward a detail information/scope of the project
that would be aligned with the needs of the store and its customers. I would have to say that
project risk management is a process of managing risks associated with projects. It involves
identifying, assessing, and mitigating risks. Some of the common types of project risk are
project scope change, budget change or resource availability change. Risk management is
an important part of project planning and execution to ensure that risks are minimized as
much as possible. When it comes to scope change the stakeholders may have different ideas
comparing to what you have for the project. If you and the stakeholders can’t come to an
agreement, then the project that you plan to work with would not be completed. Therefore,
you need to be able to figure out what to discuss and how you and the stakeholders can
come to an agreement. It’s much easier to defend decisions and keep scope in check when
you’ve documented and agreed upon project deliverables before work begins says
.Knowing what risks to watch out for and how you’ll address them can go a long way in
easing anxiety for everyone involved in the project. Two ways that I would use to gather
requirements are document analysis and observation. Frequently overlooked, document
analysis is another highly effective technique for gathering requirements. One of the best
ways to understand what users truly need is to observe them performing their daily tasks.
By observing end users in the real context in which they perform their tasks, you’ll gain a
true understanding of what they are up against and what improvements they need so they
can perform better. You’ll then be better able to specify a system that successfully reinvents
users’ processes and grants them far greater productivity and usability, rather than simply
providing them an incremental improvement. Handling requirements is another way of
categorizing models. A Predictive Development model is an advancement of thought on the
needs before it is done. The design is based on the requirements of the system and is used
as a blueprint for the code to be written. Sometimes it's hard to know what it needs and the
materials to build it. Moreover, if the developers aren't familiar with a technique to use, it is
incompatible with the program to work.An Adaptive Development model is a way to
change the goals of the project during development if it is necessary. This will reevaluate
the changes in the design's direction when the outset is not relevant enough. An example of
this is watching a detective show. It has a detective trying to find the killer, he/she has the
necessary tools, and each time he/she finds a clue, the direction becomes updated.
A Sashimi Development model also known as the SashimI Waterfall phase is just like the
Waterfall model but it can overlap the steps. There are three types of prototypes;
throwaway, evolutionary, and incremental type. A throwaway is a study of the system being
tossed out once it is gathered and then the developer writes the code from the beginning
based on that system. An evolutionary prototype is a type that describes the application's
features. During the process, refinement of the features is established, new additions are
replaced, and the finished app is based off of those new features. An incremental is creating
a collection of other types from the characteristics of their finished version, a combination
of the applications. It is easier for developers to work on individual pieces from separate
prototypes. Feature-Driven Development is both an iterative and incremental model where
large teams use risk, the value of customers, or the waste to guide their development
process at a higher level. The features listed in this build are popularized and become
added. It goes through five phases; develop a model, build a feature list, plan by feature,
design by feature, and then build by feature. Two partners which are unaligned will derail
the project, disappoint the customer, and ruin their reputations. The partners should be able
to communicate and collaborate effectively. These risks can be unavoidable when the two
partners have different visions, levels of experience, expertise, and technical skills. One of
the partners will dominate the other partner and will hinder collaboration because they will
have a different understanding of the system requirements, tasks, and processes. Unaligned
goals will be another risk for the project. Both partners should have clear objectives for the
project and the deliverables at the end of the project.
One partner may have higher technical knowledge than the other partner. The more
experienced partner will lead in the development process, and this might inhibit the learning
experience of the other partner. To avoid these types of risks, both partners should have
similar levels of skills and experience so they can collaborate effectively on the project.A
lack of resources can cause significant problems for the software project. Resources include
the time, budget, and resources that are required to complete the project. If one or both
partners lack the required resources to complete the project, they will have to make difficult
sacrifices in order to complete the project on time.Two methods I'd use to gather
requirements for this project would be interviews or surveys. Interviews could be done with
key stakeholders to get the requirements from different perspectives. A survey could be sent
to customers to learn more about the requirements for this project. I would use a
combination of both methods to collect information for my software project. I would also
use workshops to gather more information from these key stakeholders and customers. In
this situation there are two partners that want this sales software, but they are unable to
agree on what it should do. That in itself is a risk for the project. One of the biggest risks to
software development is the purpose and need not being well defined. Be able to agree on
what the program should do falls under the purpose and need category and the stakeholder
risk. With these partners not agreeing they won't be able to execute the project wisely. They
become stakeholders in the project because they have the most interest in the project
succeeding and with them disagreeing it succeeding will become difficult. I would start by
doing stakeholder engagement because getting the partners to agree on what the software
should is important before any planning or development can be started. Even, if it's just a
very basic and simple idea to start with.This can be achieved in many different ways by
brainstorming, questionnaires, surveys, or presentations of various ways that the software
could work. Once we get them to agree then when can start documenting requirements. The
require are important because they can define the various features that will be necessary,
how many users will it need to support at a given time, and even where and how they want
to store customer information. I would generally do more than what is described here, but I
think this is a good place to start. For this weeks discussion topic of two small sports
equipment store partners not agreeing on what the proposed sales software should look like
or do, I'd run away from this project! Just kidding, but what a mess. I wonder how their
brick and mortar store is functioning, or not functioning. One partner must be carrying the
load to avoid conflict. Anyway, back to the question. One reason this project if classified as
a risky project would be by definition of a Waterfall model having clear and well defined
objectives. If the model needs to complete one step before moving to the next step, they
would never get past the first step of gathering what the software should look like and do.
High level design will never happen if the two partners can not give you a clear picture of
what they want. In the real world would it be possible to give them a example of past
working software's to agree upon? Another reason this would be a risky project would be
the possible conflict as the project continues or nears completion and the partners see an
example of their new sales software and not liking what they see.So, two methods I would
use to push this project along would be one on one, or face to face interactions like
brainstorming or group discussion. This would give all parties some sence of urgency to get
on the same page.