Ch. 2 Planning the Project

27
CHAPTER 2 Planning the Project

description

Chapter 2 Planning the project

Transcript of Ch. 2 Planning the Project

CHAPTER 2 Planning the Project

2.1 Introduction

Chapter No. 2 Planning the Project

My project is “Online classified Ads”. I select this project because I was interested in

Web Designing. The main purpose of this system is to introduce an easy way of

Advertisement. Before maintaining this project it is important to plan it.

The Planning Phase is the time when the project team translates the initial vision/scope

from the Envisioning Phase into practical plans on how to achieve it. The purpose of the

Planning Phase is to define the solution in detail along with the approved project plan and

schedule. This work includes creating a functional specification, developing the solution

architecture and design, and preparing cost estimates. Team members draw upon their

expertise to create detailed individual plans, such as the development plan, test plan, and

deployment plan, as well as schedules for all aspects of the project. Program Management

combines these individual plans and schedules and synchronizes them to create the master

project plan and schedules. The Planning Phase culminates in the Project Plans Approved

Milestone. Passing this milestone indicates that the customer, the project team, and all

stakeholders agree on the details of the plans, including what will be built, how it will be

built, when it will be delivered, and what it will cost.

2.2 Methodology

Methodology in software development means the way to make software. The planning

Methodology is consisting of few steps which are given as below.

Developing the solution design and architecture

The development team begins the design process with the solution design and

architecture and culminates it with a design document that becomes part of the

functional specification.

Validating the technology

The development team also validates technologies to ensure that they meet the

business needs for the specific solution.

Creating the functional specification

19

Chapter No. 2 Planning the Project

The project team and Program Management Role create a functional specification

that describes the solution requirements, the architecture, and the detailed design

for all the features. This represents the contract between the project team and

customer.

Developing the project plans

The Program Management Role and the various teams that make up the project

team develop a collection of plans to define the tasks for all six MSF team roles,

and Program Management consolidates them into a master project plan.

Creating the project schedules

The Program Management Role and the various teams create milestone-driven

schedules for each individual team role, and Program Management consolidates

them into the master project schedule.

Setting up the development and test environment

The development and test teams create development and testing environments that

are independent of the production environment to develop and test the solution.

Close the Planning Phase

The project team completes the Planning Phase with the approval process for the

Project Plans Approved Milestone.

2.3 Available Methodology

Agile Unified Process (AUP)

Agile Unified Process is a group of Website development methods based on iterative and

incremental development, where requirements and solutions evolve through collaboration

between self-organizing, cross-functional teams. It promotes adaptive planning,

evolutionary development and delivery, a time-boxed iterative approach, and encourages

rapid and flexible response to change. It is a conceptual framework that promotes

20

Chapter No. 2 Planning the Project

foreseen interactions throughout the development cycle. The Agile Manifesto introduced

the term in 2001.

Rational Unified Process (RUP)

The Rational Unified Process (RUP) is a Website engineering framework, created and

maintained by the people at Rational Website (now owned by IBM), including Philippe

Crichton. It is a commercial product delivered as a more detailed version of the Unified

Software Development Process (which is presented as a generic public domain process).

This also means that the RUP suffers from the same problem as the USDP, being bloated

and too costly to customize for small projects.

Waterfall

The waterfall model is a sequential design process, often used in Website development

processes, in which progress is seen as flowing steadily downwards (like a waterfall)

through the phases of Conception, Initiation, Analysis, Design, Construction, Testing,

Production/Implementation, and Maintenance.

The waterfall development model originates in the manufacturing and construction

industries: highly structured physical environments in which after-the-fact changes are

prohibitively costly, if not impossible. Since no formal software development

methodologies existed at the time, this hardware-oriented model was simply adapted for

Website development

Spiral Model

Spiral model is a Website development process combining elements of both design and

prototyping-in-stages, in an effort to combine advantages of top-down and bottom-up

concepts. Also known as the spiral lifecycle model (or spiral development), it is a systems

development method (SDM) used in information technology (IT). This model of

development combines the features of the prototyping and the waterfall model. The spiral

model is intended for large, expensive and complicated projects

21

Chapter No. 2 Planning the Project

Rapid Application Development (RAD) Model

Rapid application development (R.A.D) is a software development methodology that uses

minimal planning in favors of rapid prototyping. The "planning" of Website developed

using RAD is interleaved with writing the software itself. The lack of extensive pre-

planning generally allows Website to be written much faster, and makes it easier to

change requirements.

2.4 Chosen Methodology

The methodology that is chosen is Rapid Application Development Methodology in our

Project.

2.5 Reasons for chosen Methodology

Rapid application development is a software development methodology, which involves

iterative development and the construction of prototypes. It is a merger of various

structured techniques, especially the data driven Information Engineering with

prototyping techniques to accelerate software systems development. We use RAD Model

when Requirements are clear.

Rapid Application Development Model (RAD)

22

Chapter No. 2 Planning the Project

Advantages of the RAD methodology

There are following advantages of RAD:

Flexible and adaptable to changes.

RAD generally incorporates short development cycles - users see

