Sie sind auf Seite 1von 15

Print

Show All
APPLIES TO

Microsoft Office Project


2003

Have you ever created an early Project plan — maybe to get approval for the project — only to find it unworkable when
you started tracking progress? With the right start, you can ensure that the plan you create at the beginning of your
project is an effective management tool throughout the project.

Use the five-step process outlined in this article to make sure you don't go down the wrong path. This process assumes
that you have already defined the project start date, applied the appropriate base calendar, and set up the default task
type and other settings in the Options dialog box (Tools menu). If you haven't done so, see the related links in the
See Also section of this page. Then perform the following five steps:

1. Create a task list and work breakdown structure (WBS)


2. Indent or outdent tasks to finalize the WBS
3. Enter task durations or work estimates
4. Create dependencies between tasks
5. Assign resources

You can do all of these tasks by using the default view in Project, the Gantt Chart. The Entry table, which is the default
table for the Gantt Chart, is also perfect for this process. The following steps will tell you when to insert additional
columns.

Step 1: Create a task list and work


breakdown structure (WBS)
Failing to understand the importance of the work breakdown structure (WBS) is one of the biggest mistakes that
planners make. The WBS is the hierarchical list of the project's phases, tasks, and milestones. It's the core of the
project schedule. The WBS is critical because it drives the scope of the project. The scope translates into the timeline
and budget. Taking the time to map out the WBS will save you significant time later by helping you to avoid rework
and false starts.

To build your WBS, start by listing the major pieces (summary tasks) of your project, and then map out the minor
pieces (tasks) within each major piece. Continue to break down each piece until you have sufficient level of detail to
support your plan. What's sufficient detail? Consider these factors:

• What level of task do you want to track and report status on? Team members will need to give you status on
tasks, and you'll need to report status on them. If you break down work to one-day tasks and your project is months
long, you and your team will be spending a lot of time entering and tracking status.
• What level of detail gives you early warning about risks? You want to break down your tasks so that you can
identify problems early enough to do something about them.
• Can you effectively identify dependencies between tasks? If work on one thing can't start until work on
another is finished, you need each work item to be a separate task so that you can indicate that dependency.

To enter summary tasks

To enter tasks
When you enter new task names, Project automatically assigns them an initial duration of one day and schedules
them to start at the project start date.

Be sure to also add milestones — markers of important completion points — at the end of each major activity to help
measure progress and for benchmarking. It is a good practice to give milestone tasks a name that conveys completion
or reaching an important point in the project lifecycle.

NOTE Don't enter a task representing the project as a whole. Let Project do it for you. On the Tools menu, click
Options, and then click the View tab. Under Outline options for, select the Show project summary task check
box.

Step 2: Indent or outdent tasks to finalize


the WBS
After you enter tasks in the Task Name field, it's time to create the hierarchy. You can stay in the Task Name field

and use the Indent and Outdent buttons on the Formatting toolbar to establish the right outline levels. The
key? Project differentiates between major phases of work, called summary tasks, and the smaller phases of work,
called subtasks, based on indentation. Summary tasks have subtasks indented underneath them. Subtasks represent
the actual work a resource will do, and they don't have additional subtasks indented under them.

NOTE Usually when people talk about tasks in Project they're referring to subtasks, and when they talk about phases
or summary tasks they're referring to summary tasks.

By using up to nine outline levels, you gain the ability to summarize data. Summary tasks consolidate information
about the tasks below them. For instance, Project calculates the duration for summary tasks. A summary task's
duration represents the total time it will take to complete the work for all of its subtasks. The project summary task
summarizes the entire project.

To structure the task list

Here's an example of a complete outline, with outline numbers displayed.


The outline numbers reflect the hierarchy or outline structure of the Project plan.

NOTES

• Project has the ability to display the outline as a Network Diagram, after the dependency structure has been
established as described in the next step. Or you can use the Visio WBS Chart Wizard to view the outline in a more
traditional chart or tree format. For more information about network diagrams and the Visio WBS Chart Wizard, see the
related links in the See Also section of this page.
• You can easily collapse and expand summary tasks to hide or show different levels of detail. Click Expand

or Collapse beside a summary task to show or hide (respectively) its subtasks. You can also quickly show
various outline levels by clicking Show on the Formatting toolbar.

Step 3: Enter task durations or work


