Tuesday, 22 May 2012

Key Apps Deliverable #3 – A Software Requirements Specification


For all ANDS funded software development projects, we require a Software Requirements Specification (SRS) near the beginning of project. There are two options:

OPTION 1:
Complete a non-public, paper document based on a traditional SRS developed by the IEEE (NOTE: Do not use this pdf document - ask your ANDS contact for the template in Microsoft Word format if you are interested in this option).

OPTION 2:
Include the same information that is found in a traditional SRS, in your own Project Blog. This way, researchers and other development teams around the world will be able to discover what great work your team is doing.


If you decide to go down the Project Blog path, there are a few basic requirements on your Blog:
We also highly encourage the use of a web analytics engine so you can monitor the readership of your Blog.

Once you have set up this blog, ANDS requires the following 6 posts (including the listed tags) which will replace the traditional SRS.  A very nice early example from the Apps projects is the  blog from the Bird Species Distribution Records project (Edgar) from JCU. Links to the relevant posts from Edgar are shown below:

·         Post 1. "PRODUCT TEAM": Example from the Bird Species Distribution Records project, Edgar (AP03).
- Who are the people on the team and what skills/tools are they going to use during the course of the project to produce your primary product?
- A team picture and/or individual pictures with bios as per each role in the team is highly encouraged.
- This is also a good place to state the licensing you will be using for the content of the blog (e.g. Creative-Commons-Attribution) - please remember to use a link to the license and the correct CC logo.
TAGS for this post: andsApps, andsProjectTeam, andsSkills, fundedByAustralianNationalDataService, DIISRTE, {your project's acronym or tag}, {your ands project code, e.g. AP67}, {any other keyword tags you can think of that will help your project be discovered by like-minded projects}.


·         Post 2. "PROJECT DESCRIPTION" and/or "CASE FOR ACTION": Example from the Edgar Project
Please provide a short (one or two sentence) description about why you are doing this project, why it matters and to whom.  Also if you have the project aims and objectives to hand or any other simple outlines for what the project is doing, this would be the place to put it (though keep it simple and perhaps add a diagram so your readers stay interested).
TAGS for this post: andsProjectDescription, andsContext, andsAims, andsObjectives, andsApps, fundedByAustralianNationalDataService, DIISRTE, {your project's acronym or tag}, {your ands project code, e.g. AP67}, {any other keyword tags you can think of that will help your project be discovered by like-minded projects}.


·         Post 3. "TARGET CUSTOMERS and/or "HOW THE PRODUCT WILL MEET OUR USERS NEEDS", i.e. problems, solutions and benefits.  Example from the Edgar Project
Some questions to consider as you write this post:
- Who are your customers (both leading edge and typical)?
- What benefits will this product provide to each of those customers?
- What problems do your customers have and how will this product solve them?
- We would request that specific customers be named including their expected participation in the project (the customer should not be someone internal to the team).
TAGS for this post: andsCustomers, andsOwners, andsApps, fundedByAustralianNationalDataService, DIISRTE, {your project's acronym or tag}, {your ands project code, e.g. AP67}, {any other keyword tags you can think of that will help your project be discovered by like-minded projects}.


·         Post 4. "KEY FACTORS CUSTOMERS WILL USE TO JUDGE THE VALUE OF OUR PRODUCT", i.e. how do you independently measure success?  Example from the Edgar Project
Some questions to ask while writing this post:
- What parts of the product are the most important to customers and their perception of its value to what they want to do with it?
- How efficient is the product compared to how the customer originally did the task the system is replacing?
- How is your product better than what already exists out on the Web or are you just repeating what already exists?
- Is the product perceived as high quality and reliable by the customer?
- How do you enable your customers to independently review the product (how does the project manager or other team members try and influence the customer, is this reflected upon)?

TAGS for this post: andsQuality, andsValue, andsAssessment, andsCustomers, andsApps, fundedByAustralianNationalDataService, DIISRTE, {your project's acronym or tag}, {your ands project code, e.g. AP67}, {any other keyword tags you can think of that will help your project be discovered by like-minded projects}.

·         Post 5. TITLE: "KEY TECHNOLOGIES & KEY FEATURES".  Example from the Edgar Project
Please provide a list of the full stack of technology being used, including links to specific versions of the technology with full descriptions (feel free to use wikipedia links), e.g. networking protocols, operating systems, programming language and libraries, development tools and environments, frameworks, paradigms, methodologies, testing methods and usability tools, etc.  Based on this list, provide context for the technologies being used including:
a.) What is the most important part of technology being used?
b.) What will require the most development effort and why?
c.) What features are the most important to gain customer satisfaction and buy-in?
d.) Non-functional requirements.
e.) A high-level architectural diagram.


We also require you to provide a link to the source code repository (see our blog post entitled “KeyApps Deliverable #2 – Setting up a Product Code Repository) i.e. version control system, and that an open source license is chosen prior to starting the development - http://www.opensource.org/licenses/ ← we encourage use of branching/forking repositories such as Mercurial or Git on code.google or GitHub itself.  Please contact ANDS for guidance if you are using an internal SVN that isn't open to the public as this goes against the open source ethos we encourage projects to adopt. Although of course there are circumstances for keeping the code internal at first, we just need to have a discussion to make sure we understand how the code will be eventually opened up.
TAGS for this post: andsFeatures, andsFunctions, andsTechnology, andsArchitecture, andsTools, andsApps, fundedByAustralianNationalDataService, DIISRTE, {your project's acronym or tag}, {your ands project code, e.g. AP67}, {any other keyword tags you can think of that will help your project be discovered by like-minded projects}.

·         Post 6. TITLE: "PROJECT OUTPUTS & OUR PRIMARY PRODUCT".  Example from the Edgar Project
- What are the outputs that will be delivered and how will it be expressed so the outside world will understand what has been produced and what is reusable?
- What supporting documentation will be provided with each of the products so it can be reused?
- Will there be a dissemination event or training that will be rolled out alongside the product to help new customers to use it?
- Of all our outputs which product will be the most likely to be reused by other institutions?

TAGS for this post: andsOutputs, andsProduct, andsApps, fundedByAustralianNationalDataService, DIISRTE, {your project's acronym or tag}, {your ands project code, e.g. AP67}, {any other keyword tags you can think of that will help your project be discovered by like-minded projects}.

Please make sure to provide an ATOM / RSS feed so we and others can easily find these posts on the web.  Also please don't forget to add the ANDS logo and 'funder' statement with regards to DIISRTE support on each page, as described here.

Once you have published these six blog posts please let your ANDS contact know, as the ANDS technical review group will read over the posts and provide feedback, ideas and thoughts about other projects with similar technical requirements.

Once your SRS deliverable has been signed off, please continue blogging on a regular basis – it is a great advertiser for your project!

No comments:

Post a Comment

ANDS Applications Project Blogs/Sites