Walking into app devlopment with little to no experience can be an intimidating offset, where research goes into the success of other project teams that are established, it felt best to do some research in how successful operations are conducted and importantly the 'who' behind these teams.
After extensive research, a development team guide established by
The Mind Studios felt the best resource to measure the particular roles that would be required for the professional development and public release of ShopMate. Additional resources were used to investigate the roles further and from personal experience in real world working environments.
These roles are hypothetically envisaged on an unlimited budget to ensure the ultimate realisation of ShopMate to the intended audience, for the sake of outlining positions necessitated. However for the actual feasibility of this project and within a realistic expectation in terms of budget, some of these roles can be absorbed by others to minimise overheads and constraining financial output without stress and detriment to the products release.
Project Manager
Floating the product idea requires a position where accountability and responsibility is held, and this is done so by the project manager. Their role is to oversee the beginning and completion of the application within the organisation, essentially as outlined by The Mind Studios; a project manager responsibilities are:
• Determining the purpose of the application
• What the solutions this application will solve
• The validation of the project's aims and goals
• Creating a product roadmap its developmental process
• Working towards a timeline and within an established budget
Project managers are an integral part of any development team, as their success will translate to the success of the project in question. Without a project manager, the role undefined can cause confusion amongst a development team as there may be conflicting ideas how the product can be implemented, supported and ultimately utilised by its target audience. By practicing their responsibilities they're able to validate the idea of the project, ascertain the scope and limits of development cycle, the distribution of work by relevant job postings, managing the time structure from conceptualisation to the release of the product and importantly working within the financial means of capital contributed to the project. Without a project manager, the timeline, budget and employee morale and lack of direction could render a failure and waste of time.
Product Manager
The role of a product manager would work with the project manager - who would oversee the broad working environment and administrative procedures, they would conduct product research, defining the features and benefits of the product and its marketing mix to its target market and audience.
• Compose market research
• Tracking success metrics
• Communicate vision to stakeholders
• Define the user's needs
• Establish release requirements and subsequent updates
Product managers are well suited for app development, just like any product, measure the solutions and its value proposition amongst the market, undertaking a strength and weakness analysis comparing to competitors. This position would be relatable to marketing, as consumer trends would dictate the driving force to where the product's offering would be best scaled to. If the product had some benefit to consumers but overall features that would be limited use for example, such as the lack of demand for a pantry inventory - but a demand for restaurants to have an automatic replenishment solution, the development would be better geared to match and tailor to a more profitable consumer. Having this position would entail the products success on the open market, as developing a application that would have little benefit to consumers would render the operation pointless.
It would be cost effective however, for potential budget concerns, to expect this role of a product manager to also be performed by the project manager as well, considering they would work with the viability of the product proposition and having the broader spectrum of tasks required by certain members of the team, understanding the timeframe and budget concerns within the products development, requiring expertise in marketing and business management to be optimal.
User Interface Designer
Creating the visual experience for what the user would see when they use the program in question. They will outline the pages that the user would navigate through, be it on a webpage on their computer or app on their smart device. The visual presentation is consideration of an important role as the application as that is what will motivate the consumer to use the program in the first place.
• Creates the visual appearance of the app
• Creates the graphics
• Builds mockups
• Professional use of colours and typography
• Creates layouts
The User Interface Designer role would be an integral part of this project, as the consumer needs to see what they're navigating and that the visual aesthetic is pleasing to the eye. It can be assumed this role would be combined with a User Experience designer not only if there were budget concerns but for ensuring a seamless process is carried out between designing and testing functionality.
User Experience Designer
In addition to the User Interface Designer, this role would work in unison to ensure the visual motion makes sense to the user, and that it is an easy to use program and designed to do what the product proposes itself to do.
• Studies and anlyses users behaviour
• Outlines wireframes
• Makes prototypes
• Follows human centered design
• Designs the app concept from scratch
The point of having a User Experience designer is that an application that is hard or not clear enough to use, will deter a consumer to use it, regardless how good the presentation and design of the program is. If the User Experience designer can nullify issues that the consumer may come across, those problems can be eliminated or refined to a state where it doesn't negatively impact the product. It can be assumed this role would be combined with a User Interface designer not only if there were budget concerns but for ensuring a seamless process is carried out between designing and testing functionality. Combining these skills would produce a highly efficient and intuitive program.
iOS & Android Developer
A developer with literacy in Apple or Android environments are crucial in order to have the user interface and experiences successfuly navigate on the devices that is intended to be of use for the target audience. Segmented technologies would require the process and procedure of each user interaction to mirror on each application per operating system, such as one feature can't be locked from the other.
• Translating the designs into progammable code
• Debugging
• Staying up to date with technology trends
• Creating a reliable and high-performance code
• If cross-platform development, React Native framework and experience with Xamarin, Flutter or Iconic platforms
Having developers that are familair with programming environments relevant to Android and Applie ecosystems is crucial, as most smart device users use one or the other, this is the only way the product can be utilised and not having a specialised expert native in Xcode, Kotlin or Javascript syntaxes will restrict the userbase this application is intended to be designed for. It wouldn't be unreasonable to recruit a developer that is capable in doing cross platform development, for efficiency and budget consideration, as the code would only need to be written once but it may result in inefficiencies in translating the user experience as intended by the designer.
Backend Developer
The role of the backend developer is to ensure the management of the server, the management of cloud data and ensures the effective transmitting of operational logic from the user to the database.
• Working with databases
• Building the operating logic across devices
• Building frameworks and the app architecture
• Managing payment systems
• Using application programming interfaces across devices
The purpose of managing this data is to ensure that the application runs as it is intended, as ShopMate is designed as a tool to aid those that have less than ideal creativity, time and perhaps weekly grocery expenditure. If the data is unable to retrieved and compiled the application is useless.
Quality Assurance Engineer
The role would entail the monitor of every stage of development where it comes to the user interface and experience design, and the coding development.
• Perform automated and manual testing
• Identify potential challenges that users may face
• Track bugs through testing
• Record test progress and document test cases
• Outline testing standards to ensure app quality and readiness for release
Having a quality assurance engineer would provide confidence that the development of the project goes according to plan as established by the project manager. It would be expected they would be working closely with all departments as testing ought to be carried out consistently, and not left at the end of the application's development, as there may be issues that transpire and cannot be traced back to a certain period and may end up being more costly.
Having ideal wants and realistic expectations makes all the difference to the financial bottom line. At the end of the day it would be ideal to have independent devleopment teams with more than one employee - and depending on capital it could be achieved. However, with a basis of being realistic, the positions that would be on offer would be a project & product manager, a user experience/user interface designer, a cross-platform & backend developer and a quality assurance engineer. If the scope of the project was limited to a team of under ten people, one individual would be the project & product manager, three people would be in user experience and user interface, three people for cross platform and backend development, one person as the quality assurance engineer and one person for administrative duties and a support staff member to the quality assurance engineer and project & product manager.