Requirements Presentation
Transcript: Acceptance Criteria Introduction Risk Matrix The Spiral Model Identifying the (social) circles of life 4 Important Values of Agile: Individuals and interactions. Working software. Customer collaboration. Change. As an administrator, I want to be able to: Fix bugs. Add new features. Monitor the consumer base. Initial Considerations: Extrapolate ideas and choose a direction for the final product. Define a clear set of requirements to work towards. Research metrics for friendship strengths. Organise the group playing to individual members strengths. Chose which social networks. Useable by more than one person. Be given permission to access users data. Manually change generated data. Store queried data for future use. Use data for commercial purpose. Data presented in an easy to interpret format. Prevent personal data access without permission. Caching images and static content. Caching the frequent queries. Using a CDN (Content Distribution Network). Host downloadable files offsite (such as Amazon S3). Since end-user requirements are hard to obtain/define, it is natural to develop software in an experimental way: Build some software. See if it meets customer requirements. If no then repeat. Key idea: on each iteration identify and solve the sub-problems with the highest risk. This loop approach gives rise to structured iterative life cycle models. In 1988 Boehm developed the spiral model as an iterative model which includes risk analysis and risk management. As a user, I want to be able to: See who my closest friends are across multiple social media sites. See how close I am with certain friends. See how many connections I have. Choose which social media sites I use. Grant permission. Have the ability to manually change the results. Share the results with friends. See where the people are who I interact with. Compiled Research - Appropriate Social Media Sites The Waterfall Model - Pros & Cons The Waterfall Model Professional issues to consider: We must make sure we only keep data from users from whom we have obtained full consent. Making sure all laws are complied with. If not we may be liable under criminal law. Make sure we are receiving the correct form of consent. Express declaration of consent is needed, implied consent is not clear enough. Software Development Methods RASCI Chart (Responsibility assignment matrix) Compiled Research - Computational Challenges There are three key software development methodologies: Waterfall Model Spiral Model Agile Development Various different methods but all have the same principles: Timescale is fixed. Develop small. 80/20 rule. Testing. Collaborative & cooperative approach. Disadvantages: Needs to implemented properly. Difficult to scale up to large projects. Project brief: Create a Social Media "friend mapper". For an individual Social Media user the application should map the users network of "friends". Map these links based on strengths and weaknesses. Map "friends" in circles closest nearest the user and working outwards. Identify family members. Risk probability and impact - statistics Legal Issues cont. MOSCOW Requirements - Functional Requirements Compiled Research Risk Analysis - Technology & Tools Choice of 2 Types: Decentralized (egoless) control teams. Mixed Control Teams. We should adopt the Decentralized Control Team. Why? Connected communication. Decisions shared. Goals set by consensus- which already happens. Leadership dictated by -Ability, experience and expertise. Rolling project manager every week meaning that there is no stress on one person, and responsibility is shared between the group. Requirements Stage: User requirements and constraints are worked out. A preliminary study might be carried out. Acceptance criteria is developed. Deliverable: the requirement specification. Design Stage: Overall architecture. Interface between components and between the system and its environment are defined. Algorithms are developed and data structures are specified. Integration: Individual components are integrated to form the complete system. System is tested as a whole. Advantages: Iterative. Produces good team cohesion. Emphasis final product. Limitations: Quantity of social network server requests. Dunbar’s Number – maximum maintainable relationships is between 100 and 250; other studies propose 290 as the actual mean. Risk Analysis Risk Analysis - People Agile Development - Pros & Cons Acceptance Criteria - cont. Factors that affect friendship strength... Intensity Intimacy Duration Reciprocal services Social structure Emotional support Social distance Rejection of Waterfall: Effectiveness of requirements. Dissatisfied with delivered software. Choosing Agile : See the work being delivered. Potential Impact: Example Easy to use interface. Results are easy to interpret. Easy integration with chosen Social Media sites. Consistent application styling. Well known and legible fonts. Full Data Protection Act compliance. Copyright, Designs and Patents Act