estimates
You can specify the time that you estimate it will take to complete the tasks by entering either work or duration. Work
is the amount of effort or person hours needed to complete a task. Duration is the amount of actual time that will pass
before the task is completed. Thus, if a task takes 16 hours of work and one person does the work, its duration is two
days (assuming an 8-hour work day). If two people do the work, its duration is one day. However, the amount of work
is the same either way. If you are using a work-based estimating approach, resource assignments drive the duration
for each task. This scheduling approach is called effort-driven scheduling. You can use either method, but you should
decide whether you want to use a work-based or a duration-based method of scheduling, and then stick with that
method.

Entering work or duration is straightforward. Task work or duration can be entered directly in the Work or Duration
field in any table or dialog box that displays those fields. It's important to understand that work and duration are
measured in working days. For example, by default, 1 day = 8 hours, 5 days = 1 week, 20 days = 1 month. This means
that if you type 30 days in the Duration field, it is calculated as 6 weeks rather than a month. So make the correct
conversions when entering values.

NOTE You can enter different time units on a task-by-task basis by simply typing the time unit after the number. For
example, type 8min for minutes, 8h for hours, 8d for days, 8w for weeks, and 8mo for months.
If most of your duration or work estimates will be weeks or months long, you can change the default time unit.

To change the default time unit for duration or work

When you enter work or duration in a plan, it is important to enter it at the subtask level because summary tasks are
calculated fields. Project does not allow these values to be entered for a summary task.

To enter task durations

The durations of summary tasks span to include the earliest start and latest finish of their subtasks.

As task durations change, Project redraws the task’s Gantt bar to show the duration against a timeline.

NOTES

• You can change the duration of a task in many different views, tables, and dialog boxes in Project. If you
change the duration in one place, it will change in every other location automatically.
• To mark a task as a milestone, type 0 in the Duration column.

If you are following a work-based scheduling approach, enter work estimates in the Work column. Note that if you
choose this approach, durations will not be calculated until you complete step 5, which is assigning resources.

To enter work

You can enter task duration or work values, or both.

Note that a summary task’s duration value shows the total amount of time it will take to complete the subtasks,
while the summary task’s work values show the total number of hours that will be spent working on the subtasks.
Step 4: Create dependencies between tasks
One of the most critical steps in scheduling is to create task dependencies, or links. This step makes the difference
between a plan that can be used as an effective management tool and a plan that can only be used as a presentation
tool.

A dependency occurs when the start or finish of one task depends upon the start or finish of another. Most tasks are
dependent upon other tasks. After the dependencies are set, you can easily identify the critical path and understand
the driving factors for the project end date. You can also easily make changes to one task and immediately see the
ripple effect it will have on the rest of the plan. This is where Project shows its power as a tool for managing projects.

The challenge planners have is to ensure that all tasks are in the dependency chain. Here is a good rule of thumb:
every task should have a predecessor unless it is driven by the start date of the project. Every task should have a
successor unless it is the last task or milestone in the project.

When linking tasks, you can specify different types of dependencies. The most common dependency is Finish-to-Start
(FS), which means that the predecessor task must finish before the successor task can start.

There are many ways to set dependencies in Project:

To enter predecessor task IDs in the Task Form

To use the Link Tasks button

To enter task IDs in the Predecessors column

As you set the dependencies, Project adjusts the schedule, even though you have not yet assigned your resources.

NOTE If two tasks need to overlap one another, or if they are dependent but there needs to be a gap between them,
use the Lag field. For more information about lead and lage time, see the related links in the See Also section of this
page.

One way to create task links is to enter predecessor task IDs in the Task Form.

Another way is to select two tasks, and then click the Link Tasks button.

Yet another way to link tasks is to enter task IDs in the Predecessors field.

Next, you might want to display your critical path, which identifies the path on which no slippage can occur without
effecting the end date of the project.

To display the critical path

If you want to further highlight the critical path, you can customize the view.
To format task names and Gantt bars of tasks on the critical path

This view is formatted to show tasks on the critical path with red task names and Gantt bars.

Step 5: Assign resources


How and which resources you want to assign depends upon your scheduling and tracking needs. There are three
possible approaches:

