{"id":374,"date":"2018-05-04T13:42:15","date_gmt":"2018-05-04T12:42:15","guid":{"rendered":"http:\/\/generic.wordpress.soton.ac.uk\/group1\/?p=374"},"modified":"2018-05-04T13:42:15","modified_gmt":"2018-05-04T12:42:15","slug":"specifying-the-functional-specification","status":"publish","type":"post","link":"https:\/\/generic.wordpress.soton.ac.uk\/group1\/2018\/05\/04\/specifying-the-functional-specification\/","title":{"rendered":"Specifying the Functional Specification"},"content":{"rendered":"<p><strong>Specifying the Functional Specification<\/strong><\/p>\n<p>Before setting out to design the MoreThan Talk platform.\u00a0 We needed to establish the precise specification in order to ensure that we do not miss out any key feature or attribute of the platform.\u00a0 Laura Brandenburg describes purpose of the \u2018Functional Specification\u2019 as being \u201cto capture what the software needs to do to support a (business) user\u201d.<\/p>\n<p>We were going to do this in part through analysing the interviews \u2013 however since the ERGO process was not completed in time we were unable to complete these.\u00a0 We therefore had to create our own personas (see earlier blog) in order to understand how MoreThan Talk could be used and how it would relate to the experiences, expectations and needs of various potential users.\u00a0 We also discussed this as a group in order to try and pin down what we felt the MoreThan Talk social network should be seeking to achieve and more importantly how its technical construction would need to support the aims.<\/p>\n<p>The table below was created in order to define the functional specification.\u00a0 In is a collection of all the possible features and attributes that MoreThan Talk could include.\u00a0 This is akin to a child\u2019s Christmas wish-list, so we needed to apply some judgement over which features are essential and which are less so.\u00a0 One method that is used in this area is the MoSCoW method which was devised by Dai Clegg who was working on a rapid prototyping system and the aim is to draw designers and engineers to the most essential element of a design.\u00a0 In practise there is often a timeline element to the process which is not included here.<\/p>\n<p>Pavel Kukhnavets writing on his blog acknowledges the advantages of the MoSCoW model as it can really help to rank and classify items in order to develop a successful and effective product. He sees the key benefits to include:<\/p>\n<ul>\n<li>It is based on expert opinion of the team.<\/li>\n<li>It is relatively quick and easy to complete.<\/li>\n<\/ul>\n<h3>That said, he also identified some potential drawbacks of the technique:<\/h3>\n<ul>\n<li>MoSCoW rules can be subjective and therefore the prioritization can become largely inaccurate.<\/li>\n<li>The technique requires the team to have good familiarity with the product features. When there are different levels of expertise or familiarity it can make the ranking process uneven or draw unhelpful conclusions.<\/li>\n<\/ul>\n<p>Incidentally the term\u00a0MoSCoW\u00a0is an\u00a0acronym\u00a0which comes from the first letter of each of four prioritization categories <strong>Must<\/strong> have,\u00a0<strong>Should<\/strong> have,\u00a0<strong>Could <\/strong>have, and\u00a0<strong>Won&#8217;t<\/strong> have). Items receving a MUST absolutely have to end up in the final design.\u00a0 Items with WONT should not see the light of day.\u00a0 Other elements, the SHOULDS and the COULDs will be designed in as and when resources are available.<\/p>\n<p>&nbsp;<\/p>\n<p>We are using a variety of categories for this<\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"42\">Item<\/td>\n<td width=\"468\">Description<\/td>\n<td width=\"91\">MoSCoW<\/td>\n<\/tr>\n<tr>\n<td colspan=\"3\" width=\"601\">Signing-up and Logging on<\/td>\n<\/tr>\n<tr>\n<td width=\"42\">1<\/td>\n<td width=\"468\">Login screen seeks username and password<\/td>\n<td width=\"91\">MUST<\/td>\n<\/tr>\n<tr>\n<td width=\"42\">2<\/td>\n<td width=\"468\">All entries to the site via and challenge for username and password<\/td>\n<td width=\"91\">MUST<\/td>\n<\/tr>\n<tr>\n<td width=\"42\">3<\/td>\n<td width=\"468\">Inter-connectability \u2013 via dual logons with Google\/Facebook and other platforms<\/td>\n<td width=\"91\">SHOULD<\/td>\n<\/tr>\n<tr>\n<td width=\"42\">4<\/td>\n<td width=\"468\">Error message delivered for failed logon attempt<\/td>\n<td width=\"91\"><\/td>\n<\/tr>\n<tr>\n<td width=\"42\">5<\/td>\n<td width=\"468\">Three failed login in attempts locks the account for 1 hour<\/td>\n<td width=\"91\">WONT<\/td>\n<\/tr>\n<tr>\n<td width=\"42\">6<\/td>\n<td width=\"468\">User to choose their own username (assuming unique to the system)<\/td>\n<td width=\"91\">MUST<\/td>\n<\/tr>\n<tr>\n<td width=\"42\">7<\/td>\n<td width=\"468\">Login screen to be available in different languages<\/td>\n<td width=\"91\">SHOULD<\/td>\n<\/tr>\n<tr>\n<td colspan=\"3\" width=\"601\">Profile Page<\/td>\n<\/tr>\n<tr>\n<td width=\"42\">8<\/td>\n<td width=\"468\">Every user to have their own Profile Page<\/td>\n<td width=\"91\">MUST<\/td>\n<\/tr>\n<tr>\n<td width=\"42\">9<\/td>\n<td width=\"468\">Users to be able to personalise their page<\/td>\n<td width=\"91\">MUST<\/td>\n<\/tr>\n<tr>\n<td width=\"42\">10<\/td>\n<td width=\"468\">Users to be able to upload image of themselves<\/td>\n<td width=\"91\">MUST<\/td>\n<\/tr>\n<tr>\n<td width=\"42\">11<\/td>\n<td width=\"468\">Users have a \u2018news\u2019 capability<\/td>\n<td width=\"91\">SHOULD<\/td>\n<\/tr>\n<tr>\n<td width=\"42\">12<\/td>\n<td width=\"468\">Users have a \u2018message\u2019 capability<\/td>\n<td width=\"91\">MUST<\/td>\n<\/tr>\n<tr>\n<td width=\"42\">13<\/td>\n<td width=\"468\">Users should be able to display a nationality flag<\/td>\n<td width=\"91\">SHOULD<\/td>\n<\/tr>\n<tr>\n<td width=\"42\">14<\/td>\n<td width=\"468\">The profile page should be capable of being automatically translated into different languages<\/td>\n<td width=\"91\">SHOULD<\/td>\n<\/tr>\n<tr>\n<td width=\"42\">15<\/td>\n<td width=\"468\">Profile Page should link to a map to indicate the location (city\/region \u2013 fuzzy location) of the user<\/td>\n<td width=\"91\">SHOULD<\/td>\n<\/tr>\n<tr>\n<td width=\"42\">16<\/td>\n<td width=\"468\">The Profile Page should indicate the groups that the user is a member of<\/td>\n<td width=\"91\">SHOULD<\/td>\n<\/tr>\n<tr>\n<td width=\"42\">17<\/td>\n<td width=\"468\">Users able to create their own layout<\/td>\n<td width=\"91\">WONT<\/td>\n<\/tr>\n<tr>\n<td width=\"42\">18<\/td>\n<td width=\"468\">Users should be able to upload photo albums<\/td>\n<td width=\"91\">SHOULD<\/td>\n<\/tr>\n<tr>\n<td width=\"42\">19<\/td>\n<td width=\"468\">Profile Page could link to \u2018information file\u2019 about the user\u2019s city\/region\/country<\/td>\n<td width=\"91\">COULD<\/td>\n<\/tr>\n<tr>\n<td colspan=\"3\" width=\"601\">Sharing Personal Information<\/td>\n<\/tr>\n<tr>\n<td width=\"42\">20<\/td>\n<td width=\"468\">The user should be able to control which personal data is shared as public and with \u2018friends\u2019<\/td>\n<td width=\"91\">MUST<\/td>\n<\/tr>\n<tr>\n<td width=\"42\">21<\/td>\n<td width=\"468\">Personal<\/td>\n<td width=\"91\"><\/td>\n<\/tr>\n<tr>\n<td colspan=\"3\" width=\"601\">Functionality<\/td>\n<\/tr>\n<tr>\n<td width=\"42\">22<\/td>\n<td width=\"468\">The site should have groups for people to join \u2013 City\/country\/interest<\/td>\n<td width=\"91\">SHOULD<\/td>\n<\/tr>\n<tr>\n<td width=\"42\">23<\/td>\n<td width=\"468\">Users should be able to create their own groups<\/td>\n<td width=\"91\">SHOULD<\/td>\n<\/tr>\n<tr>\n<td width=\"42\">24<\/td>\n<td width=\"468\">Users should be able to contribute to location based information \u2013 regardless of the groups they are members of<\/td>\n<td width=\"91\">COULD<\/td>\n<\/tr>\n<tr>\n<td colspan=\"3\" width=\"601\">Protecting Personal Information<\/td>\n<\/tr>\n<tr>\n<td width=\"42\">25<\/td>\n<td width=\"468\">A user should be able to select the information that they make public<\/td>\n<td width=\"91\">MUST<\/td>\n<\/tr>\n<tr>\n<td width=\"42\">26<\/td>\n<td width=\"468\">A user should be encouraged to change their password each month<\/td>\n<td width=\"91\">WONT<\/td>\n<\/tr>\n<tr>\n<td width=\"42\">27<\/td>\n<td width=\"468\">A user\u2019s e-mail address should never be published on the site<\/td>\n<td width=\"91\">COULD<\/td>\n<\/tr>\n<tr>\n<td width=\"42\">28<\/td>\n<td width=\"468\">Personal data (username and passwords) to be kept encrypted on the main server<\/td>\n<td width=\"91\">MUST<\/td>\n<\/tr>\n<tr>\n<td colspan=\"3\" width=\"601\">Searching for users<\/td>\n<\/tr>\n<tr>\n<td width=\"42\">29<\/td>\n<td width=\"468\">Provide a searchable database of user \u2013 so that users can be identified by their expertise<\/td>\n<td width=\"91\">MUST<\/td>\n<\/tr>\n<tr>\n<td width=\"42\">30<\/td>\n<td width=\"468\">The writing of the query must be technically hidden from the user \u2013 aim for simplicity<\/td>\n<td width=\"91\">MUST<\/td>\n<\/tr>\n<tr>\n<td width=\"42\">31<\/td>\n<td width=\"468\">Matches should be possible due to Language spoken<\/td>\n<td width=\"91\">MUST<\/td>\n<\/tr>\n<tr>\n<td width=\"42\">32<\/td>\n<td width=\"468\">Matches should be possible due to Country someone lives in<\/td>\n<td width=\"91\">MUST<\/td>\n<\/tr>\n<tr>\n<td width=\"42\">33<\/td>\n<td width=\"468\">Matches should be possible due to identify areas of interest through drop-down list or tick buttons<\/td>\n<td width=\"91\">MUST<\/td>\n<\/tr>\n<tr>\n<td width=\"42\">34<\/td>\n<td width=\"468\">The return for searches must deliver all the possible matched on one screen \u2013 as a list<\/td>\n<td width=\"91\">MUST<\/td>\n<\/tr>\n<tr>\n<td width=\"42\">35<\/td>\n<td width=\"468\">Matches should have links to their profile \u2013 for ease of access<\/td>\n<td width=\"91\">SHOULD<\/td>\n<\/tr>\n<tr>\n<td width=\"42\">36<\/td>\n<td width=\"468\">Matches should be connactable via a \u2018message\u2019 button<\/td>\n<td width=\"91\">MUST<\/td>\n<\/tr>\n<tr>\n<td width=\"42\">37<\/td>\n<td width=\"468\">When a message is received a \u2013 prompt message \u2013 should be sent to the users e-mail address to advice them or the new message<\/td>\n<td width=\"91\">COULD<\/td>\n<\/tr>\n<tr>\n<td width=\"42\">38<\/td>\n<td width=\"468\">Users should be able to leave \u2018recorded\u2019 messages for matched<\/td>\n<td width=\"91\">COULD<\/td>\n<\/tr>\n<tr>\n<td width=\"42\">39<\/td>\n<td width=\"468\"><\/td>\n<td width=\"91\"><\/td>\n<\/tr>\n<tr>\n<td colspan=\"3\" width=\"601\">Maintaining personal data security<\/td>\n<\/tr>\n<tr>\n<td width=\"42\">40<\/td>\n<td width=\"468\">To be challenged for user name and password each time of entry onto the site<\/td>\n<td width=\"91\">MUST<\/td>\n<\/tr>\n<tr>\n<td width=\"42\">41<\/td>\n<td width=\"468\">Users have to set a \u2018secure\u2019 password \u2013 we specify length, characters etc.<\/td>\n<td width=\"91\">SHOULD<\/td>\n<\/tr>\n<tr>\n<td colspan=\"3\" width=\"601\">Monetization<\/td>\n<\/tr>\n<tr>\n<td width=\"42\">42<\/td>\n<td width=\"468\">Advertising blocks to be placed by third-party<\/td>\n<td width=\"91\">MUST<\/td>\n<\/tr>\n<tr>\n<td width=\"42\">43<\/td>\n<td width=\"468\">System to include analytics to allow feedback to advertisers<\/td>\n<td width=\"91\">MUST<\/td>\n<\/tr>\n<tr>\n<td width=\"42\">44<\/td>\n<td width=\"468\">AdWord systems to be allowed to link advertisements to the key words or locations of interest.<\/td>\n<td width=\"91\">MUST<\/td>\n<\/tr>\n<tr>\n<td colspan=\"3\" width=\"601\">Administration<\/td>\n<\/tr>\n<tr>\n<td width=\"42\">45<\/td>\n<td width=\"468\">Secure login available to all site supervisors<\/td>\n<td width=\"91\">MUST<\/td>\n<\/tr>\n<tr>\n<td width=\"42\">46<\/td>\n<td width=\"468\">The ability to assign moderation duties to third-parties<\/td>\n<td width=\"91\">MUST<\/td>\n<\/tr>\n<tr>\n<td width=\"42\">47<\/td>\n<td width=\"468\">The ability to suspend accounts<\/td>\n<td width=\"91\">MUST<\/td>\n<\/tr>\n<tr>\n<td width=\"42\">48<\/td>\n<td width=\"468\">The system should have capability to automatically publish warnings regarding abuse\/inappropriate images\/ and so forth.<\/td>\n<td width=\"91\">MUST<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>References<\/p>\n<p>1.\u00a0\u00a0\u00a0\u00a0\u00a0 <a href=\"http:\/\/www.bridging-the-gap.com\/author\/laura-brandau\/\">Laura Brandenburg<\/a> (Unknown) What Requirements Documents Does A Business Analyst Create? Available at the Gap <a href=\"http:\/\/www.bridging-the-gap.com\/requirements-documentation\/\">http:\/\/www.bridging-the-gap.com\/requirements-documentation\/<\/a><\/p>\n<p>2.\u00a0\u00a0\u00a0\u00a0\u00a0 Pavel Kukhnavets (2016) \u2018MoSCow Method: the Most Successful Prioritization Technique For Any Project\u2019 &#8211; Gattpro Blog &#8211; <a href=\"https:\/\/blog.ganttpro.com\/en\/prioritization-techniques-and-methods-for-projects-with-advantages-of-moscow-model\/\">https:\/\/blog.ganttpro.com\/en\/prioritization-techniques-and-methods-for-projects-with-advantages-of-moscow-model\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Specifying the Functional Specification Before setting out to design the MoreThan Talk platform.\u00a0 We needed to establish the precise specification in order to ensure that we do not miss out any key feature or attribute of the platform.\u00a0 Laura Brandenburg describes purpose of the \u2018Functional Specification\u2019 as being \u201cto capture what the software needs to [&hellip;]<\/p>\n","protected":false},"author":2984,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-374","post","type-post","status-publish","format-standard","hentry","category-uncategorised"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/generic.wordpress.soton.ac.uk\/group1\/wp-json\/wp\/v2\/posts\/374","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/generic.wordpress.soton.ac.uk\/group1\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/generic.wordpress.soton.ac.uk\/group1\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/generic.wordpress.soton.ac.uk\/group1\/wp-json\/wp\/v2\/users\/2984"}],"replies":[{"embeddable":true,"href":"https:\/\/generic.wordpress.soton.ac.uk\/group1\/wp-json\/wp\/v2\/comments?post=374"}],"version-history":[{"count":1,"href":"https:\/\/generic.wordpress.soton.ac.uk\/group1\/wp-json\/wp\/v2\/posts\/374\/revisions"}],"predecessor-version":[{"id":375,"href":"https:\/\/generic.wordpress.soton.ac.uk\/group1\/wp-json\/wp\/v2\/posts\/374\/revisions\/375"}],"wp:attachment":[{"href":"https:\/\/generic.wordpress.soton.ac.uk\/group1\/wp-json\/wp\/v2\/media?parent=374"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/generic.wordpress.soton.ac.uk\/group1\/wp-json\/wp\/v2\/categories?post=374"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/generic.wordpress.soton.ac.uk\/group1\/wp-json\/wp\/v2\/tags?post=374"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}