Approval Date: Thursday, May 27, 2021
Approved for Academic Year: 2021-2022
Credit Weight: 4.00
Course Description
This course is the culmination of the all material learned in the program. In this project-based course, students design, develop, and publish an app that showcases the knowledge and skills gained throughout the program.
Key Elements of this Course:
Developing an Understanding of the roles of Project Management and Software Engineering in bringing and IT Product to market.
Project Management and Git ISSUES
Creating Project Planning Instrumention.
Maintaining your Project Plan in Latex.
Contents of your Planning Document:
The UVP
Monetization and Pricing
Software Engineering using Unified Process
All students must produce a ready-to-publish mobile application in a platform of their choice such as iOS, Android or cross platform.
Course Learning Outcomes/Course Objectives
Ideation: Propose your mobile app idea in a presentation format taking into consideration scope, category of the app, monetization, length of the project, resources, and competitive analysis.
1.1 Present an idea for a mobile app
1.2 Plan the development of the mobile application
1.3 Perform competitive analysis for proposed mobile application
1.4 Select and justify the chosen monetization technique
2 Identify the requirements and use cases of the proposed mobile application.
2.1 Identify functional requirements of the proposed mobile application
2.2 Identify any non-functional requirements of the proposed mobile application
2.3 Describe the use cases of and User Stories for the proposed mobile application
3 Analyze and design the proposed mobile application based on identified use cases and requirements.
3.1 Analyze all use cases and DESIGN the required components and flow of data
3.2 Analyze both functional and non-functional requirements of the proposed mobile application
3.3 Design all necessary components of the mobile application using UML
3.4 UI Prototyping: Using wireframing to outline the basic structure of your application
4 Integrate ideas and collaborate with team members to complete assigned tasks.
4.1 Perform and document daily agile team meetings. Use GIT ISSUES and keeping Success Optics on the Tracability Matrix to track the development of your Code.
4.2 Effectively communicate with team members and other stakeholders of the project using GIT ISSUES
4.3 Propose and discuss ideas to help complete tasks using the TRELLO BOARD.
5 Implement the proposed mobile application for the proposed platform using the agile software development methodology.
5.1 Perform daily sprints on scheduled tasks and GIT ISSUE resolution. Maintain a Google Doc Journal of issues and planning.
5.2 Perform daily check, commit, push and pull of the source code on GitHub
5.3 Complete tasks in time according to the project plan
6 Design and implement and execute test cases for the proposed mobile application to make sure it satisfies all requirements.
6.1 Identify all test cases for the proposed mobile application
6.2 Design the test cases with detailed outcomes
6.3 Implement the identified test cases
6.4 Execute the identified test cases
7 Debug, optimize, and finalize the mobile application for publishing.
7.1 Identify and fix any bugs or issues in the mobile application
7.2 Optimize the application for performance and efficiency
7.3 Prepare the application for publishing, including creating necessary assets and documentation
7.4 Publish the mobile application on the chosen platform
8 Present the final mobile application to stakeholders and the course instructor.
8.1 Prepare a comprehensive presentation showcasing the mobile application's features and functionality. This will be done in the format of a VIDEO.
8.2 Demonstrate the mobile application to stakeholders and the course instructor
8.3 Address any questions or concerns regarding the mobile application
8.4 Reflect on the development process, challenges faced, and lessons learned. This will be the final delivery of your GOOGLE DOC Project Journal.
Course Evaluation
Proposal Presentation: 10% Midterm Progress Report: 20% Final Mobile Application: 40% Final Presentation and Demonstration: 20% Participation and Collaboration: 10%
Required Textbooks and Resources
Android Studio / Xcode / appropriate development environment for the chosen platform Git and GitHub for version control and collaboration Online resources, tutorials, and documentation relevant to the chosen platform and development tools
Course Policies
Attendance is mandatory and contributes to the participation and collaboration grade. More than 3 unexcused absenses will result in a Failing Grade. Late submissions will have a penalty of 10% per day, up to a maximum of 50% Academic dishonesty, including plagiarism and cheating, will not be tolerated and may result in a failing grade
Course Schedule (subject to change)
Day 1: Course introduction, brainstorming mobile app ideas. Creating the Project Management instrumentation and start putting together Team Structure.
Accountability: By the end of Day 1: Each team will submit a TEXT File named as TeamName.txt containing:
URL of Overleaf Latex Document
URL of TRELLO Board
Names and Student IDs of Team Members.
Day 2: Writing the Proposal presentation and project planning document in Latex and TRELLO
Day 3-4: Requirements analysis. Building user stories and use cases. UI Prototyping. Create the Tracability Matrix.
Day 5-7: App implementation, agile development, and collaboration.
Day 8: Midterm progress report. Milestone Evaluation.
Day 9-11: Continued app implementation, testing, and debugging
Day 12-13: Finalizing the mobile application, preparing for publishing. Publishing can be done on EXPO.
Project Presentations will be done on an individual, not team, basis in the last 3 days of the Course.
How to Build Apps From a Business Perspective
There is way more to building successful apps than just coding.
Here we see of the gears that mesh together to get a technology product to market.
Unit 1.1 What is the value proposition of your app?
Do you need a web app or just a better website? Categories of Apps – which app category is easiest to compete in? Unit 1.2 Identify the problem you are trying to solve with your app.
Candy, vitamins or addictive painkiller? Fulfillment, recognition, security Unit 1.3 How to discover a niche in the marketplace
Problems in existing competition Unit 1.4 Listening to users Users that exist in the market Homework 1.1 Airbnb and Lyft Homework 1.2 App Annie and Sensor Tower Homework 1.3 Write an application plan Unit 2 UI, UX, MVP design
How to create user stories Unit 2.2 Designing an effective UI user interface
The Photoshop Adobe UI negative Case Study Don’t Make Me Thing Steve Krug Design for your target audience Unit 2.3 How to design an effective UX User Experience UX is where Design strategy and Technology intersect Measuring Conversion Rates Six principles for a positive UX Unit 2.4 The MVP
The Lean Startup MVP concept by Eric Ries Planning for future versions of your app Keeping the cost of an MVP low Homework 2.1 App Design Case Studies Homework 2.2 Develop User Stories Homework 2.3 Interactive UI prototype Unit 3.1 Marketing and Monetization for an App
Unit 3.2 Monetization Strategies of Apps Apple App Store vs Google Play Store revenue iOS vs Android user value per customer iOS vs Android market share in various countries Unit 3.3 Marketing Your App
How users discover your app Unit 3.4 Dealing with Investors
Homework 3.1 Build a BMC for your app Unit 4.1 Building Customer Loyalty
Why Customers Abandon Apps? Morality of Addictive Apps The HOOK app addictive model Homework 4.1 Understanding Hook Homework 4.2 Applying Hook Unit 5.1 Choosing the Right Tools
Unit 5.2 Nine Companies Who Nailed their App
Unit 5.3 Development Languages and Cross Platform Tools
Homework 5.1 Compare Dev Tools Homework 5.2 Recommend a Development Solution Unit 6.1 Full Stack Considerations
Choosing a Database Backend Data Duplication in Distributed Databases Homework 6.1 Recommend Database Solutions
Homework 6.2 Explore API services Unit 7.1 Hiring the Development Team
Four Roles of a Software Development Team Unit 7.2 Mobile vs Web Development
Skills Used in Mobile vs Web Development Web vs Mobile Development Salaries Unit 7.3 Agile Team Management
What is Waterfall Development? What is Agile Scrum Methodology?