the RAD product quickly.

RAD involves user participation thereby increasing chances of early

user community acceptance.

RAD realizes an overall reduction in project risk.

Pareto's 80 - 20 Rule usually results in reducing the costs to create a

custom system.

23

Chapter No. 2 Planning the Project

2.6 Work Plan Time Line Chart

This Chart describes that how much time is spend at each phase.

24

Chapter No. 2 Planning the Project

2.7 Project Structure

The project structure is very simple. I am the only person who is managing this all project

in the supervision of my Respected Sir Fayyaz Muhammad. As early discussed the

project follows the rapid application development.

Team Structure.

I am doing my project individually. So, no team structure needed.

Requirement Specification

Requirements of client describe as follow:

System should provide secure and accurate data.

System should easy to operate.

System should provide information related to firm.

Guest-Site

Requirements from Guest side are as follows:

System should display different Classifieds/ads with detail

information i.e. activated by admin.

System should provide facility to register themselves as user or

advertiser.

System should provide facility to search particular classified with

detail information.

System should provide facility to guest user to give them view

related to site as a feedback.

System should provide company information, policy, etc.

User-Site

Requirements from User side are as follows:

System should display different classified/ads with detail

information i.e. activated by admin.

System should provide facility to send query to advertiser for

particular classifieds/ads.

System should enable to get response from advertiser for their

query.

25

Chapter No. 2 Planning the Project

System should provide facility to search particular classified with

detail information.

System should provide facility to save particular classifieds/ads as

per them choice.

System should provide facility to update user personal profile and

password.

System should provide facility to give them view related to site as a

feedback.

Advertiser-Site

Requirements from Advertiser side are as follows:

System should provide a facility to purchase a new scheme as per

them choice for upload classifieds/ads.

System should provide facility to upload their classifieds/ads in

different scheme according to different display format available and

manage them classified as per their requirement.

System should enable to receive query from user for particular

classifieds/ads and give them response.

System should provide facility to search particular classified with

detail information.

System should provide facility to update user personal profile and

password.

System should provide Scheme ledger that contain current status of

scheme and classifieds/ads upload in different scheme.

System should provide remainder related scheme status i.e. scheme

expiry and expiry point.

System should provide facility to give them view related to site as a

feedback.

Admin-Site

Requirements from Admin side are as follows:

System should provide following information to Admin.

26

Chapter No. 2 Planning the Project

Registered user information

Advertiser information and those schemes, and

classifieds/ads information.

Feedback information

System should provide facility to manage following database entry

to admin.

Scheme master

Price master

Category master

Subcategory master

City

State

Country

Policy

Admin account master

System should enable to active /approve following request

Scheme request

Classifieds/ads request

System should provide facility to upload and manage classifieds/ads

behalf of advertiser.

System should provide Scheme ledger of particular advertiser that

contain current status of scheme and classifieds/ads upload in

different scheme.

Feasibility Study

Feasibility study plays very important role in the development of any system, but when it

is the case of development of any software then its importance increases much more

because in the case one should be very clear about availability of the time and resources.

Before starting the development of the software one should give considerable amount of

time for feasibility study because the successful completion of project depends upon

feasibility.

27

Chapter No. 2 Planning the Project

The feasibility of our project has been judged on the basis of time, technology, resources

available and project length.

Time

This project takes at least 5 month to be completed if we take help of reused components

otherwise it will take 6 months to be completed.

We will not make use of components and therefore will be able to complete the project in

6 months. Thus according to time the feasibility is not that right.

Technology

The necessary technology, viz., front-end development tool, back-end database

technology and various other tools namely installation tools, etc. for developing the

system, are already available within the organization. So this problem is feasible.

Resources

We need good knowledge software engineers and practitioners. We need Net connection.

We have all the resources in the desired amount.

Project Size

The Project size might be above 15000 LOC. This is just the rough assumption because

we don’t have any basis of the past projects.

Thus the project overall feasibility is normal and therefore we have undertaken this

project.

Risk Analysis

With the development of the software, we have defined some proactive risks before

technical work initiated. This part of documents includes the risk management step.

(1) Risk : Unrealistic Deadline

Probability : 70%

Impact : High

28

Chapter No. 2 Planning the Project

Description:

Because of the short duration and large system there is Probability not to

complete the project within deadline.

Contingency Plan:

From the starting day of the project, we have worked hard and very

speedily to complete the project within deadline.

(2) Risk : Customer will change requirements

Probability : 60%

Impact : High

Description:-

The customer will change the requirements very frequently as the project

begins. So, we have probability no to complete the project as the customer

required.

Contingency Plan:

From the past project, we have knowledge about it. So we interact with

customer every time new work begins and conduct FTR & revise the work

as the customer requires.

(3) Risk : Developers Inexperienced

Probability : 70%

Impact : High

Description:

Well developers of the software are inexperienced of the .NET

environment. So, there is probability not to complete the project.

Contingency Plan:

From the starting day of the project, we have worked hard and we referred

the books and also take the guidance of the intelligent to complete the

29

Chapter No. 2 Planning the Project

project.

Technical Risk

