F_ETPL_MOBILE_01 SOP - Mobile Team (1) PDF
Document Details
Uploaded by Deleted User
Ahmad Palsaniya
Tags
Summary
This document provides a standard operating procedure (SOP) for the mobile team, outlining steps for app development. It includes sections on planning, design, development, testing, and post-development.
Full Transcript
STANDARD OPERATING PROCEDURE MOBILE TEAM Table of Contents: 1. Document History 2. Purpose 3. Related Standards and Procedures 3.1. Planning: Define Goals & Application Specification 3.2. Optional: Design & Production: Design Logo 3.3. Design & Development: Create UI UX Des...
STANDARD OPERATING PROCEDURE MOBILE TEAM Table of Contents: 1. Document History 2. Purpose 3. Related Standards and Procedures 3.1. Planning: Define Goals & Application Specification 3.2. Optional: Design & Production: Design Logo 3.3. Design & Development: Create UI UX Design 3.4. Design & Production: Setup Project and structure 3.5. Testing & Feedback 3.6. Post-Development & Launch 4. Kick-off Meeting 5. Roles and Responsibilities 6. Dedicated Developers SOP 7. Developer Release Note 8. Daily Work Reporting 9. HRMS Reporting 6.1 Daily In-Out 6.2 Leave Application 6.3 Work From Home Application 10. PMS Reporting 11. Web tracker reporting 12. Conclusion 1. Document History: Standard Operating Procedure No. F_ETPL_MOBILE_01 Revision No: 0 Created Date: 01-01-2023 Prepared By: Ahmad Palsaniya Updated Date: 12-10-2023 Approved by: Ahmad Palsaniya 2. Purpose: A standard operating procedure (SOP) is a set of step-by-step instructions compiled by an organization to help employees execute routine operations. SOPs aim to achieve efficiency, quality output, and uniformity of performance while reducing miscommunication and failure to comply with industry regulations. 1. A Procedure consisting of simple steps that you must follow to achieve a Quality Goal 2. A procedure is having sub-Procedures which may also have its own step 3. Related Standards and Procedures 3.1 Planning: Define Goals & Application Specification We gather detailed information on how the application should work, including all required features, lists of screens, custom design work required, custom development work, etc. Related milestone: Project Basic Information Gathered Discuss application requirements in depth with the client Establish visual style and personality Decide basic layout Create a high-level sitemap and navigation menu mockup Optional: create a low-fidelity wireframe of the dashboard, CMS screen & any other key screen Complete the research stuff if any Create basic mockup Choose and Suggest the Best State Management. 3.2 Optional: Design & Production: Design Logo Create a logo if a good quality logo image cannot be supplied by the client. Related milestone: Logo Design Complete Find out if a logo design is required or if the client can supply a logo image Design the first 2 logo draft variants based on the questionnaire Feedback on the first draft Design 2nd round of drafts based on feedback Ask for client feedback on drafts Ask for the client sign off on the logo Ask the client to download and backup logo image files for future use 3.3 Design & Development: Create UI UX Design We need to either create a new UI UX or choose a pre-existing UI UX to customize with the client’s logo, look & feel. Related milestone: Design UI UX Chosen Whenever you create a new project then make sure about the package name. The package name will be “com.COMPANYNAME.PROJECTNAME” Also, Note that never use the Elsner name in the package name as well in the project. Start with the Latest and Stable version of the SDK. Crete some screen UI UX with the client logo, colour scheme, look and feel Ask for client feedback on UI UX Create further UI UX mockups if necessary Ask for client sign-off on UI UX design Create a secondary (CMS, product listing, product detail) page mockup based on the chosen UI UX design Ask for client sign-off on secondary UI UX mockup Give a demo to the client on the sprint end. Take approval of completed work from the client via email, if he does not send the email you can send him an email and ask him to acknowledge it. Maintain code in Version systems like git, bitbucket, etc Give Proper Comments in the code Increase reusability of code. Your controller should not have a database connection or database logic. 3.4 Design & Production: Setup Project and structure Setup of project and structure with a third-party library for network handle and catch memory. Related milestone: Development Complete Start applying business logic on the screen. Use a local database for store sessions like login user details or secret key Make sure you use some framework that differentiates between business logic and design. Use some library or package for server connection (API Calling) to get data from the server. Use Firebase for push notifications. Handle errors for network connection and API response Follow the MVC structure strictly or you can use MVVM as well. All 3rd party classes should be verified first from the developer end, it should be bug-free, with no vulnerability. Convert 3rd party classes as libraries. Do not make database connections anywhere apart from the Model. All uploaded images should be compressed. The directory listing should be off for all folders. As Per Appstore app policy if your app have a functionality of the Account Creation then you need to make sure that the functionality of Account Deletion also there, otherwise your app will be rejected in the app review process. Integrate Firebase Crashalytics for the Crash Report of the App in Debug and Release build. Implement SSL Pinning which increases the Security level of the Web Services. SSL Pinning with the Authorise Certificate or Public key of that Certificate. Create a Developer Release Note when providing a build to QA for testing. Use distribution to test your app with clients or QA, and then proceed as follows: App TestFlights for iOS. Alternatively, you might use https://www.diawi.com or https://installonair.com for both iOS and Android. 3.5 Testing & Feedback A review site for development (functionality, ASO, etc.) and design issues particularly noting different devices. Related milestone: Development Complete Review screen for content/text/image issues on different devices Review other screens for content/text/image issues on different devices Review application for ASO issues Get a Testing release note from the tester. Either build is approved or getting some bugs on it. If build is rejected or have a some bugs then need to pass new build with the tester with new release note with new version. This will be continue till once build is bug less or no more bugs. After successful testing from QA. PC will pass that build to the client. Get client detailed feedback Complete all items of feedback Ask for the client's sign off 3.6 Post-Development & Launch Related milestone: Project Complete Get details from the client for uploading applications on the play store or App Store (Title, short description, long description, logo, feature banner, screenshots, email, privacy policy URL, etc). API URLs should be from a live domain Monitor for 48 hours for post-launch issues (rejected by Google or Apple) Backup code and maintain on GitHub 4. Kick-off Meeting: Whenever you assign a new project, PC will conduct a kickoff meeting. So in the meeting ask your query if you have and understand the project flow properly. Note down the points which will be discussed in the meeting. 5. Roles and Responsibilities: The following are the key responsibilities of a Mobile Developer: Collaborate with cross-functional teams including product managers, designers, and backend developers to design, develop, and deliver mobile applications. Develop high-quality mobile applications using programming languages such as Swift, Objective-C, Java, Kotlin, Dart, and React Native. Write clean and maintainable code that other team members can easily understand and modify. Use version control tools such as Git to manage and maintain code repositories. Work with APIs and integrate backend services with mobile applications. Write automated tests to ensure the quality and stability of the application. Debug and fix issues and bugs that arise during the development process. Optimize mobile applications for performance, battery life, and user experience. Stay up-to-date with the latest mobile development trends and technologies. Collaborate with other developers to ensure consistency and adherence to development standards. Work closely with designers to ensure the user interface and experience meet user requirements. Ensure that mobile applications comply with industry standards and best practices for security and data privacy. Maintain documentation for mobile applications, including architecture, design, and code documentation. Work with QA teams to ensure that mobile applications meet functional and performance requirements. Communicate project progress and status to stakeholders and team members. 6. Dedicated Developers SOP: If Any Mobile developer is working with a dedicated project then they have to follow this Dedicated Developer SOP as well. Kindly check out the below link to follow the SOP. Dedicated Developer SOP 7. Developer Release Note: Whenever the Developer release the build for testing to the QA then it should be created developer release note first and then shared with the release build with the QA. The release build format should be the same as given in the below link. Developer Release Note Format 8. Daily Work Reporting: The Employee should have to Follow these 2 ways to submit their daily Work Report: 5.1 PMS Work Reporting: It should be mandatory to enter their daily timesheet in the Proof Hub (PMS). Each project activity's duration should be logged. He or she needs to add the timesheet and the task. Every day as the task is finished, the Developer should go to the task and upload the hours using the timesheet in the ticket. If You have no task in the PMS then Kindly ask Your PM/TL to assign it to the PMS. You need to log a minimum of 8:30 hours for the full day And 4:30 for the Half Day. 5.2 Sheet Work Reporting: It should be mandatory to enter their daily timesheet in the Sheet which provided by TL. Each project activity's duration should be logged. He or she needs to add the timesheet and the task. Every day as the task is finished, the Developer should go to the task and add the hours to the sheet without fail. TL will provide a new sheet for the new month's work report. Also, add your work report in the specific format: Project Status Time Daily Time Date Name Task ✓ Task 1 Project Name 1 ✓ Task 2 In Progress 4 Project Name 2 ✓ Task 3 Done 2 (Mon) ✓ Task 4 21-Nov-22 Project Name 3 ✓ Task 5 Done 2.5 8.5 9. HRMS Reporting: 6.1 Daily In-Out: The daily in-out should be mandatory for every employee as well as the Mobile Developer. The Employee should log in using the URL:- HRMS with the correct credentials to make daily in-outs. The Employee should then click on the employee symbol in the left sidebar. There will be a display of the submenu in the Employee Tab. The Employee should then select the "My In-Out" sub-menu. The Employee In Out Page will appear after clicking. Choose or double-check the month and year on this page to determine accuracy. If not, the Employee can use the drop-down boxes to choose the correct month and year. then click on the "GO" button. The "IN" and "OUT" buttons next to the “Manual In-out” should be clicked by the Employee at the beginning and end of each workday, respectively. Each Employee should check the employee in-out list at the end of each month to ensure that all days that were present during the month were included. Add a Ticket to the HR in HRMS with TL Approval if any Day-in, day-out, or other issues occur. 6.2 Leave Application: Every Employee must apply for leave using HRMS if they wish to take personal, half-day, or Flexi leave. The Employee must click on the "Leave" tab from the left-side menu to apply for a leave of absence. In the “Leave” tab, The “Leave Application” tab should be available. The Employee should click on it. It will redirect to the Leave Page. The "Add" button is positioned in the top right corner here, and the Employee should click it. The Employee must choose the relevant data or information for specific fields on the leave application page, including leave (type), application type, from date, number of days, reason, and responsibility (person/TL). The Employee should click on the "Submit" button once all the information has been entered. The Employee may also check the application's status on the Leave page after submitting it. The Employee must fill out or select the appropriate data or information for specific fields in the search panel, including "Search By," "Search for," "Application From Date," "Application to Date," "Leave From Date," and "Leave to Date," and choose the appropriate radio button as "Pending," "Approved," or "Rejected." Then, click the Go button. If any incorrect data is filled then Employee also clears all the information by clicking on the “Clear” button. If the data entered in the search box is accurate, the record with the leave application status should be displayed. Please plan your leave in advance. Kindly get in touch with your manager if your leave is not approved. 6.3 Work From Home Application: Every Employee must submit an application for WFH using HRMS if they wish to take Work From Home. The Employee must click on the "Work From Home" tab from the left-side menu in order to apply WFH. In the “Work From Home” tab, The “WFH Application” tab should be available. The Employee should click on it. It will redirect to the WFH Page. The "Add" button is positioned in the top right corner here, and the Employee should click it. The Employee must choose the relevant data or information for specific fields on the WFH application page, including from date, number of days, and reason. The Employee should click on the "Submit" button once all the information has been entered. The Employee may also check the application's status on the Leave page after submitting it. The Employee must fill out or select the appropriate data or information for specific fields in the search panel, including "Search By," "Search for," "Application From Date," "Application to Date," "WFH From Date," and "WFH to Date," and choose the appropriate radio button as "Pending," "Approved," or "Rejected." Then, click the Go button. If any incorrect data is filled then Employee also clears all the information by clicking on the “Clear” button. If the data entered in the search box is accurate, the record with the WFH application status should be displayed. As per the company norms, the Employee should get two days of WFH monthly. Before going to WFH, the Employee should have prior approval from the team leader and project manager. If WFH is not prior approved, Uninformed it would be counted as Leave for the day. During notice period work from home is not permitted. 10. Onboarding of a New joinee 2-5 day Technical Plan & Q&A: This is in continuation with our 1-5 day plan for all new joinees. The first day plan is taken up by HR formalities and education while 2-5 day work between manager, buddy, mentor and Department Head. On the 5th day, managers will take up the Q&A with their team members and assess the learnings absorbed during the 2-5 day plan. 1. On day 5, managers will assess the knowledge gained by their team members by a one-on-one meeting and calculate the score achieved. 2. Post review by 6th business day manager to share the score with department Head, HR, COO via email (till the time we are not ready with our HRMS- soon HRMS will be ready) 3. The new joinee has to compulsory achieve a 95% score in the assessment (later the score has to be 100%), if not there will happen a reassessment within 2 days of time. 4. 7,15,30 Feedback to be updated in HRMS and well communicated in written with the team member if there are gaps which need to be addressed. Further the process remains the same as we are doing. 11. Conclusion: By following these guidelines and procedures, developers can help ensure the success of the project and improve the quality of their work. Adherence to these procedures will also make it easier for other developers to understand and contribute to the project.