IT Automation
Requirement Analysis Document Q & A:
Q: What is the link to the
RAD template?
A:
http://users.cs.fiu.edu/~sadjadi/Teaching/IT%20Automation/Spring%202009/Projects/RAD.doc
Q: Is this a formal
document?
A:
Yes, it is. So, please avoid using contractions (e.g., it's, don't, aren't,
etc) or any colloquial expressions. Do not use different terminology when
referring to same idea (e.g., administrators, admins,
and technicians). Avoid acronyms as much as possible. If acronyms are needed,
clarify what they mean and mention the acronym at its first appearance. As much
as possible, avoid using confusing references (e.g., it, its, they, their,
theirs). Who and what you are referring to should be clear to the reader when
you write they, their, etc. Avoid being too GENERIC in
your document. Specify how the functionalities and non-functionalities in your
project/system applies SPECIFICIALLY to the targeted
organization. Be consistent throughout the entire document. For example, if you
refer to a role by a specific term, stick to it and do not use different
versions (e.g., Accounting XP Machines, Accounting Machines, XP Machines, etc.).
Q: Are we a 3rd party company
being used by our fictitious organization to help them audit in a way and
propose a new system using Kaseya or a similar IT automation program?
A: You can assume that you
are a Managed Service Provider (MSP, which is the same as a 3rd
party company) providing IT management and automation to another company that
is outsourcing its IT management. Alternatively, you can assume that you are
the in-house IT department of that company who needs to acquire some IT
Automation software to take the IT management of its company to the next level.
Q: Once we developed the
RAD, will we also be responsible to perform the detailed design and
implementation of RAD ourselves? Should we assume that another group may take
over the detailed design and implementation based on our proposed system in the
RAD?
A: For this class, the same
group that develops the RAD will be responsible to perform the detailed design
and implementation of the proposed system. However, your RAD should be a
well-written document that any other group with the right knowledge of the field
can pick it up and without the need to consulting back with you,
they should be able to go one with the design and implementation. In fact, your
RAD will be graded based on the completeness and thoroughness of your document.
Q: Should we assume that we
will need to train the current employees at this company on how to use Kaseya?
We are just wondering what our roles are after proposing this plan whether we
will be taking over or just proposing and/or implementing this idea and
hopefully having them take it over at some point.
A: The answer really
depends on the situation. You can assume that you are part of an MSP company,
in which case you will be the one you will continue monitoring and managing the
company’s IT services. You can assume that you are part of the in-house IT
department, in which case you will continue to provide the service. Or finally,
you can assume that you are just providing consultation and initial design and
implementation for the company and someone else is going to take over afterwards,
in which case you need to plan for the training of the new staff/team.
Q: We've looked into Nagios more and it's more of a monitoring piece of software
but no automation type features like patch management. So, I believe we might
stick with Kaseya. But in our report we will draw out some pros and cons of the
two and compare them.
A: In general, the
rationale behind choosing a tool/solution should be strongly supported by your
requirement. Keep in mind that in RAD, you are not supposed to make decision
about the solution and tools. You are only supposed to elicit and analyze the
requirements independent of what solution you may choose during the design
phase of your project (the design phase will be after you are done with your
RAD). Of course, it is important for you as an IT professional not to suggest
something in the RAD that there is no solution available for it. You need to
bring the level of expectation by your customer to the level of available
solutions out there. Once in the design phase, you are free to choose any
solution that you can strongly support the reason for its selection and you do
not have to be limited to Kaseya. In fact, even if you choose Kaseya, you still
need to have done your homework on studying other solutions, comparing them,
and based on strong reasoning selecting Kaseya or any other solutions.
Reasoning could be pure technical, economical, availability of software, etc.
Note that those project that simply choose Kaseya, but do not provide
sufficient technical/etc reasons for their selection/decision in their System
Design Document (this is not part of RAD; it is part of SDD that comes next)
will be marked off for a couple of points.
Q: How detailed would you
like the report to be? For example, part of our proposed system is to cluster
mail and database servers together with load balancing so the companies server
architecture is better organized, easier to manage and have only those servers
be dedicated to those specific services (mail and database) right now we wrote out
in the current plan that the company has each server handling all web hosting
servers for that server. For example, 1 server has x amount of customers
(shared hosting) plus email/ftp/web/database being handled on it for those x
amount of customers. We believe that part of the current plan is to move
database and email services off of the individual servers and have a dedicated
cluster of email and database servers. Now with all of that said do we need to
write in our report of what load balancing software or additional software we
are using? Or, do we not focus too much on those details? but
just explain the overall idea?
A: The more detail the
better! Of course, please avoid boring the reader and explaining things that
are obvious. The key is that you should provide enough details for someone who
was not part of the RAD team to be able to read your document solely and be
able to design and implement it.
Q: We learned about n-able
as another possible solution to IT automation and management. n-able is better for servers then desktops. It does patch
management, remote registry management and so much more. Now if we also include
this software as well nagios and compare the 3 and
find n-able to be a better fit for the hosting environment could we base the RAD
around n-able? Also n-able works with Linux (http://www.n-able.com/software/features/remote-monitoring/devices/).
The current system for the RAD we came up with only deals with Windows Hosting.
If we were able to do the RAD based on n-able our proposed plan could add Linux
machines to the hosting environment to have a hybrid of platforms.
A: Once again, you should
not make any decision about the solutions/tools in your RAD document and you
need to leave such studies/decisions for the SDD. However, you need to make
sure what you propose in RAD is doable with the solutions/tools that you have
access to them and you will be able to finish you design and implementation on
time for this class. For SDD, the more solutions you study and compare, the
better. In fact, you can really impress me with a detailed and fair study and
if you take it to the next level of providing taxonomy of solutions for your
project, then I will be truly amazed! J In short, you are not limited to
Kaseya as a solution and in fact, if you choose Kaseya or any other tool, you
need to have a strong rationale and reasoning behind your selection/decision.
Q: Now, the only concern that
myself and the rest of the group have is if we are allowed to use n-able, would
it be a smart idea since your class focuses more on Kaseya and we have access
it to?
A: If you can get legal access to
the tools that you want to use for your project, you are more than welcome to
do so. I will also try to help to get an academic license for you for the tools
that you may choose, but I cannot make any promises ahead of time.
Q: Do you have a sample RAD report
that we could look over so we can get a better idea on how detailed you would like
it to be? Do we need to come up with a diagram or some sort of visual layout of
our current/proposed plan using Visio or something similar? If so, do we need
to configure subnets and assign networking to those subnets? I guess the main
concern like I mentioned before is how detailed our current/proposed plan
should be.
A: Unfortunately, I do not have
any sample at this point to share with you. I am hoping to use the best of your
RADs for future classes as samples. For the level of details, you need to think
of a person who was not part of your RAD process and he/she should be able to
easily use your document to design and implement your RAD. I am particularly
interested in seeing graphs, table, diagrams, architectural sketches, etc. So,
the more visual your document is the better. It would be a plus if you use UML
standards for your diagrams, but you do not have to (you will get extra credits
if you use UML, but you will not be marked off if you don’t).
Q: Can the RAD be based on the
needs of a completely fictitious and imaginary organization?
A: No, the RAD has to be based on
the needs of a real organization. You need to make sure that you elicit and
analyze the IT management and automation requirements that would be beneficial
to a real organization. Of course, you are allowed (and expected) to extend the
needs to cover all aspects of IT management and automation that we are
interested in this class and similarly you must limit the needs to make sure
that the project can be designed and implemented by the end of this semester.
Q: How can we find a real
organization to be considered for our project?
A: You can start by looking into
the organizations that some of you may be working for them and/or a close
relative or friend is working for them. It is very rare that no one in a group
of 5 members can have access to someone who works for an organization with IT
management and automation needs! If you look hard enough, I am sure that you
will be able to find several examples. It is important that you select one,
from which you can get sufficient information and help for your project.
Q: Can we look around on the
Internet to find some sample RAD for IT Automation?
A: Of course it never hurt to look
for answers in the Internet and get some help from search engines such as
Google to find some related documents. However, to my knowledge, this is the
first time such an IT Automation class is being taught at the university level
to senior IT students. Of course, you should be able to find many
examples/samples of RAD for variety of Software Engineering projects. However,
you need to be careful that the RAD for IT Automation is different from a RAD
for Software Engineering. Of course they share similar scope as RAD should stay
in the application domain (what your client and end users understand) and
should not include solutions such as Kaseya and the like (unless for good
reasons your client forces upon you a specific solution).
Q: In
Section 3.3 of the RAD document 3.3, we are supposed to discuss the
nonfunctional requirements. What are these non-functional requirements and how
we can elicit these from our clients?
A: As mentioned in the RAD
template, nonfunctional requirements describe user-level requirements that are
not directly related to functionality. For example, as functionality of your IT
Automation, you may provide Patch Management, which is a functionality of your
solution, but the level of reliability and its performance would fall into the
non-functionality of the solution. You can provide a solution that is much
faster and more reliable, or a solution that takes more time and may not be as
reliable. In both cases, the functionality provided is the same, but the
quality of delivering it is different. To better understand the different, a
Ferrari and a Chevy may both include same functionality (driving you to your
job or school), but the quality of drive may be different.
Q: What is the purpose of a RAD
document anyway? Why we bother developing a RAD document for IT Automation?
A: A RAD would need to convey the
following three points.
·
First,
RAD needs to clearly explain what the client’s current system is. Some examples
of what that means are as follows.
o
Does
our customer have a backup solution, if so what is it?
o
How
does the customer currently manage their systems? Whether it be
patch management, logging, inventory, monitoring, etc?
o
Are
they patching systems daily, weekly, monthly? Are they managing the computers
manually? How important is data to them? Do they have measures in place for
backup / disaster recovery? If so, explain.
o
When
problems arise, How are they dealt with?
o
How
important is downtime? Can certain computers afford to be down?
o
What
are the current roles? Does the web host have class A
customers? Is there a high level of security required for certain customers?
Maybe the web host has different packages for different customers (basic,
professional, enterprise).
·
Second,
RAD should demonstrate the clients ‘pain’. So from a non tech savvy end users
perspective, what are some of their daily frustrations with the current system?
What problems if any occur? Examples maybe email problems, Quickbooks
problems, programs don’t launch, computers shut down, etc.
·
Third,
RAD needs to include what the proposed system should be.
o
What
are the benefits of upgrading our client’s current system model?
o
How
will it improve their day to day business? We need to show why we chose a
specific solution.
o
What
solution do we recommend to the customer?
Note that RAD must be geared specifically
for the needs of your customer. It should not be for any generic company.
Therefore, the expected IT Automation must be customized and tailored to the
client’s particular problems. It is very important no to include any specific
solutions in RAD (e.g., kaseya, AVG, etc). Specific
solutions will be documented and discussed in the SDD and DDD. RAD should
include an overview of problems and possible solution scenarios. Keep in mind
that the solution should exist or should be possible to implement using the
current technologies available.
Q: What do you mean by the “scope”
of the system?
A: Basically, this gives you a
chance to indicate what is included in your system and what is not. For
example, installation of the operating system may not be included in your
project, but patching the operating system may be included. As another example,
getting backup from servers maybe included in your project, but the local
drives of the client machines may not be included.
Q: What should be included in the “Definitions,
acronyms, and abbreviations” section?
A: Any technical work that may not be understood by
the audience of your document (e.g., “patch management” may not be understood
by your client) must be clearly defined and explained in this section. Any
acronym (e.g., IP, TCP, etc.) and abbreviations (e.g., subnet, etc.) used in
your document must be spelled out and defined clearly in this section.
Q: What do you mean by “requirements elicitation
the analysis model of the new system”?
A: Requirement elicitation or
requirements gathering is the practice of obtaining the requirements of a
system from users, customers and any other stakeholders. Requirements
elicitation is a non-trivial task as there is always ambiguity and you cannot
ever be sure that you have gathered all requirements from the user and customer
by just asking them what the system should do. Requirements elicitation
includes interviews, questionnaires, user observation, workshops, brain
storming, use cases, role playing and prototyping. Requirements elicitation is
a part of the requirements engineering process, usually followed by analysis
and specification of the requirements. [ref:
Wikipedia]
Q: Should we base our RAD on the issues/problems/pains of only one
company?
A: You should start by gathering
real problems/pains from one real company. However, on one hand, you need to
make sure that you will expand the issues so that all the IT
management/automation aspects that we care about in this class are covered in
your project. To satisfy this, you may need to consider the issues that you
gather from other relevant companies too. As long as you are not making up the
issue out of nowhere and you have a basis for them, you should be fine.
Therefore, it is okay if the source of these problems is not just one specific
company as you may not be able to find one company that would have all the
issues that would cover what we want for this class. On the other hand, you
also need to make sure that you will be able to finish addressing all the issues
included in your RAD considering your available time during this semester. This
means that you may need to cut down on some of the redundant, less interesting,
and time consuming issues.
Q: Do we have to have a “go-to-person” who works in that company and
plays the role of an expert for us?
A: It would be great if there
would be such a person that would be happy to put aside some time to help you
out with your project voluntarily. However, if some of your teammates are
playing that role for you and/or some of your teammates have access to such
experts, but cannot provide the access to this expert for all the teammate, it
is still okay. Basically, if there is any ambiguity on a specific issue that
cannot be resolved, you need to simply put that issue aside and work on the
rest of issues and add another one if necessary.
Q: Should the name of the company (or target organization) be a real
name?
A: As long as no one is going to
sue you for inappropriate/illegal use of their name, then you should be fine. I
really do not care for a real name. What I care is to make sure that you inform
the companies/experts of your intension for the project in this class and seek
their permission to use the content of your interviews in this class project. You
also need to carefully acknowledge the people/companies that helped you with
gathering the requirements in an Acknowledgement section at the end of your
RAD. You need to add this section to the end of your RAD when appropriate.
Q: In our RAD, we included a few high-level
diagrams that we made in Visio? Should we include those in the RAD or wait
until the SDD and DDD that follows the RAD?
A: Yes and No!
If the diagrams showing the
current state of the system in which you need to show what the problem/pain is,
then yes.
If the diagrams are forced to you
by your customer/client to consider for the proposed solution, then the answer
is again yes.
If the diagrams are what you guys
are providing as part of your solution in the proposed system, then you have to
wait for SDD and DDD.
Acknowledgements: Some of the questions were contributed by the following individuals:
Patty Gibson, Lenny Simon, Yunier Rodriguez, Tito Esteves, Peter Greko, Norman
Wright, Lamont Mackey, Jean Kesnel, Luis Crespo, Suylleng Padilla, Seijiro Ikeda, and J.ohann
Padron.