PROJECT SCHEDULING AND TRACKING
Download
Report
Transcript PROJECT SCHEDULING AND TRACKING
PROJECT SCHEDULING
AND TRACKING
Nur Cahyo Wibowo
What is it?
You’ve selected an appropriate process model,
You’ve identified the software engineering tasks that
have to be performed,
You estimated the amount of work and the number of
people,
You now the deadline,
You’ve even considered the risks.
Now you have to create a network of software
engineering tasks that will enable you to get the job done
on time. Assign responsibility for each task, make sure it
gets done, and adapt the network as risks become
reality.
Why is it important?
In order to build a complex system, many
software engineering tasks occur in parallel,
and the result of work performed during one
task may have a profound effect on work to
be conducted in another task.
These interdependencies are very difficult to
understand without a schedule.
lt’s also virtually impossible to assess
progress on a moderate or large software
project without a detailed schedule.
Beberapa Penyebab Software
Terlambat
Deadline yang tidak realistis yang diberikan seseorang diluar
grup pengembangan PL dan dipaksakan pada manajer dan
pelaksana group.
Perubahan keinginan customer yang tidak nampak dlm jadwal
Perkiraan yang tidak tepat mengenai jumlah effort dan
resource yang diperlukan dalam pekerjaan tersebut.
Resiko baik yang bisa diprediksi maupun yang tidak bisa
diprediksi tidak dipertimbangkan pada saat proyek disetujui
Kesulitan teknis yang tidak bisa diprediksi.
Kesulitan manusia yang tidak bisa diprediksi.
Kurang komunikasi antara staf proyek.
Kegagalan manajemen proyek untuk mengenal kegagalan
penjadwalan dan terlambatnya penanganan.
Basic Principles
Software project scheduling is an activity that
distributes estimated effort across the
planned project duration by allocating the
effort to specific software engineering tasks.
During early stages of project planning, a
macroscopic schedule is developed. This
type of schedule identifies all major software
engineering activities and the product
functions to which they are applied.
As the project gets under way, each entry on
the macroscopic schedule is refined into a
detailed schedule. Here, specific software
tasks (required to accomplish an activity) are
identified and scheduled.
Software Project Scheduling
Guide (1)
Compartmentalization. The project must be
compartmentalized into a number of manageable
activities and tasks (decomposed)
Interdependency. The interdependency of each
compartmentalized activity or task must be determined.
Time allocation. Each task to be scheduled must be
allocated some number of work units (e.g., person-days
of effort). Each task must be assigned a start date and a
completion date.
Effort validation. Every project has a defined number of
staff members.
Defined responsibilities. Every task that is scheduled
should be assigned to a specific team member.
Software Project Scheduling
Guide (2)
Defined outcomes. Every task that is scheduled should
have a defined outcome. (e.g., the design of a module)
Defined milestones. Every task or group of tasks
should be associated with a project milestone. A
milestone is accomplished when one or more work
products has been reviewed for quality (Chapter 8) and
has been approved.
Hubungan Orang – Upaya
"If we fall behind schedule, we can always add more
programmers and catch up later in the project."
Unfortunately, adding people late in a project often
has a disruptive effect on the project, causing
schedules to slip even further.
The people who are added must learn the system,
and the people who teach them are the same
people who were doing the work.
While teaching, no work is done, and the project
falls further behind.
Contoh Ilustrasi
Misal ada 4 orang software engineer, masing-masing
mampu menghasilkan 5000 LOC/tahun pada saat
bekerja pada sebuah proyek tunggal. Pada saat 4
engineer ditempatkan pada sebuah proyek tim terdapat
6 jalur komunikasi yang memungkinkan. Masing-masing
jalur komunikasi memerlukan waktu pengembangan
sendiri. Diasumsikan produktifitas tim akan berkurang
250 LOC per tahun untuk masing-masing jalur
komunikasi. Oleh sebab itu produktifitas tim sekarang
adalah : (5000 x 4) – (250 x 6 ) = 18.500 LOC / tahun.
Berarti kurang 7.5% dari yang diharapkan.
Rumus Empiris
Sebuah proyek software diestimasi pada
33.000 LOC, 12 person-years. Jika ada
delapan orang yang ditunjuk dalam tim
proyek tsb maka proyek bisa diselesaikan
dalam waktu 1,3 tahun. Akan tetapi jika
kita memperpanjang tanggal selesainya
menjadi 1,75 tahun maka berdasar rumus
diatas :
E = L3 / (P3 t4) ~ 3,8 person-years.
Project Types
1.
2.
3.
4.
5.
Concept development that are initiated to explore some
new business concept or application of some new
technology.
New application development that are undertaken as a
consequence of a specific customer request.
Application enhancement that occur when existing
software undergoes major modifications to function,
performance, or interfaces that are observable by the enduser.
Application maintenance that correct, adapt, or extend
existing software in ways that may not be immediately
obvious to the end-user.
Reengineering that are undertaken with the intent of
rebuilding an existing (legacy) system in whole or in part.
DEFINING A TASK NETWORK
A task network, also called an activity
network, is a graphic representation of the
task flow for a project.
It is sometimes used as the mechanism
through which task sequence and
dependencies are input to an automated
project scheduling tool.
In its simplest form (used when creating a
macroscopic schedule), the task network
depicts major software engineering tasks.
Tasks Network Example
Contoh Time Line Chart
Contoh Tabel Proyek
Cara Pelacakan Jadwal
Conducting periodic project status meetings in which
each team member reports progress and problems.
Evaluating the results of all reviews conducted
throughout the software engineering process.
Determining whether formal project milestones (the
diamonds) have been accomplished by the scheduled
date.
Comparing actual start-date to planned start-date for
each project task listed in the resource table (Figure 7.5).
Meeting informally with practitioners to obtain their
subjective assessment of progress to date and problems
on the horizon.
The Software Project Plan
Is produced at the culmination of the planning tasks.
It provides baseline cost and scheduling information that
will be used throughout the software process.
The Software Project Plan is a relatively brief document
that is addressed to a diverse audience. It must (1)
communicate scope and resources to software
management, technical staff, and the customer; (2)
define risks and suggest risk aversion techniques; (3)
define cost and schedule for management review; (4)
provide an overall approach to software development for
all people associated with the project; and (5) outline
how quality will be ensured and change will be managed.