1. Language Difficulties

The familiarity with the front-end language is illustrated in this risk.

The reasons behind this risk are as follows:

The Project is mandatory built .NET platform. Since this language

is new to the programmers, the programmers might face some

difficulties.

As no one from the programmers is partially familiar with this

platform, some functionalities might not considered in

implementation or some functionalities might not achieved

completely.

2. Specification ambiguity

The complexity of the requirements or inappropriate understanding is

included in this risk. The reason behind this risk is as follows:

The specification of this projects little profound and hard to identify.

3. Technology Unknown

The risk is concerned with the unrealized technical conditions.

The reasons behind this risk are as follows:

The platform we should be working on is client-server environment,

which is introduction to all of us.

The lack of conceptual implement on this kind of environment is

new.

The fish bone diagram depicting risks of our project

30

Chapter No. 2 Planning the Project

Software Risk Management Plan

1 Identify the project’s risk items

2 Present a plan for resolving each risk item

3 Update list of risk items, plan, and results monthly

4 Highlight risk-item status in monthly project reviews.

Compare with previous month’s ranking status

5 Initiate appropriate corrective actions

The Online Classified Portal project requires frequent user interaction. For that reason,

our first choice included the Prototype model. However, we had doubts about the

prototype model, and therefore we concluded to use the Spiral Model. The risk-based

approach of the Spiral Model is significant to the development of this prototype, and it

31

ResourcesBudget

Change

ProcessTime Incorrect

- Real time performance shortfall

- More than estimated

- Unrealistic schedule

Wrong customer queried

Inadequate queries

Company gave wrong info.

- More then estimated

- Unrealistic budget

- Lack of training on tools

- Company req. may change

- Personnel shortfall

- Tech will not meet expectation

- S/W not accepted by CRM

- Developing wrong S/W module

Chapter No. 2 Planning the Project

would also help select an established lifecycle model or determine a different model

constructed from various phases of other lifecycle models. After regular reviews, we

decided that the best approach was to use a hybrid model that would implement the risk

management of the spiral model along with the incremental model, which is a mixture of

the prototype model and the linear sequential model. Currently, the project revolves

around two established stages: Requirement Analysis and Prototype Development. Above

figure shows the life cycle for the development process as well as entry and exit criteria

for the different phases of the project.

Effort Distribution

Project Planning: 2 to 3 %

Requirement Analysis: 10 to 25 %

32

Testing and Debugging Analysis (30-40%) And Design(40-50%)

Coding (15-20 %)

Chapter No. 2 Planning the Project

Design: 20 to 25 %

Coding: 15 to 20 %

Testing / Debugging: 30 to 40 %

Task Dependency Diagram

33

Chapter No. 2 Planning the Project

2.8 Project Schedule.

No Activities Days Reason of Durations

1

Project/Product

Feasibility

Report

1

Analysis and finding feasibilities which are exists

in my Product/project need little bit more concentration

by I can judge that what kind of benefits can be obtained

to a specific user.

2 Project/Product

Scope

2 In scope I concentrate on the limit of area at

which my Project/Product facilitating and defined.

3 Project/Product

Costing

3

I need the all counts of internal external files.

Identifying the files also take more concentration.

Calculation of cost by rating, Cost, Total Estimated

Effort, and Total Project Cost involve deep study of

project.

4 CPM - Critical

Path Method 3

It is a large procedure in which first identifying

project activities after that define all activities early start,

early finish, late start, late finish and calculation of total

slack time and Free slack time. And then finding the

critical path by analysis.

5 Gantt Chart 1

I have just enter data in MS Project application

software, because all work for Gantt chart already

specify.

6

Introduction to

Team member

and Tools and

Technology

1

I mention just introduction with specific skill set

also define tools and technology which I am going to

use.

7 Vision document 2

There is need only some more things and

description of previous identified parameters of products

for generating the Vision.

8 Risk List 1

There is need of finding the uncertainties which

can be come in my product/project and they definitely

34

Chapter No. 2 Planning the Project

lead to loss also define the approaches to resolve them.

9

System

specification and

external entities

1 Need analysis according to system specification.

1

0

Use case

descriptions

8 First identify the use case name and Description

of every single use case according to OOAD.

1

1

Use Case

Diagram

5 Make high level use case diagram and analysis

level use case diagram in which I define inclusion,

extension and generalization relationships.

1

2

Design Class

Diagram 4

Already identify Classes in domain model in

design class diagram first identify attributes and function

of every class also define relationships among or

between classes.

1

3

Data Model 5 Make ERD and EERD use data bases concepts.

Mention primary and foreign key of particular classes.

35

Chapter No. 2 Planning the Project

1

4

Interface

Creation 18 Interfaces are easy to use, user can easily interact

with my system, and it is really a user friendly system.

1

5

Back-end coding 39 System is capable of performing its required

functionality on demand and without failure system can

accomplish its given task accurately and completely

according to standard time and cost.

1

6

System Testing 9 This is the phase which aware us the work need

some changes or it meet user requirements or not , If not

then what changes are required.

Table 2.1 Project Schedule Chart

36