• Use Project to show responsibility for tasks. This approach takes the least effort to enter and maintain.
However, it does not give you any real insight into the status of work during the course of the project.
• Use Project to forecast resource requirements. This approach requires additional effort to enter and
maintain assignments, and also requires assigning the correct work and unit values up front in the planning process. It
provides more accurate information up front, but it does not provide information about the status of work during the
project.
• Use Project to forecast resource requirements and track what work resources actually do on
tasks. This approach requires the most effort because updates must be entered on tasks, but it also allows you to see
how work on tasks is progressing during the course of the project.

Make sure you understand what approach you need early on in the planning cycle to avoid significant rework of your
plan. It is also important to determine what types of resources you need to assign. For example, you can assign named
resources, such as Judy Lew, or generic resources, such as Programmers. If you are early in the project-planning stage,
you might want to use generic resources. Eventually, you will want to assign actual resources. You can also assign
material resources such as computers, software, or other types of material (unit) costs.

After you understand what types of resources you need, you can add them to your project schedule.

To add resources to your project by using the Resource Sheet

After you add the resources to the project, you can begin to assign resources to tasks.

To assign resources by using the Resource Name field

To assign resources by using the Task Form

To use resources by using the Assign Resources dialog box


Some ways to assign resources to tasks include selecting resource names from the Resource Name field or in the
Task Form.

Another way to assign resources is to display the Assign Resources dialog box.

NOTES

• You can select multiple resources and multiple tasks at the same time by holding down CTRL while you click
to select them. This allows you to create multiple assignments at one time. You can assign many resources to many
tasks, many resources to one task, or one resource to many tasks.
• Assign resources to the subtasks, not summary tasks. This helps to build and maintain a more effective and
manageable plan.
• If your task type is Fixed Units and you are using effort-driven scheduling, the duration of the task will
shorten as you assign more resources. If you change the task type to Fixed Duration, the duration will remain fixed,
and work or units will change.

Next Step
That's it! Now, you're ready to present your plan and to use it to track and manage your project.

Factors that affect how project calculates time

In this article

• Introduction
• Establish the project start date
• Enter task durations
• Determine task dependencies
• Define and apply calendars
• Change task constraints
• Assign resources with task types

Introduction
Scheduling tasks in your project plan to reflect the reality of your situation, as well as your customer requirements, can
be a challenge. When you master the six factors that affect the calculation of time in Project 2003, you will be well on
your way to having an optimized project plan.

The six key factors that drive the calculation of time — that is, of dates and duration — in Project are:

• Project start date


• Task durations
• Task dependencies
• Project calendars
• Task constraints and deadlines
• Resource assignments and task types

When you understand how these six aspects of scheduling affect your project plan, you will have the necessary
framework to develop and maintain your project plans. You will also know how to troubleshoot and eliminate any
problems that occur when you optimize your plan for time, which is one side of the project triangle. This article gives
tips and techniques for using the six key factors that affect the calculation of a task's start date, finish date, and
duration.

TOP OF PAGE

Establish the project start date


The first scheduling factor that Project considers for a task is the project start date, as set in the Project Information
dialog box. The date on which you create the project plan becomes the default project start date. However, you can
change this date to reflect the plan that you are creating.
The project start date is important because all of the tasks will start on the project start date until you add task
dependencies or constraints.

Even after you set up your project plan, you can run a what-if scenario to see the effect of delaying or moving up the
start of a project. This can be a powerful method for quickly recalculating tasks.

To define your project start date:

1. On the Project menu, click Project Information.


2. In the Start date box, enter the project start date.

NOTE In the Project Information dialog box, you can use the Schedule from box to schedule from the start date
or finish date. Although "backward scheduling" from the project finish date can be useful for initial planning that is
based on an imposed deadline, your project plan will be easier to work with if you schedule from the start date. You
can apply a deadline or a Must Finish On (MFO) constraint to a milestone that signifies the end of the project. You can
then adjust the project start date to create what-if scenarios and compare the results.

By default, the start date does not appear as a gridline in the Gantt Chart view. You might want to display both your
project start date and the current date in the Gantt Chart view to easily visualize where you are in the project now
compared with where you were when the project started.

To create a blue gridline to represent the project start date and a red gridline to represent today's date:

1. On the Format menu, click Gridlines.


2. Under Line to change, click Project Start.
3. Under Normal, select a solid line in the Type box.
4. Under Normal, select Blue in the Color box.
5. Under Line to change, click Current Date.
6. Under Normal, select a solid line in the Type box.
7. Under Normal, select Red in the Color box.

