For daniel johnson only

Mobile application development:

To be able to accomplish this project, one need to have a clear list of the required task and the way in which different stages of development need to be achieved. Using two SDLC models a project manager will make an outline of this tasks and stages. An SDLC model is a framework that describes the activities performed at each stage of a software development project. These two outline are: the waterfall model and agile model. These two models have merits and demerits and also differences.

Waterfall model outline:

Waterfall model describe six phases of development that are shown below:

Requirements

Design


Implementation


Test


Maintenance

Installation


Requirements define the needed information, function, behavior, performance and interfaces. A collection of the requirements is the initial tasks to perform in the waterfall model. The requirements can be collected through methods like use of a questionnaire, interviews observation, and sampling. The minimum time requirement can be approximated to be around 21 days.

Design this entails data structures, mobile software architecture, interface representation and algorithmic details. This is storyboard showing the interface appearance and relationships of different entities of the mobile application. This can roughly be estimated to take around 14 days.

Implementation this where the actual coding is done and code testing is done to validate it. This can be done in one week time.

Testing this is done for the overall system of mobile application. This can be done within two weeks.

Installation and maintenance the installation is now actual distribution for the application for use and also ensure safety measures for the application and also upgrading in the case of user requirement arise. Installation can take one week while maintenance time is not known because it’s continuous.

The Gantt chart for the waterfall model:

Activities/tasks.

May 25-June 15.

June 16- June 30.

July 1-July 7

July 8-July 22

July 23- July 30

1.Requirements


    1. Interviewing.


    1. use of questionnaires


1.3 analysis


2.Design


2.1. make mockups


2.2.storyboarding


2.3. Project scope formulation.


3.Implementation


3.1. coding


3.2. code testing


4. Testing


4.1. Quality assurance testing.


4.2. Mobile software testing.


4.3. Acceptance testing.


5. Installation and maintenance


5.1. Minor bug fixing.


5.2. User training.


5.3. functionality enhancement


Agile model:

Used when time for development is very critical. Agile model can use many method for development. Some of this methods are scrum, crystal clear and extreme programming (XP). In agile, there are no specific phases or stages of development. Initial planning and analysis are kept at high level then followed by sequence of iterations.

Iterations (analyze, test, design and develop)

High level analysis

High level planning


When we use extreme programming method the iteration is normally done in 7 days therefore total time for development can be determined by the number of iterations which are determined by the features that are added by the user requirement collection. This iterations can viewed as the number of prototype released until a finished product is obtained. This method and quick since development is done with initial user requirement and advancement done as the prototype are released.

Gantt chart for the agile method.

Activities/tasks

May 25 – June 15

June 16 – June 23(first iteration)

June 24- July 1(second iteration)

July 2 –July 9(third iteration)

July 3-July 10

(final product)

1.High level planning


1.1 high level analysis


2.analyse





2.1 design





2.2development





2.3testing





3.1final product release.


Here is an outline of how agile and waterfall model differ:

1. In waterfall model software development process is divided into phases while in agile separate the project development lifecycle into sprints.

2. The waterfall is structured software development method, and sometimes it can be rigid whereas agile is well known as being flexible.

3. The waterfall is an internal process meaning no involvement of customer while agile aims at satisfying customer requirement, therefore, is involved throughout the project.

4. In agile it can be viewed as a collection of projects while waterfall can be viewed as one project.

How do agile method address complexity and uncertainty?

Agile majorly addresses uncertainty rather than complexity this because agile purely involves customer throughout the development process since is an empirical method (based on observation).