Page 1 of 1 [ 4 posts ] 

RetroGamer87
Veteran
Veteran

User avatar

Joined: 30 Jul 2013
Age: 37
Gender: Male
Posts: 11,114
Location: Adelaide, Australia

23 Dec 2016, 3:05 am

I'm working on a side project during my Christmas break because I want to use my time productively I want the guys at work to take me seriously.

The idea is to make a Sharepoint site. I'll make it in Sharepoint Designer but first I have to write a spec or it's not a real project.

There are hundreds of specs at work but I don't have access to those because I'm at home. Are there any realistic examples of specs I can use as a template?

Can any of you with experience in software development offer me any guidance?


_________________
The days are long, but the years are short


kicker
Velociraptor
Velociraptor

User avatar

Joined: 10 Oct 2013
Age: 46
Gender: Male
Posts: 467
Location: Atalnta, Ga

23 Dec 2016, 6:14 pm

To write a good SRS you need to start off with a lot of paper and a steady supply of pens/pencils. Using a computer for the beginning to type out what you need is counterproductive and will actually slow you down. You want to brainstorm, organize, and refine as you go. Doing it digitally will make it difficult to compare different notes and keep things organized.

So to start off you need to define some basic answers to some questions. Use a new paper for each question. Getting a binder and sectioning off each question is a good idea.

1. What is the specific problem you are trying to solve with the software?

Most people have a general statement of a problem they believe they can solve with software (apps) For example 'Homeless teens in Urban areas need sexual health screenings'. That is a good start but you need to drill down further. Something like:(fictional) 'Homeless female teens in NYC have trouble accessing sexual health services to provide them with STI screenings and access to birth control measures. Homeless female teens account for 1% of preventable STI infections every year.....'

The more specific and detailed you are in defining the problem you wish to solve the better. The first example leaves a lot of interpretation up to the reader. Where the second example is more concise. Use research papers or articles, anecdotes, specific case examples to highlight the problem.

2. How will your software solve the specific problem?

Again general statements are NOT your friend here.

A statement like 'It will help them find sexual health clinics' won't cut it. Where as something like: 'The software will provide GPS coordinates, hours of operation, services provided, and basic information on sexual health for young female teens and adults.' is a much better answer. It specifically spells out the features the software will have to solve the problem. We know from that statement that it will have GPS, a database of clinics with their hours of service, services they provide, and basic health information that the user can read and we know that it is specifically geared towards young female adults and teens so information on post menopausal women would probably be outside the scope of the software.

3. What are the hardware interfaces your software will need? (ie: AMD Athlon II, 4GB RAM, 100MB disk space.)

4. What are the software interfaces your software will need? (ie: Google Maps API, MVC, MySQL, java, OSX)

5. Describe the user interface and how it works breaking it down into screens and the buttons or text on the each of them and how the user will interact with each. (ie, the home screen will have a red exit button that is 102x32 in the positon(xy) 10x10 with white letters that the user can mouse over and right click to end the program.)


Once you have that and it is as detailed as you can get it, (Hint if the least computer literate person you know understands what you are doing and how to do it then you are golden), you will want to start working out the classes/objects, security, maintainability, reliability, portability aspects of your software. Again each one as specific as possible. So for our example I would need a GPS class to handle reading the GPS coordinates of my user's mobile device and figure out the 5 closest clinics by order of distance from my user.For security I may need to use SSL to leverage the API I created to access my MySQL database. etc. This is the part where you are sort of writing code before actually writing it. By describing these functions/methods in detail the actual coding part will go quickly and smoothly (most times) and there is a clear understanding of how each part interacts.

Once you have that all done you will want to make it look professional (remember I suggested the binder) So use this link
https://www.google.com/url?sa=t&rct=j&q ... Eg&cad=rja

to download the word doc that gives a really detailed format for an SRS sheet/doc from the University of Colorado. There are other ones out there, some not so detailed.

So in conclusion, detail, detail, detail. Organize, more detail, make sure someone who has no computer knowledge can follow it, and don't think you will get it done in one weekend. It won't happen. Plan on spending at least a month writing and working out the idea until you can't think of anything else. (Your binder should be pretty full) Then let someone read it when they do and they will, write down the questions they ask, the page they ask it on, etc cause that is where you need to improve the detail. Once someone else can read it and can't think of any questions about it then you are ready to present the idea to your coworkers/investors and they will take you seriously.

Hope that helps give you a start.



kraftiekortie
Veteran
Veteran

Joined: 4 Feb 2014
Gender: Male
Posts: 87,510
Location: Queens, NYC

23 Dec 2016, 6:39 pm

Hey Kicker, How's it going?

Haven't seen you in these parts in a while.



kicker
Velociraptor
Velociraptor

User avatar

Joined: 10 Oct 2013
Age: 46
Gender: Male
Posts: 467
Location: Atalnta, Ga

23 Dec 2016, 7:19 pm

kraftiekortie wrote:
Hey Kicker, How's it going?

Haven't seen you in these parts in a while.


It is going well. Thank you for asking.