The resulting gridlines in the chart area of the Gantt Chart view show where you are today in relation to where you
were on the project start date.
NOTE If your start date and today's date are identical, you will see only the line that represents the project start date.

TOP OF PAGE

Enter task durations


Task durations have a direct impact on the calculation of start dates and finish dates. You can enter task durations
directly into the Duration field in any table or dialog box where the field is displayed. The most typical method is to
enter a task's duration in the Duration field of the Gantt Chart view by using the Entry table.

The following table shows abbreviations that you can use when you enter durations.

FOR ENTER EXAMPLE

Minutes m 30m

Hours h 2h

Days d 4d

Weeks w 6w

Months mo 1mo

Remember that duration is based on working days as defined in your project calendar. According to the default
Standard calendar, 8 hours = 1 day, 5 days = 1 week, and 20 days = 1 month. For example, suppose that you want to
specify that a task will take 1 month to complete. If you enter 30 days in the Duration field, Project converts that to
6 weeks rather than to 1 month.

To review these duration conversions:

1. On the Tools menu, click Options.


2. Click the Calendar tab.
3. Review the Hours per day, Hours per week, and Days per month boxes.
NOTE Be careful not to change these settings without also changing the corresponding project calendar settings and
working times.

TOP OF PAGE

Determine task dependencies


One of the most critical steps in project scheduling is to establish a network for your tasks by setting task
dependencies. With dependencies, you reflect the order in which tasks should be done, as well as the relationship
between sequential tasks. If one task cannot start until another task finishes, you can link the two tasks by using the
common finish-to-start (FS) dependency. If a task can start as soon as another task starts, you can link them by using
the start-to-start (SS) dependency. You can also set finish-to-finish (FF) dependencies and start-to-finish (SF)
dependencies.

When the task dependencies are set and the network is established, you can easily identify the critical path and
understand the driving factors to the project end date. You can also easily make changes to one task and immediately
see the ripple effects on the rest of the plan.

Most projects have several clusters of linked tasks. The first task in each cluster (or "path") begins at the project start
date. Each subsequent task is linked to the predecessor (the one that comes before it) and the successor (the one that
comes after it). A task can have multiple predecessors and successors.

Consider creating a project-complete milestone in your plan to link other tasks or milestones. This can ensure that you
are alerted early enough when the project finish date is in danger of being pushed out.

To set a finish-to-start dependency by using the Link Tasks button:

1. In a task sheet (such as the Gantt Chart), select the predecessor task first and the successor task next.

2. On the Standard toolbar, click Link Tasks .

NOTE You can select several tasks at once, and then click Link Tasks on the Standard toolbar. This creates a finish-
to-start relationship between all the selected tasks.

To set dependencies by using the Task Entry view:

1. In the Gantt Chart view, click Split on the Window menu.

The Task Entry combination view appears, showing the Gantt Chart in the upper pane and the Task Form in the
lower pane.

2. In the Gantt Chart view, select the task to which you want to add a predecessor.
3. In the Task Form, click below the Predecessor Name heading, and then select the task that you want to link
as the predecessor to the task that is selected in the Gantt Chart view.
4. In the Type field, select the dependency type: FF, FS, SF, or SS.
5. If necessary, use the Lag field to create lead times or lag times between tasks.
Specify lead time by using a negative duration or percentage amount, indicating how early the current task can
start or finish in relation to the predecessor. Specify lag time by using a positive duration or percentage amount,
indicating how much time should pass after the start or finish of the predecessor before the current task can
start or finish.

6. To return to the full Gantt Chart view, click Remove Split on the Window menu.

Tip You can also select a task, open the Task Information dialog box, and then set the predecessors by
using the Predecessors tab. The Type and Lag fields are available on this tab as well.

TOP OF PAGE

Define and apply calendars


Project also uses calendars to calculate the start dates and end dates of tasks. Three base calendars are included with
Project: the Standard calendar, the 24-Hours calendar, and the Night Shift calendar. By default, the Standard calendar
is applied to the entire project, reflecting a working time of Monday through Friday, 8:00 A.M. to 5:00 P.M., with one
hour off for lunch.

To change the base calendar that is used for your project:

1. On the Project menu, click Project Information.


