SYSTEMS DEVELOPMENT PROJECT
Table of Contents
1. Assumptions 3
2. System Request 4
2.1. Project Sponsor 4
2.2. Business Need 4
2.3. Business requirements 4
2.4. Business Value 4
2.5. Special Issues 4
3. Technical Feasibility 5
3.1. Project Description 5
3.1. Functional Area 5
3.2. Familiarity 6
3.3. Project Size 6
3.4. Compatibility 7
4. WBS, Gantt Chart 8
5. Systems development methodology recommendations 12
6. Team Description 13
7. Requirements gathering plan 17
7.1. Functional requirements 17
7.2. Non-functional requirements 17
8. Suit of Diagrams 18
9. Stakeholder engagement plan 19
10. References 20
1. Assumptions
1. Technology: It is assumed that the company will have access to all the required technological developments and expertise required to build this application. Specifically as the company is of a large size and contains thousands of software employees.
2. Facilities: It is also assumed that because of the large size of the company any facilities such as office space and data centers will also be available to the project team. This also include infrastructure such as communication and network tools needed for project coordination.
3. Financial: It is assumed that there is no specific budget as of yet for the project due to the failure of the brief to mention one, as well as the fact that the company is a major player in the industry. Additionally, all currencies are expected to be quoted in NZD as this project is developed in New Zealand.
2. System Request
2.1. Project Sponsor
The sponsor for this project is a software company and competitor to Google.
2.2. Business Need
This project has been initiated to supply a more competitive mobile map application to better serve existing map users using more advanced technology and features.
2.3. Business requirements
Using their cellphone, customer should be able to use maps to find locations and get directions. However, the speed at which people are able to find their location using the mobile app is what defines a good map application. In facilitation of this, the current application will include features such as:
· Turn-by-turn navigation (for driving and walking)
· Street view
· Public transit information
· Congestion information
· Map labelling features
· Offline mode
2.4. Business Value
We expect that the Mobile Map Application will increase revenue for the company financially from ad revenue that is generate via banner ads displayed at the bottom of the application, as well as a paid premium option that removes the banner ad for consumers for a small price. We also expect that the improve services in comparison to competitors to increase consumer numbers and positive consumer reviews, primarily as only around 50% of people are satisfied with the currently available map options on mobile such as Google Maps (Lin, 2012). In addition, when the map application gains in popularity, the company will benefit from a boost in popularity and brand recognition due to its association with the map application, which will help it launch future software to a wider audience.
Conservative estimates of tangible value to the company include:
· $800,000 from new customers
· $2,500,000 from existing customer from other products of the company
2.5. Special Issues
This mobile map system will add value to the current business model of the company, and will serve as proof of concept for future mobile mapping endeavors. For example, in the future, the company may want to provide a free version with more limited over the app stores.
The application should be in place before Christmas which is the shopping season.
3. Technical Feasibility
3.1. Project Description
The proposed mobile application is a GPS enabled mapping system that will provide high level functionality for pedestrian navigating as well as geographical based information searching. Such route and map services are vital for modern day navigation due to the prevalence of mobile use over computer use. Indeed, the mobility of mobile devices facilitates the use of maps for navigational purposes, and the rapid development of new and higher speed internet technologies within mobile phones makes it more able to use advanced online service for navigation. However, competing mapping systems such as Google Maps has partly been optimized for cars, and there are additional improvements for cycle and pedestrian navigation yet to be explored.
This project aims to develop a navigation system that is able to provide more mobile specific functionality that is currently unavailable in competitors’ products, which are also able to address wider audience concerns among cars as well as pedestrians and cyclists.
3.1. Functional Area
The application incorporates GPD (Global positioning system) like location services which is what makes the mobile map application able to identify the user’s location. This is because location information of user’s is obtained through the nearest cell sites and wireless networks. The software is used to search for the known wireless networks and cell sites databases to localize the user and also technique of signal strength triangulation from cell antennas is utilized where the location of the antennas are used to supplement the location discovery. The order of services utilized for location finding in the application is as follows: GPS-based services, WLAN- or WiFi- based services and at last the cell triangulation-based services (Mikayelyan, 2011).
In addition to enhanced location finding services, the other services that will be included within the map mobile application that will facilitate smoother use and navigation by pedestrians, cyclist and cars include 3D maps, Street View, Traffic, Offline mode, Compass Mode, Navigation, roads with cyclist tracks, as well as places with free Wifi etc. The main navigation service is provided through a turn-by-turn GPD service that is also incorporated with a voice assistance for both pedestrians, cars or cyclists. The 3D mapping service allows customer to view the map in 3D, which two finger twisting functions to alter angles of viewing. Compass modes allow customer to rotate the map to direct users. The Street View allows for a street levels images that help people find locations better. Traffic view allows for customer to view current traffic conditions on the road of the mobile. Roads with cyclist tracks allow customers to view which roadways have a dedicated cyclist lane so the improve cyclist safety. The free Wifi functionality allows users to see where free public Wifi is available in the city.
In combination these service provide advanced navigation functionalities to users, and indeed offline functions is one of the most useful features that allows users to continue to have access to pre-downloaded maps of user’s home cities so that they will not be lost without internet connection. However, for areas that have not been pre-downloaded they will still need internet connection in order to access the full range of services.
All these functionalities are available and compatible for most mobile platforms. The goal is to have the mobile device as the major target market for all potential uses on this platform. The project therefore covers application scenarios such as route planning in the countryside or city environment, navigation, exploration and even games.
The company employs thousands of developers and other IT professionals globally, including specialists in web and mobile technologies, and as such their familiarity with the project is significant and up to the task.
3.2. Familiarity
There is a low risk in regards to this project as the employees of the company are familiar and skilled in software development.
3.3. Project Size
The project is expected to be considerably large due to not only the detailed that will be incorporated but also the functionalities. Using Google Maps as an approximate, the project will require upwards of 21 million gigabytes, or 20 petabytes of data (Petronzio, 2012). The expected man-power for the project is likely to reach a few hundred, as competitor google maps has a estimated 7,100 employees working on it while Apple has about 100 on their map application (Carlson, 2012). As such, this will be a massive undertaking and the project will likely be significant, which increases the risk of failure or problems along the way,
3.4. Compatibility
The goal is to have the map application compatible with all mobile devices (Tablets and Smartphones) through various application stores such as Google Play and App Store etc. However, there will also be minor support for desktop computer use in order to maximize reach.
However, at the same time this increases the risk of the project as there will be more tasks to complete.
4. WBS, Gantt Chart
Creating map application
Start Date
End Date
Duration (days)
Create high level architecture
Identify high level architecture options for discussion
1/9/2018
14/9/2018
15
Create document describing options for discussions
15/9/2018
29/9/2018
15
Review software capabilities to identify options and limitations
30/9/2018
14/10/2018
15
Discuss architecture options
15/10/2018
16/10/2018
2
Select broad architecture
17/10/2018
18/10/2018
2
Create document describing selected architecture at a high level
19/10/2018
7/10/2018
20
Develop technical solution for mobile mapping
Review options for storage of mapping data (Requirements definition)
30/9/2018
14/10/2018
15
Select an option for storage of mapping data
15/10/2018
16/10/2018
2
Review options for distribution
17/10/2018
26/10/2018
10
Select option(s) for distribution
27/10/2018
28/10/2018
2
Design the information architecture for the application
Review available information for mobile application
29/10/2018
27/11/2018
30
Download OpenStreetMap dataset
28/11/2018
30/11/2018
3
Design the application’s information architecture
1/12/2018
9/1/2019
40
Create a research report describing in detail the information architecture
10/1/2019
29/1/2019
20
Create a standards specification
30/1/2019
18/2/2019
20
Create detailed application software architecture
Convert and expand broad architecture into a more detailed software architecture
10/12/2019
3/1/2019
25
Create document describing possible architectures and the selected architecture
4/1/2019
18/1/2019
15
Mobile Application Implementation
Create client server architecture
19/1/2019
9/3/2019
50
Create user interface
10/3/2019
17/4/2019
40
Create sequence diagram for activities taking place in application
18/4/2019
17/5/2019
30
Test product on Android and IOS emulators
18/5/2019
16/6/2019
30
Publish the product in app stores on multiple platforms
17/6/2019
1/7/2019
15
Figure 1. Gantt chart showing the procedures for the development of a map application
5. Systems development methodology recommendations
The current project recommends and uses a liner waterfall framework (e.g. Figure 2). The basic principle of this framework is that the project is divided into a number of sequential phases, with a number of overlaps where permitted as well as splashbacks where the phases allow for it. The major emphasis in this methodology is on the time schedules, target dates and overall planning of the entire system in order to ensure on time delivery of the entire system at the target end date. There is also a tight control that should be maintained for the duration of the project via extensive documentation (written), as well as frequent reviews and supervisor signoffs by IT managers at the end of each phase. (CMS, 2008).
Figure 2. Example waterfall methodology
The major strength of this approach and why it is recommended is that it provides an orderly development and sequence of steps, as well as tight control via documentation and reviews that allow the project to maximize maintainability, reliability and quality of the developed software. This is especially important for this project as it will require significant investments that cannot be overly wasted, and this methodology will help conserve significant resources. Additionally, the development of the system is more measurable than alternative methodology, making it easier to report progress to managers and investors. (CMS, 2008).
Additionally, this methodology is ideal for this project that are complicated, large and expensive as they help breakdown the project into individual objectives and solutions that can be stated comprehensively and unambiguously (Davies & Hobday, 2005). In addition, this methodology can also help compensate for potentially inexperienced team members, which there are bound to be a number of them since the project team will be quite large.
However, there are weaknesses with this approach. A large part of this methodology depends upon the early identification and specification of requirements, which might not be possible in early on in many cases. In addition, there is no real testing of the entire system until it is almost fully coded, which may make it difficult or expensive to correct afterwards (CMS, 2008). As such, while it does not doom this approach, measures must be put in place to help mitigate these potentialities such as each stage being signed off by the IT management team after completion etc. that will help reduce the weaknesses of the methodology.
6. Team Description
Title
Role
Name
Project Sponsor
Commissions a team in order to facilitate can campion the project until delivery. It can be a senior executive, program manager or director of the company. They provide continual involvement in order to help define the project and actively review progress. Their main responsibilities are as followed because they are the ultimate leader of the project. They are involved in the high level design control the entire team from beginning to end.
(Name of Individual)
Responsibilities
· They have ultimate authority as well as responsibility for the project’s success
· Garners commitments from other primary stakeholders
· Provides sponsorship in ensuring essential resources are available to the project
· Approves budgets
· Helps will problem solving on the organisational level and helps ensure that potential issues or risks are addressed
· Responsible for primary decision making on conflicting objectives, risks, and change
· Helps negotiation with stakeholders through complex negotiations or conflicts
· He will provide and approve discretionary budgets, offer mentorship opportunities, or even direct leadership in regards to business matters/deals
Title
Role
Name
Project Manager
This person is responsible for directly leading the team from the start to finish of the project, which includes conceptualisation, initiation, execution, monitoring and project close. They have the following responsibilities as they work with the project sponsor to help manage team members and report on potential issues, risks and progress. In addition, their goal is to focus on the successful delivery of the desired software product within budget by the due date. Involved in high level design.
(Name of Individual)
Responsibilities
· Actively manages the team members and helps mitigate potential issues and risks through mediation etc. (facilitates communication)
· Helps produce the project documentation required by project sponsor (Project Charter, Risk Management Log, Status Reports, Schedule, Budget, etc.)
· Responsible for developing a project plan that keeps with the complexity and size of the expected project parameters as agreed by the organisation and project sponsor
· Responsible for managing the execution of all project milestones/deliverables.
· Responsible for managing team resources to stay within budget
· Lead inter-departmental meetings and working groups in instances where collaboration is needed
· Responsible for monitoring the project
· Helps to manage the scope and change control of the project
· Responsible for provide the project sponsor and organisation with status reports
Title
Role
Project Team Members
There are a number of roles within the team members that vary on their tasks within the project. However, they are all responsible for specific components of the project and answer to the project manager. Typically involved in analysis and modelling, but specialise leads may also be involved in high level design.
Responsibilities
Name
· Functional experts:
· Helps to identify and map information needs
· Offers administrative process their functional expertise
· Helps ensure project meets the brief by working with users and developers
· Helps to define the reporting and interfacing requirements
· Technical architect:
· Provides advice on the technical procedures, policy and strategy
· Helps to design the technical architecture such as interfaces, hardware and software for the system
· Helps to specify hardware/software needs
· Provide the programming team with technical leadership
· System developer
· Based on agreed standards create technical documentation
· Produces technical estimates and requirements based on functional requirements
· Helps to develop the application including the data migration, interfaces and integration with other systems
· Helps in the deployment and configuration of the application
· Helps set up the security rights and protections
· System administrator
· Based on agreed standards create technical documentation
· Provide advice to the team members on the procedures, policy and strategy
· Helps offer backup disaster recovery measures
· Manage and support the whole team environment (production, testing, and development)
· Provide support in operational system management
· Database administrator
· database support and management
· Provide advice on the procedures, policy and strategy for database management
· Quality assurance analyst
· Does test on the software to ensure no defects present
· Create a test plan in order to ensure the application is being produced according to schedule
(Name of Individual)
(Name of Individual)
(Name of Individual)
(Name of Individual)
(Name of Individual)
(Name of Individual)
7. Requirements gathering plan
7.1. Functional requirements
1. OpenStreetMap Map: This is an open source map that contains a huge amount of geographical data that is obtained via voluntary user uploads. It provide no functionalities but does contain a major wealth of geological data. As such, this dataset will be used as one of the foundations for the new application since it provide a significant among of information at a significantly discounted cost.
2. GPS position: The mobile application will be able to locate the user’s position on using integrated GPD connections, and is important as it provide the primary feature of the map, user location.
3. Pedestrian route: The application should also be able to provide the shortest pedestrian routes (something not provide by Google Maps) from immediate position to design destination, because it is a competitive advantage, especially in tourist locations.
4. Compass: the navigation arrow is able to show which direction the user is on the map, and is important as it orientates the user.
5. User Navigation: This allows the users to update their walking position, route or timeline every 4 meters or 5 seconds.
7.2. Non-functional requirements
1. Presentation(Interface): This is the interface that consumers have contact with and that which allows the company to interact with the processes of the business. This is a vital component as its ease of use may determine the frustration or desirability of the user with the app, which could hurt or benefit the company.
2. Cost: The cost of the system should be maintained via automating many of the updates, repairs and monitoring systems. This is important to ensure that the company does not need to overspend on an already considerably expensive project already.
3. Data integrity: It is important to ensure that the data within the application is accurate if it hopes to be able to service its customer base accurately and reliability. As such, the data needs to be continually updated with user provided information, news or satellite imagery.
4. Stability: is important as lagging services frustrate people at drive customer away from the application. As such, there needs to be a consistent team standing by to repair any damages to the system.
8. Suit of Diagrams
Diagrams
Role
Approach (to ensure consistency)
Level of detail
Sequence Diagram
To depict the structure of the application, which will be shown in how the sequence diagram illustrates the sequence of activities taking place in the application development.
Use Unified Modeling Language (UML) as this supports a wide range of diagrams for modeling software development concerns while ensuring a standard way of virtualizing the design of a system and the diagrams
Conceptual level of detail. This is because it provides a simple overview of the entities and relationships within the model rather than a detailed guide.
Process Choreography
The main role is to capture the interactions between different business entities or the internal processes within the project.
Use Unified Modeling Language (UML) as this supports a wide range of diagrams for modeling software development concerns while ensuring a standard way of virtualizing the design of a system and the diagrams
Physical level detail. This is a highly detailed diagram as it provides a blueprint of a relational database. It represents how the processes and data should be structure and related in order to allow the team to actually pinpoint where specific communications and interactions occur
(Egyed, 2001).
9. Stakeholder engagement plan
Stakeholders
Involvement in the project
Project Sponsor
This stakeholder will be involved with the high level design of the project, as well as with both modelling and analysis when their management is needed. This is because he is ultimately the leader of the project and the person financing the ensure endeavor. As such, he has final say in decision making etc.
Project Manager
His is also involved with all three aspects of the project (high level design, analysis and modelling) as he is responsible for managing and resolving any difficulties the project runs into from start to finish.
Team Members
Theses stakeholders are only involved with the analysis and modeling of the project, this is because they do not need to be involved in managing any employees or are directly connected to leadership roles. As such, they do not need to be involved with high level design, but their tasks will undoubtedly put them in positions where they analysis and provide models for the project.
End-users
These stakeholders do not need to be involved with any level of the project besides its final use. As such, they do not need access to analyses, modelling or high level design.
10. References
Carlson, N. (2012). To do what google does in maps, Apple would have to hire 7,000 people. Retrieved from https://www.businessinsider.com.au/to-do-what-google-does-in-maps-apple-would-have-to-hire-7000-people-2012-6
CMS. (2018). Selecting a development approach. Retrieved from file:///Users/jordanandrewkennelly/Downloads/SelectingDevelopmentApproach.pdf
Davies, A., & Hobday, M. (2005). The business of projects: managing innovation in complex products and systems. Cambridge University Press.
Egyed, A. (2001, November). Scalable consistency checking between diagrams-The VIEWINTEGRA Approach. In Automated Software Engineering, 2001.(ASE 2001). Proceedings. 16th Annual International Conference on (pp. 387-390). IEEE.
Lin, Y. L. (2012). Evaluation of User Interface Satisfaction of Mobile Maps for Touch Screen Interfaces. In Proc. of Int. Conf. on Advances in Computer-Human Interaction (pp. 22-27).
Mikayelyan, E. (2011). Developing android mobile map application with standard navigation tools for pedestrians. Lund University. Retrieved from http://lup.lub.lu.se/luur/download?func=downloadFile&recordOId=4685977&fileOId=4685984
Petronzio, M. (2012). How much data has google maps accumulated. Retrieved from https://mashable.com/2012/08/22/google-maps-facts/#g7Jl_6gXIZqZ
Identify high level architecture options for discussion Create document describing options for discussions Review software capabilities to identify options and limitations Discuss architecture options Select vroad architecture Create document describing selected architecture at a high level Review options for storage of mapping data Select an option for storage of mapping data Review options for distribution Select option(s) for distribution Review avaliable information for mobile application Download OpenStreetMap dataset Design the application’s informatino architecture Create a research report describing in detail the information architecture Create a standards specification Convert and expand broad architecture into a more detailed software architecture Create document describing possible architectures and the selected architecture Create client server achitecture Create user interface Create sequence diagram for activities taking place in application Test product on Andrio and IOS emulators Publish the product in app stores on multiple platforms 43344 43358 43373 43388 43390 43392 43373 43388 43390 43400 43402 43432 43435 43475 43495 43475 43469 43484 43534 43573 43603 43633 Identify high level ar chitecture options for discussion Create document describing options for discussions Review software capabilities to identify options and limitations Discuss architecture options Select vroad architecture Create document describing selected architecture at a high level Review options for storage of mapping data Select an option for storage of mapping data Review options for distribution Select option(s) for distribution Review avaliable information for mobile application Download OpenStreetMap dataset Design the application’s informatino architecture Create a research report describing in detail the information architecture Create a standards specification Convert and expand broad architecture into a more detailed software architecture Create document describing possible architectures and the selected architecture Create client server achitecture Create user interface Create sequence diagram for activities taking place in application Test product on Andrio and IOS emulators Publish the product in app stores on multiple platforms 15 15 15 2 2 20 15 2 10 2 30 3 40 20 20 25 15 50 40 30 30 15