SOFTWARE MANAGEMENT AND QUALITY ASSURANCE - INFO 6255 CONTENTS Objective Introduction Roadmap Release Planning Roles Adopted Artifacts Meetings Testing Methodology Implementation Details Team Member Roles Software Management and Quality Assurance Fall 2011 OBJECTIVE To Understand the basics Development Methodology. of Agile Software To learn the process of Scrum Software Development Methodology which is a lightweight agile process framework. To implement the practices used by Scrum in developing a school network. Software Management and Quality Assurance Fall 2011 INTRODUCTION SchoolNetwork - Your best bud in school! "To provide practical information about classes for students, delivered by students." The main objective of this project is to provide an information resource for all students of Northeastern University. This will be an extension to Blackboard Software Management and Quality Assurance Fall 2011 Feature Details SchoolNetwork contains the following modules: Logging In User Profiles Administrator Tasks Groups Upload/Download Files Calendar Desktop Sharing Chat Search Functionality Software Management and Quality Assurance Fall 2011 User Stories Login Module As a user, I want to be able to login the system by NEU ID and password so that I can use the School Network application. As a user, I want to be able to look at my homepage as soon as I log in because I want to view my announcements as soon as I log in. Creation of Profiles As a user, I want to view my personal profile so that I can check for correctness of my personal information. As a user, I want to create my own profile with some personal as well as professional information so that others can get detailed information about my and can view my resume. Software Management and Quality Assurance Fall 2011 As a user, I want to be able to look up information about courses, majors and events online so that I can get detailed and descriptive information of courses that I am interested in. As a user, I want to post useful information such as reviews about courses/majors and information about events/career fairs to public users to share my experiences. Administrator Module As a user, I want to delete unused, invalid or overdue user accounts so that I can delete unwanted data and save space on the server. As a user, I want to delete negative, redundant posts or groups so that I can maintain a disciplined environment for the users. Software Management and Quality Assurance Fall 2011 As a user, I want to be able to look at all the user requests in my inbox because I want to organize them. As a user, I want to send a request to mark obscene/rude/explicit comments as SPAM to maintain a neat and civilized system environment. As a user, I want to add or delete the users from the system so that I am able to have a correct record of the users. As a user, I want to post information on the website so that the users can view it. As a user, I want view or/and approve groups created by users so that I can check the authenticity of the group. Groups Module As a user, I want to be able to create groups of students and professors so that I can have group discussions or share information within the group. Software Management and Quality Assurance Fall 2011 As a user, I should be able to send invitations to join in the public groups so that I can look at information posted in those groups. As a user, I want to send invite requests to join in the public groups so that I can look at useful information posted in those groups. As a user, I want to post information within the group so that I can share some opinions or discuss some topics with the other group members. As a user, I want to add/remove proper members from the group so that I am . As a user, I want to create events and send invites to students/professors for these events. Upload/Download files Module As a user, I want upload files to the group I have subscribed to, to share information or data such as course reference or presentations with other group members. Software Management and Quality Assurance Fall 2011 As a user, I want to look at information and download the files as a member of the group. As a user, I want to upload resume/documents/other files on my profile so that I make my profile more comprehensive and clear for others to know me. Calendar Module As a user, I want to be able to look up the schedule of professors and TAs so that I can schedule an appointment for academic assistance. As a user, I want to set my availability schedules on line to so that I can help students who need help. As a user, I want to schedule an appointment with professors or TAs online so that I can confirm the meeting with professor or TA. Software Management and Quality Assurance Fall 2011 As a user, I want to look my schedule (calendar) online so that I can check if any student has scheduled an appointment with me. As a user, I want to reschedule/cancel appointments on my calendar so that I can handle last minute changes in my schedule and keep the students informed. As a user, I want to view reminders about my appointments online so that I can sure I attend the meeting on time. Desktop Sharing/Chat Module As a user, I want to communicate with users online, using a desktop sharing tool so that I can seek help with regard to my courses. As a user, I want to chat with Professors, Teaching Assistants, Alumni and other students so that I can seek help/advice about majors, courses and other events in school using the chat window. Software Fall 2011 Management and Quality Assurance Search Module As a user, I want to be able to perform advanced search by people on the system because I want to look for people on the system easily. As a user, I want to be able to perform advanced search by files on the system because I want to look for files on the system easily. As a user, I want to be able to perform advanced search by groups on the system because I want to look for groups on the system easily. As a user, I want to be able to perform advanced search by events on the system because I want to look for events on the system easily. Software Management and Quality Assurance Fall 2011 ROADMAP Launch Release 1 Login module User profiles Administrative functions • • • • Groups feature Upload/Downl oad files Send invites to groups Release Date Release Date 1st week of November 3rd week of November Software Management and Quality Assurance Fall 2011 Feature List Feature List Feature List • • • Release 2 • • Desktop sharing functionality Chat functionality Advanced search Release Date 1st week of December SPRINT SCHEDULE THREE SPIRNTS FOR DEVELOPING THE WHOLE SYSTEM SPRINT 1 SPRINT 2 SPRINT 3 2 Weeks 2 Weeks 2 Weeks Launch Release 1 Release 2 Software Management and Quality Assurance Fall 2011 SPRINT 1 –RELEASE 1.0 Internal User Stories: As a user, I want be able to track the product development process so that I make sure the team is building the product right and in line with the schedule. As a user, I want to be able to use a source control system so that I can check in the code and version them and make it accessible to other team members while the project is in progress. As a user, I want to be able to design and develop a database for the product. As a user, I want to a testing framework so that I have fast and more efficient way of testing the product As a user, I want to be able to test the performance of the developed systems. Software Management and Quality Assurance Fall 2011 ROLES Product Owner Scrum Master Team Members • • • • Software Developers Testers and Software Quality Analyst Subject matter expert Technical publisher Software Management and Quality Assurance Fall 2011 ROLES CONTINUED Product Owner Acts as a voice of the customer. Writes customer centric items (User Stories) Responsible for Compiling and Prioritizing requirements. Responsible for communicating the requirements to the development team. Software Management and Quality Assurance Fall 2011 ROLES CONTINUED Scrum Master Liaison between the Product owner and the team. Acts as a team guide. Responsible for removing impediments that are obstructing the team from achieving its sprint goals. Makes sure success is visible to the Product Owner. Software Management and Quality Assurance Fall 2011 ROLES CONTINUED Team Members Developers – Responsible for developing the product. Testers and Software Quality Analysts – Responsible for testing the product and its overall quality. Subject Matter expert – A person who is an expert in a particular area or topic. Responsible for providing valuable guidance in the domain. Technical Publisher – Responsible for the Publishing documents at every stage of the project. Software Management and Quality Assurance Fall 2011 ARTIFACTS Product Backlog Set of all unimplemented features. Listed in priority. Sprint Backlog List of user stories implemented in next sprint. Rank assigned to stories. Task Breakdown for each user story. Burn down Chart Graphical chart of the work done and remaining. Simplified view of the sprint progress. Software Management and Quality Assurance Fall 2011 MEETINGS Following would be our pattern of meetings Daily Scrum – A 15 – 20 minute meeting every day to get the update from every team member on the work done and to be done for the day. Sprint Planning - A planning meeting at the start of every sprint to discuss in detail, about the work to be done during the sprint. Sprint Review – A review meeting at the end of every sprint to discuss the status of tasks, and lessons learned. Software Management and Quality Assurance Fall 2011 TESTING METHODOLOGY Agile testing methodology Software testing practice that follows agile software development. Involves testing from the customers perspective from early stage. Testing is done when ever code becomes available in a stable state. Advantage is requirements can be implemented and tested in weeks times. Software Management and Quality Assurance Fall 2011 IMPLEMENTATION DETAILS Application Front End – Eclipse and Flex Builder Backend Database – SQL Server 2008 Source Control System – Microsoft VSS Testing Framework – AgileTest(Frontend), AppLoader(Performance), SQL DB Validator(Database). Software Management and Quality Assurance Fall 2011 TEAM MEMBER ROLES Product Owner – Vinaya Vishwanath Scrum Master – Trupthi Patil Project Manager – Vrudhi Mohan Team Members Architect– Bi Xian Wang Developers – Anirudha Vaghmare, Poojan Mehta Testing and QA – Tarang Shah, Vrudhi Mohan Technical Publisher – Chinmay Hunasgi Software Management and Quality Assurance Fall 2011 THANK YOU Questions???? Software Management and Quality Assurance Fall 2011