2. In the Calendar box, select the calendar that you want to apply to the project.

You can modify any of the built-in calendars to suit your project team's working time.

To modify a built-in calendar:

1. On the Tools menu, click Change Working Time.


2. In the For box, select the built-in calendar that you want to change.
3. In the calendar grid, select the day of the week whose working time you want to change.

For example, to change the working time for all Wednesdays, click W in the calendar grid.

4. To change the working time for the day, modify the times in the From and To boxes.
5. To change a working day to a nonworking day, select the day of the week and then, under Set selected
date(s) to, click the Nonworking time option.
6. To change a nonworking day to a working day, select the day of the week and then, under Set selected
date(s) to, click the Nondefault working time option.

You can also use project calendars to simulate a what-if scenario. For example, suppose that you are on a tight
schedule and you are wondering whether having your team work on Saturdays would help meet the desired project
finish date.

To create a new "Saturdays" base calendar:

1. On the Tools menu, click Change Working Time.


2. Click New.
3. In the Name field, type Saturday Calendar and then click OK.
4. In the calendar grid, click S to select all Saturdays.
5. Under Set selected date(s) to, click the Nondefault working time option.
6. In the From and To boxes, make any necessary changes to the working times.
You can now select your new Saturday Calendar as the project calendar in the Project Information dialog box. Your
project plan will be rescheduled according to this new calendar, and you can see whether it favorably affects the
project's timeline.

NOTES

• You can create a new base calendar if your team (or a group of resources within the team) has entirely
different working times from those reflected by any of the three built-in base calendars.
• To apply a calendar that is different from the project calendar to a specific resource, select the resource in
any resource view. Open the Resource Information dialog box, and then click the Working Time tab.
• To apply a calendar that is different from the project calendar to a specific task, select the task. Open the
Task Information dialog box, and then click the Advanced tab. Select the calendar in the Calendar box.

TOP OF PAGE

Change task constraints


Project schedules all tasks by using the As Soon As Possible (ASAP) constraint unless you explicitly apply a date
constraint, such as Start No Earlier Than (SNET) or Must Finish On (MFO).

One of the most common mistakes made in scheduling with Project is to type the dates directly into the Start or
Finish date field. When you type a date in the Start field in the table portion of the Gantt Chart view, this creates a
Start No Earlier Than (SNET) constraint. When you type a date in the Finish field, this creates a Finish No Earlier Than
(FNET) constraint.

Having such date constraints in your schedule can cause frustration, especially when you later try to make even the
most minor adjustment, respond to a deadline change, or run a what-if scenario. Most likely you will have to manually
reenter the affected task constraint dates. In addition, date constraints can skew the critical path calculations and limit
your ability to manage the project life cycle. A schedule that is based on date constraints restricts the flexibility that
Project has to calculate the best task dates. In turn, this hinders your ability to use Project as an effective management
tool.

Instead of using date constraints to drive your schedule, it is best to set up a network of task dependencies that drives
the start date and finish date for most tasks. Use a date constraint only for special tasks that have a "hard-coded"
date, such as a trade show or a contract deadline.

The following table lists all constraints. As Soon As Possible (ASAP) is the default constraint for a project that is
scheduled from the project start date. As Late As Possible (ALAP) is the default constraint for a project that is
scheduled from the project finish date. These two constraints provide the most scheduling flexibility. All other
constraints are fixed on a specific date.

CONSTRAINT DESCRIPTION

As Late As Possible Schedules the task as late as it can occur in the schedule without delaying subsequent tasks. Do not enter a
(ALAP) constraint date with this constraint.

As Soon As Possible Schedules the task to begin as early as it can occur. This is the default constraint for tasks. Do not enter a
(ASAP) constraint date with this constraint.

Finish No Earlier Than Schedules the task to finish on or after the constraint date. Use it to ensure that a task does not finish before a
(FNET) certain date.

Finish No Later Than Schedules the task to finish on or before the constraint date. Use it to ensure that a task does not finish after a
(FNLT) certain date.

Must Finish On (MFO) Schedules the task to finish on the constraint date. Sets the early, scheduled, and late finish dates to the date
that you type and anchors the task in the schedule.

Must Start On (MSO) Schedules the task to start on the constraint date. Sets the early, scheduled, and late start dates to the date
that you type and anchors the task in the schedule.

