University of Arkansas System
Type of paper: Thesis/Dissertation Chapter
Systems Analysis, Design and Integration
AIOcloud File Manager is a PC and mobile app will allow the sync, transfer and editing of document, photos, music and so on between multiple clouds services, i.e., Google Drive, Microsoft SkyDrive, Dropbox, F.T.P and company owned cloud server that has an application-programming interface (API) support. Project Organization Structure
The project is organization conform to the principles of Agile-Scrum. Scrum consist of three core roles Product Owner, Scrum Master and the Development Team. The diagram below will show the structure in more detail.
Senior Product Owner
The SPO is responsible for gathering inputs from external stakeholder, end-users, and customers. With the new inputs, SPO shall hold a brief meta-meeting with PO to update Product Backlog priorities and share the vision for the product. SPO is the single authority responsible for Return on Investment (ROI). SPO is the final mediator for requirements questions (Scrumtrainingseries.com, n.d.). Product Owner
PO are responsible for gathering inputs from team members. Updating the Product backlog by prioritizing task and features from highest to lowest. PO shall hold a daily scrum meeting with whole Scrum Team for a daily update with the following topics:
•What task was done yesterday?
•What will be accomplish today?
•Are there any obstructions in your way?
PO are also responsible to present a potentially delivered product to the SPO for review (Scrumtrainingseries.com, n.d.). NameTitle/PositionRoles
Leonard J. SmithSenior Project ManagerSenior Product Owner Keiko FujiwaraProject Manager CSPO certifiedProduct Owner
SM does not have any project manager powers but are responsible to facilitate the task that was set during the Daily Scrum meeting. SM make sure the
Development test stays on track by removing any distractions or potential interruptions (Scrumtrainingseries.com, n.d.). NameTitle/PositionRoles
Benjamin M. Tulson Sr. Technical Project ManagerScrum Master
The DT is a self-organizing and cross-functional group that are responsible to deliver a working potentially retail product after every sprint. There are no hierarchy or outside title/position within the development team, by doing so, it allows leadership skills to emerge naturally (Scrumtrainingseries.com, n.d.). NameTeam Role
Meredith K. JenningsWindows/Windows Mobile programmer
Armando C. SharpMac OSX/Apple IOS programmer
Angelina R. YoungLinux/Android programmer
Felix G. WolfeG.U.I Designer
John C. McKinneyU.I Designer Mobile platforms
Elsa R. SantiagoQuality Assurance/Documentation
Herbert M. BeckerFunctionality Tester/Business Analyst
Week 1: Requirements Specification
The aim is to multi-platform cloud file manager that would allow cross clouds file transfer and editing. It will allow potential customers no matter how cloud service they used to sync between each other. Instead of having multiple sync programs installed, they would only need one. Especially on mobile devices, if the sync is not setup to “sync only on Wi-Fi” it could potentially use up their data allotment and could accrued extra charges. Scope and Requirements
As an Agile-Scrum project management, the SPO work closely with the end-users and customer to get inputs for product backlog. One of the tools used is Voice of the Customer (VOC) program. VOC is a term to describe customer’s feedback about their experiences using the products/services and expectation of add features. VOC allows the ability to custom tailor a software/services that focus on customer’s needs, expectations and product improvement (Qualtrics.com, n.d.).
Currently the cloud services that are supported has API capabilities. API are available is the cloud service offer a software development kit (SDK), which is a set of development tools that allows the development of applications to use with their service, software or hardware. To measure connections between cross-platform tests the sync and file transfer capability of the program. For security aspect, first you must sign up on our website and purchase the program. After the purchase it completed, it will bring up a user control panel. This is where you log into your individual cloud accounts. Each cloud account will be provide its own unique Token and SHA1 hash for the software authentication. Sync could only be done using the provide software and the token/SHA1 has is provided once. If it was not written down or entered into the software, a new one need to be generated from our webpage user control panel (Krawczyk and Bellare et al., 1997). To measure hash password is to setup a brute force cracker without the salt and if it find the password, some part of the coding is wrong and have to be remedy. Assumptions and Constraints
Since with an Agile-Scrum approach, even after each sprint cycle, the product backlog continues to grow with new idea and features. Instead of a traditional use case, Scrum uses User Stories for modelling. The user story usually follow a simple template: As a , I want , So that I can .
If the acceptance criteria was not well written it could throw off the project into a different direction altogether (Gayatr and Pammi, 2013).
If the API authentication server is down, will there be a temporary authentication server with the real database of private key/hash strings. Would each sprint last one week or two and if a potentially working retail product could be produce.
Week 2: System or Application Design
Use Case Diagram
The following Use Case Diagram for the purchase of application and how the Senior Product Owner gathers resources and information.
This is the rough diagram to illustrate the database for new features for a product backlog and getting ROI form Online Store.
Functional Decomposition Diagram
The follow diagram is a graphical representation of SDLC process. Each break down of individual functions are color coded this way each team members knows what to focus on.
GUI Storyboard Mockup
The follow is AIOcloud GUI mockup done in Visual Studio 2013. It will be coded using Windows 8 metro app style. Subsequently, all three version of the program will look that same. The only different is that Linux will be java base and would not have the swipe feature for touch screen tablets and laptop/desktop. Windows 8, Android, IOS and Mac OSX will have full touchscreen capabilities.
Week 3: Test and Quality Assurance Plan
Unit Testing Plan
UTP shall be preform after each sprints to ensure program functionality after bug fixes, updates, or the addition of new features. The base result for the test is from a working program state at the end of each sprint. For example, at the end of the first sprint which is sprint 0, the UTP result will be used as a base for sprint 1 application and so forth. This way it will incorporated some of the regression test.
The follow is a template of what modules are to be tested. (note template has been shrunk to fit document.) (Name of System I.E. Windows 8 or Android 4.2 Jellybean) Unit Testing PlanDate of Test:
Key: Old is for program already installed; New is for new installation ModulesExpected ResultsActual ResultsCommentsFlag for Review
OldDialog confirming Newer program; Application installed NewDialog Program installing; Confirm Save To location; Application Installed
Login:U/P matches Database
OldCheck Config.ini; Change application to config.ini NewWelcome Screen; configure Preferences to make config.ini Cloud Service:
OldAPI test send quick ping to server; API valid NewAdd New API from User input Field; test cloud server; API valid Menu:
Oldable to open all menus
Newable to open all menus
System Testing Plan
The STP will consist of:
1.Being able to run the application and its features on different OS 2.If the application is able to run, is any modules cutoff or not able to be display. 3.The ability to cross transfer doc, pictures, movies and etc. between cloud servers. 4.If the item is transferred, is it able to be open on the new server or is it corrupted. 5.Making sure the Cloud server API matches the one generated and stored on the database.
Acceptance Testing Plan
End-User and Stakeholders will get the basic test in a form of an SDK. Within the SDK will be tools and instructions provided to created and preform their own test and results to be mail to Product Owners. This way if they have their own cloud services that they want to used, having their own test would be more productive. Quality Assurance Plan
The scope of the quality assurance plan is ensure proper functionality, usability, reliability and performance of the AIOcloud. These tests will be preform throughout the sprint duration. Functionality and performance test will be automated in a virtual environment. Usability and reliability will be tested on a physical Hardware. The following diagram will show the template when adding new features, bug fixes and general software revision.
All test case scripts will adhere to this diagram to ensure location of error events will be correctly logged and sent the both the QA and Programmer.
Week 4: Development Strategies & Acquisition
Insourcing has a lot of advantages, such as with insourcing, Intellectual Property does not have to be given to a third party. The need of having another manager to oversee the outsourced project would lower cost. The development of Scrum team is very high pace where the team communication is a must and with and outsourced company it could lead a chance for miscommunications (Dunne, 2011).
Insourcing does prove to have more cost than the alternative. If employees were to quit or lost to another company, the cost of retraining a team member and getting up to speed with the current project would be unproductive. Also depending on the country the salary and labor could be more cost-effective to outsource (Alk, 2013). Near-sourcing and Outsourcing
Near-sourcing and Outsourcing is the same the only different is that with near-sourcing is in the same time zone as your company such as Mexico, South Americas and Canada. Outsourcing is usually meant for overseas support such as Russia, China, India or Southeast Asia (Jose, 2014). The advantages of outsourcing is that the training is already done by the outsource company. Depending on the country of the outsourced company, the labor and taxes would be much lower than US. The risk is that with such lower labor cost the production output might not be up to par. Since your company didn’t setup the training guideline for outsourced company the risk of product being leak could be at a higher risk that normal (Dunne, 2011).
Hybrid sourcing approach offers two models one is build-operate-transfer model, which is the customer partner with an offshore outsourcer whom build the system or software and manage it. Then over a specified year(s) given in the contract hands over system/software back to the customer. The other model is Virtual Captive. This model is actually owned by the customer and would give insourcing to and overall management/control to anyone visiting the campus. The visitor would assume from the branding and employee-badging (Overby, 2013).
As an advantage it would combine the best of both world but on the downside it is very hard to navigate (Overby, 2013). Proposal Plan
As an Agile-Scrum development team, the management of the team needs to be very demanding. For the full process of development and management of the whole project will be done with insourcing. While the inbound customer support and technical support would be near-sourcing. The follow chart are the Project Cost and ROI for the whole project. Project CostSoftware SubscriptionUnit CostTech Support Cost Cost of Labor5 millionMonthly$20 $10**
Cost of Marketing1.3 millionQuarterly$59 $5**
Cost of Outsource Initial cost660,000*Yearly$238 free
Cost of Outsource350,000
*these are one-time cost
**Tech support is optional but with the purchase of a year subscription, tech support is free
Projected ROI1st Year2nd Year3rd Year
Week 5: Work Breakdown Structure
The follow diagram is the Work Breakdown Structure. Initial planning is done at the beginning of the Scrum Model. After increased inbound calls for Tech support. A Proposal for an Outbound Tech center was introduced after Sprint 2 (Iteration 2) while Sprint 3 was in progress.
Alk, S. 2013. Outsourcing vs. Insourcing: The Pros and Cons. [online] Available at: http://www.umlnews.net/outsourcing-vs-insourcing-the-pros-and-cons/ [Accessed: 20 Mar 2014]. Dunne, R. 2011. 8 Reasons Why Insourcing is the New Outsourcing in Innovation. [online] Available at: http://product-ivity.com/insourcing-vs-outsourcing/ [Accessed: 18 Mar 2014]. Gayatr, G. and Pammi, K. 2013. Agile User Stories – Scrum Alliance. [online] Available at: https://www.scrumalliance.org/community/articles/2013/september/agile-user-stories [Accessed: 1 Mar 2014]. Global, O. 2013. The Real Cost of Outsourcing. [e-book] OSF Global Services. http://www.osf-global.com/assets/uploaded_files/en/outsourcing-costs-OSF-white-paper.pdf [Accessed: 18 Mar 2014]. Jose, C. 2014. Chat IT425_3_14_2014.
Available at: https://campus.ctuonline.edu/classroom/Pages/CommonGround.aspx?Class=346747&tid=205#_self [Accessed: 15 Mar 2014]. Krawczyk, H., Bellare, M. and Canetti, R. 1997. HMAC: Keyed-Hashing for Message Authentication. [online] Available at: http://www.ietf.org/rfc/rfc2104.txt [Accessed: 1 Mar 2014]. Overby, S. 2013. Does a Hybrid Offshore IT Outsourcing Model Make Sense for Your Company?. [online] Available at: http://www.cio.com/article/744328/Does_a_Hybrid_Offshore_IT_Outsourcing_Model_Make_Sense_for_Your_Company_ [Accessed: 24 Mar 2014]. Qualtrics.com. n.d. Voice of Customer Programs – How to Build the Best VOC | Qualtrics. [online] Available at: http://qualtrics.com/research-suite/voice-of-customer/