Start No Earlier Than Schedules the task to start on or after the constraint date. Use it to ensure that a task does not start before a
(SNET) specified date.

Start No Later Than Schedules the task to start on or before the constraint date. Use it to ensure that a task does not start after a
(SNLT) specified date.

To change the constraint:

1. In a task sheet (such as the Gantt Chart), select the task whose constraint you want to change.
2. On the Project menu, click Task Information.
3. Click the Advanced tab and then, in the Constraint type list, click the appropriate constraint.
4. If you select a date constraint (any constraint other than As Soon As Possible or As Late As Possible), enter
the date in the Constraint date box.

A good alternative to setting a date constraint that affects the project schedule is to apply a task deadline. A deadline
provides a reminder of date goals without constraining the schedule itself. A flag appears when a task deadline has
passed without the task being marked as complete.

To set a task deadline:

1. In a task sheet (such as the Gantt Chart), select the task to which you want to apply a deadline.
2. On the Project menu, click Task Information.
3. Click the Advanced tab and then, in the Deadline box, enter the deadline.
NOTES

• Certain date constraints might override other calculation tools that you have established, such as task
dependencies and project calendars. The Must Start On (MSO) and Must Finish On (MFO) constraints are the two
strongest, and they will anchor the task in place, even on a nonworking day.
• You can use a Must Finish On (MFO) constraint to help manage the project end date. With this constraint,
Project can calculate whether the project finish is coming in late or early by displaying total slack. Project can also
calculate negative slack, indicating how many days the project is past the constraint date.

TOP OF PAGE

Assign resources with task types


Until you assign resources, task scheduling depends on the project start and finish dates, task durations, task
dependencies, project calendar, and constraints. After you assign resources to tasks in the project, Project takes more
resource-related factors into consideration. The most significant factor related to assigned resources is the task type.

The task type indicates whether the task is driven by the number of resources assigned to the task (the default), the
amount of work (for example, hours or the level of effort) assigned to the resources on the task, or the task duration.
Project calculates these three variables — units, work, or duration — each time a resource is assigned to a task. These
variables are tied together in a formula based on Work = Duration * Units.

If you change one variable, one of the other two variables will be recalculated, depending on what task type has been
selected for that task.

The task type that you choose for a task depends on the scheduling technique that you want to be applied to that task
or to most of the project. There are two main approaches to scheduling. One is duration-based and the other is effort-
based:

• Duration-driven scheduling is best used for tasks or projects that are driven by dates and deadlines and that
will not be affected by the quantity of assigned resources. A good example of this is a trade show. No matter how
many resources you assign to the trade show task, the duration is always the same.
• Effort-driven tasks are those for which the duration should be recalculated based on the quantity of assigned
resources. The more resources that are assigned to a task, the less time it takes to complete the task. Likewise, if
resources are removed from an effort-driven task, the duration increases. A good example is the so-called "envelope
stuffing" task.

To change the task type for individual tasks:

1. Select the tasks whose task type you want to change.


2. On the Project menu, click Task Information, and then click the Advanced tab.
3. In the Task type box, click the task type (Fixed Work, Fixed Duration, or Fixed Units) that you want for
the selected tasks.
4. Select or clear the Effort driven check box.

By default, the Fixed Work task type is effort driven.


NOTE For fixed-duration tasks, you might consider clearing the Effort driven check box. If Effort driven is selected
for fixed-duration tasks, work remains constant within the fixed-duration time period and is redistributed each time
there is a resource change that is based on the original work calculation.

Fixed Units is the default task type in Project. If you expect most of your tasks to be either Fixed Duration or Fixed
Work, you probably will want to change the default task type when you first create your project and before you enter
tasks. Otherwise, you might have to rework the plan and change each task type setting. Changing the default task
type affects only new tasks, not existing tasks.

To change the default task type for a project plan:

1. On the Tools menu, click Options.


2. Click the Schedule tab.
3. In the Default task type box, click the task type that you want for your default (for example, Fixed
Duration or Fixed Work).

As you continue to use Project, you will learn more of the ways in which the six factors for scheduling tasks interact
with each other. By understanding how Project uses the project start date, durations, dependencies, calendars,
constraints, and task types to adjust scheduling, you can use the power of Project to create a realistic schedule and
manage the project throughout its life cycle.

Das könnte Ihnen auch gefallen