Author
medianamagdalena
View
229
Download
0
Embed Size (px)
8/2/2019 Rekap Pra UTS
1/13
Week 1 Introduction to Project Management
Q : What is a project and what is the difference from operations ?
A : A project is a temporary endeavor undertaken to create a unique product, service, or result. Operations,
on the other hand, is work done in organizations to sustain the business. Projects are different from
operations in that they end when their objectives have been reached or the project has been terminated
Q : What are project attributes ?
A : 1) A project has a unique purpose, 2) A project is temporary, 3) A project is developed using progressive
elaboration, 4) A project requires resources, often from various areas, 5) A project should have a primary
customer or sponsor, 6) A project involves uncertainty
Q : State the triple (quadruple) constraint of the project !
A : 1) Scope : What work will be done ?, 2) Time : When and how long should it take to complete the project ?,
3) Cost : What should it cost to complete the project ?, 4) Quality : Does the projects product satisfy the
customer ? How to realize it ?
Q : What is project management ?
A : Project management is the application of knowledge, skills, tools and techniques to project activities to
meet project requirements.
Q : What should a project manager do to succeed the project ?
A : Project managers must not only strive to meet specific scope, time, cost, and quality goals of projects, they
must also facilitate the entire process to meet the needs and expectations of the people involved in or
affected by project activities.
Q : Illustrate the project management framework !
A :
8/2/2019 Rekap Pra UTS
2/13
Q : State the advantages of using formal project management !
A : 1) Better control of financial, physical, and human resources, 2) Improved customer relations, 3) Shorter
development times, 4) Lower costs and improved productivity, 5) Higher quality and increased reliability,
5) Higher profit margins, 6) Better internal coordination, 7) Positive impact on meeting strategic goals, 8)
Higher worker morale
Q : Explain the project stakeholders !
A : Stakeholders are the people involved in or affected by project activities and include the project sponsor,
project team, support staff, customers, users, suppliers, and even opponents of the project.
Q : What is project management knowledge areas ?
A : Project management knowledge areas describe the key competencies that project managers must
develop, which consist of four core knowledge areas (scope management, time management, cost
management, quality management), four facilitating knowledge areas (human resource management,
communications management, risk management, procurement management) and integration
management. See Project Management Framework
Q : State several ways to define the success of a project !
A : 1) The project met scope, time, and cost goals, 2) The project satisfied the customer/sponsor, 3) The
results of the project met its main objective, such as making or saving a certain amount of money,
providing a good return on investment, or simply making the sponsors happy.
Q : What helps projects succeed ?
A : 1) Executive support, 2) User involvement, 3) Experienced project manager, 4) Clear business objectives,
5) Minimized scope, 6) Standard software infrastructure, 7) Firm basic requirements, 8) Formal
methodology, 9) Reliable estimates, 10) Other criteria, such as small milestones, proper planning,
competent staff, and ownership
Q : What are suggested knowledges and skills for project managers ?
A : 1) The Project Management Body of Knowledge, 2) Application area knowledge, standards, and
Regulations, 3) Project environment knowledge, 4) General management knowledge and skills, 5)
Soft skills or human relations skills
Q : State ten most important skills and competencies for project managers !
A : 1) People skills, 2) Leadership, 3) Listening, 4) Integrity, ethical behavior, consistent, 5) Strong at building
trust, 6) Verbal communication, 7) Strong at building teams, 8) Conflict resolution, conflict management,
9) Critical thinking, problem solving, 10) Understands, balances priorities
Q : Illustrate the project phase defined by J. Rakos !
8/2/2019 Rekap Pra UTS
3/13
A :
Q : State the reasons why the projects fail at the start, in the development stages and at the end of the
project ?
A : a) At the start :1) Do no get off the ground, 2) Unrealistic deadline and budget; b) In the development
stages :1) Analysis and design are not documented, 2) The responsibilities are not clearly assigned to
specific individuals, 3) Design, testing, and implementation methods are invaluable is not thoroughlyunderstood, 4) Lack of walk-throughs and review, 5) Many project failures are blamed on turnover, 6)
Lack of development standard, 7) Brute force techniques such as add more manpower do not work; c)
At the end :1) Delivery without thorough debugging, 2) Do not deliver the promised performance, 3)
Maintenance cost is too high, 4) Overrun in expense and schedule, unhappy users, damaged reputation,
waste expensive talent, etc
Q : Explain the reasons why the software projects fail !
A : 1) People begin programming before they understand the problem, 2) The team has an unrealistic idea
about how much work is involved, 3) Defects are injected early but discovered late, 4) Programmers have
poor habitsand they dont feel accountable for their work, 5) Managers try to test quality into the
software
Q : State several ways to make sure the projects succeed !
A : 1) Make sure all decisions are based on openly shared information, 2) Dont second-guess your team
members expertise, 3) Introduce software quality from the very beginning of the project, 4) Dont impose
an artificial hierarchy on the project team, 5) Remember that the fastest way through the project is to use
good engineering practices
8/2/2019 Rekap Pra UTS
4/13
Things to remember in software project management : 1) Tell everyone the truth all the time, 2) Trust your
Team, 3) Review everything, test everything, 4) All software engineers are created equal, 5) Doing the project
right is most efficient, 6) Using tools and technique, 7) Using project management effectively
Week 2 Software Project Planning
Q : Who needs software ?
A : Most software is built in organizations for people with specific needs. Personnel who need software include
a) Stakeholder : anyone who has an interest (or stake) in the software being completed, b) User :
someone who will need to use the software to perform tasks. Sometimes stakeholders will be users, but
often the stakeholder will not use the software.
Q : Who builds software ?
A : Software is typically built by a team of software engineers, which includes : a) Business analysts or
requirements analysts who talk to users and stakeholders, plan the behavior of software and write
software requirements, b) Designers and architects who plan the technical solution, c) Programmers who
write the code, d) Testers who verify that the software meets its requirements and behaves as expected
Q : Explain the roles of a project manager in managing a software project !
A : The project manager plans and guides the software project, in such he or she : 1) is responsible for
identifying the users and stakeholders and determining their needs, and 2) coordinates the team, ensuringthat each task has an appropriate software engineer assigned and that each engineer has sufficient
knowledge to perform it. To do this well, the project manager must be familiar with every aspect of software
engineering
Q : How does the project manager drive the scope of the project ?
A : The project manager should identify it by talking to and communicating with the main stakeholder. The
effective way to show stakeholders that their needs are understood and that those specific needs will be
addressed is with a vision and scope document
Q : Illustrate the outline of a typical vision and scope document!
A :
8/2/2019 Rekap Pra UTS
5/13
Q : What is a project plan ?
A : A project plan defines the work that will be done on the project and who will do it. A typical project plan
consists of : a) A statement of work (SOW) that describes all work products (specifications, test plans,
code, defect reports, and any other product of work performed over the course of the project) that will be
produced and a list of people who will perform that work, b) A resource list that contains a list of all
resources that will be needed for the product, and their availability, c) A work breakdown structure and a
set of effort estimates, d) A project schedule, e) A risk plan that identifies any risks that might be
encountered and indicates how those risks would be handled, should they occur
Q : What is a statement of work (SOW) ?
A : SOW is a detailed description of all of the work products which will be created over the course of the
project. It includes : a) A list of features that will be developed, b) A description of each intermediate
deliverable or work product that will be built, c) The estimated effort involved for each work product to be
delivered
Q : What is a resource ?
A : A resource is a person, hardware, room or anything else that is necessary for the project but limited in its
availability
Q : What is a work breakdown structure (WBS) ?
A : A work breakdown structure (WBS) is a list of tasks which, if performed, will generate all of the work
products needed to build the software.
Q : Explain what a risk plan is, steps to create and illustrate an example ?
A : A risk plan is a list of all risks that threaten the project, along with a plan to mitigate some or all of those
risks. A risk plan can be created by firstly brainstorm the potential risks, then estimate the impact of each
risk and build the risk plan. An example of typical risk plan is shown below.
8/2/2019 Rekap Pra UTS
6/13
Week 3 Estimation
Q : Why is estimation needed in executing a software project ?
A : Estimation is a base for the project manager to set expectations about the time required to complete the
software among the stakeholders, the team, and the organizations management. If those expectations
are not realistic from the beginning of the project, the stakeholders will not trust the team or the project
manager.
Q : List the elements of a sound estimate !
A : To generate a sound estimate, a project manager must have : a) A work breakdown structure (WBS), or a
list of tasks which, if completed, will produce the final product, b) An effort estimate for each task, c) A list
of assumptions which were necessary for making the estimate, d) Consensus among the project team that
the estimate is accurate
Q : What is Wideband Delphi ?
A : Wideband Delphi is a process that a team can use to generate an estimate. In Wideband Delphi, the
project manager chooses an estimation team, and gains consensus among that team on the results.
Wideband Delphi is a repeatable estimation process because it consists of a straightforward set of steps
that can be performed the same way each time
Q : State 6 steps of Wideband Delphi process !
A : 1) Choosing the team : The project manager selects the estimation team (3 to 7 representatives projectteam members) and a moderator ; 2) Kickoff meeting : The moderator leads a discussion to brainstorm
assumptions, generate a WBS, and decide on the units of estimation ; 3) Individual preparation : Each
team member generates the initial estimates for each task in the WBS, documenting any changes to the
WBS and missing assumptions ; 4) Estimation session : The moderator leads the team through a series of
iterative steps to gain consensus on the estimates. The cycle repeats until either no estimator wants to
change his or her estimate, the estimators agree that the range is acceptable, or two hours have elapsed ;
5) Assembling tasks : The project manager works with the team to collect the estimates from the team
members at the end of the meeting and compiles the final task list, estimates, and assumptions ; 6)
Reviewing results : The project manager reviews the final task list with the estimation team.
Week 4 Project Schedules
Q : What is a project schedule ?
A : A project schedule is a calendar that links the tasks to be done with the resources that will do them. Before
a project schedule can be created, the project manager must have a work breakdown structure (WBS) and
estimates. The schedule is part of the project plan.
Q : What is effort ?
8/2/2019 Rekap Pra UTS
7/13
A : Effort represents the work required to perform a task. Effort is measured in person-hours (or person-days,
person-weeks, etc.). It represents the total number of hours that each person spent working on the task.
Q : What is duration ?
A : Duration is amount of time that elapses between the time the task is started and the time it is completed.
Duration is measured in hours (or days, weeks, etc.). It does not take into account the number of people
performing the task
Q : What is slack ?
A : Slack is the amount of time which any of the tasks can be delayed without causing the due date of the final
task in the sequence to be delayed as well. A tight schedule has very little slack; a delay in any task will
cause a delay in the due date. Parkinsons Law: Work expands so as to fill the time available for its
completion.
Q : What is overhead ?
A : Overhead is any effort that does not go to the core activities of the task but is still required in order for the
people to perform ita sort of real world cost of actually doing the work. Two people performing a task
will require more effort than one person doing the same task. Assigning two people to the task requires
more effort, but the task has a shorter duration
Q : Explain several key points in building a project schedule !
A : 1) Allocate resources : Assign sufficient resource for each task in WBS based on qualifications, familiarityand availability by considering also the overhead when calculating the duration of each task ; 2) Identify
dependencies : A task has a dependency if it involves an activity, resource or work product which is
subsequently required by another task ; 3) Create the schedule : Most project schedules are represented
using a Gantt chart, which shows tasks, dependencies & milestones using different shapes ; 4) Reconcile
the schedule with the organizations needs : Once resources are allocated to each task, a final date can be
calculated, but if this date is unacceptable, the project plan must change by either allocating additional
resources to the project or cutting down the scope Brooks Law: Nine women cannot have a baby in
one month. ; 5) Add review meetings to the schedule : Progress reviews are meetings which should be
held regularly to check the progress of a project versus it's scheduled progress, while milestone reviews
are meetings which the project manager schedules in advance to coincide with project events ; 6)
Optimize the schedule : Allocating resources to tasks on the critical path (the sequence of tasks that
represent the minimum time required to complete the project) will reduce the project schedule; allocating
them to other tasks will have less effect on the due date ; 7) Do not abuse buffers : A buffer is a task added
to the schedule with no specific purpose except to account for unexpected delays; buffers should not be
used to add time to compensate for an inaccurate estimate.
Q : Illustrate four types of predecessor !
A :
8/2/2019 Rekap Pra UTS
8/13
Q : Illustrate Gantt chart !
A :
# The black diamond between tasks D and E is a milestone, or a task with no duration. Milestones are
used to show important events in the schedule. The black bar above tasks D and E is a summary task,which shows that these tasks are two subtasks of the same parent task.
# Task A is a Finish-to-Start (FS) predecessor of Task B. Task B does not start until Task A is complete.
# Task A is a Start-to-Start (SS) predecessor of Task C. Both tasks start at the same time. If the start time
for Task A were delayed, then the start time for Task C would move forward to match it.
# Task C is a Finish-to-Start (FS) predecessor of Task D. Task D is a Finish-to-Start (FS) predecessor of
a milestone, which in turn is a Finish-to-Start predecessor of Task E.
# Task E is a Finish-to-Finish (FF) predecessor of Task B. Note the delay before Task B startsit does
not start until its planned completion time will match up with Task E.
Q : Explain the following project metirc terms : Baseline, Variance, BCWS, ACWP, CPI !
A : Baseline is the version of the schedule that has been approved ; Variance is the difference between the
estimated effort in the baseline and the actual effort performed by the team Variance = BCWS ACWP;
BCWS (Budgeted Cost for Work Scheduled) is the estimated effort of the actual tasks that appear on the
schedule to date ; ACWP (Actual Cost of Work Performed) is the effort spent on the tasks in the schedule
that have actually been completed by the development team members ; CPI (cost performance index) is
calculated by dividing BCWS / ACWP and multiplying by 100 to express it as a percentage.
8/2/2019 Rekap Pra UTS
9/13
Week 5 Review
Q : What is review ?
A : A review is any activity in which a work product is distributed to reviewers who examine it and give
feedback.
Q : Why are reviews useful ?
A : Reviews are useful not only for finding and eliminating defects, but also for gaining consensus among the
project team, securing approval from stakeholders, and aiding in professional development for team
members. Reviews also help teams find defects soon after they are injected making them cost less to fix
than they would cost if they were found in test.
Q : What are the objects of review in a software project ?
A : Software requirements specifications, schedules, design documents, code, test plans, test cases, and
defect reports should all be reviewed.
Q : What is inspection ?
A : Inspection is a moderated meetings in which reviewers list all issues and defects they have found in the
document and log them so that they can be addressed by the author.
Q : What is the goal of the inspection ?
A : To repair all of the defects so that everyone on the inspection team can approve the work product.Commonly inspected work products include software requirements specifications and test plans.
Q : State several key points in running an inspection !
A : 1) A work product is selected for review and a team is gathered for an inspection meeting to review the
work product ; 2) A moderator is chosen to moderate the meeting ; 3) Each inspector prepares for the
meeting by reading the work product and noting each defect ; 4) In an inspection, a defect is any part of
the work product that will keep an inspector from approving it ; 5) Discussion is focused on each defect,
and coming up with a specific resolution ; 6) The moderator compiles all of the defect resolutions into an
inspection log
Q : What is a deskcheck ?
A : A deskcheck is a simple review in which the author of a work product distributes it to one or more
reviewers. Unlike an inspection, a deskcheck does not produce written logs which can be archived with
the document for later reference. Deskchecks can be used as predecessors to inspections.
Q : What is a walkthrough ?
A : A walkthrough is an informal way of presenting a technical document in a meeting. Walkthroughs are used
when the author of a work product needs to take into account the perspective of someone who does not
8/2/2019 Rekap Pra UTS
10/13
have the technical expertise to review the document.
Q : What is a code review ?
A : A code review is a special kind of inspection in which the team examines a sample of code and fixes any
defects in it. In a code review, a defect is a block of code which does not properly implement its
requirements, which does not function as the programmer intended, or which is not incorrect but could be
improved
Q : What is pair programming ?
A : Pair programming is a technique in which two programmers work simultaneously at a single computer and
continuously review each others work. In pair programming, two programmers sit at one computer to write
code. Generally, one programmer will take control and write code, while the other watches and advises.
Pair programming improves the organization by ensuring that at least two programmers are able to
maintain any piece of the software.
Week 6 Software Requirement
Q : What are software requirements ?
A : Software requirements are documentation that completely describes the behavior that is required of the
software-before the software is designed built and tested.
Q : How are software requirements specifications built ?A : Software requirements specifications are built by analysts through requirements elicitation, which includes
a) Interviews with the users, stakeholders and anyone else whose perspective needs to be taken into
account during the design, development and testing of the software; b) Observation of the users at work;
c) Distribution of discussion summaries to verify the data gathered in interviews.
Q : Illustrate a typical discussion summary template !
A :
8/2/2019 Rekap Pra UTS
11/13
Q : What is a use case ?
A : A use case is a description of a specific interaction that a user may have with the system. Use cases do not
describe any internal workings of the software, nor do they explain how that software will be implemented.
They simply show how the steps that the user follows to use the software to do his work.
Q : Illustrate a typical use case template !
A :
Q : What are software requirements specifications (SRS) ?
A : SRS represents a complete description of the behavior of the software to be developed. SRS includes
a) A set of use cases that describe all of the interactions that the users will have with the software; b) All of
the functional requirements necessary to define the internal workings of the software: calculations,
technical details, data manipulation and processing, and other specific functionality that shows how the
use cases are to be satisfied; c) Nonfunctional requirements, which impose constraints on the design or
implementation (such as performance requirements, quality standards or design constraints).
Q : What is the difference between functional requirement and nonfunctional requirement ?
A : Functional requirements define the outward behavior required of the software project. Nonfunctional
requirements define characteristics of the software which do not change its behavior. The nonfunctional
requirements are sometimes referred to as non-behavioral requirements or software quality attributes
Q : What is the difference between scope, requirements and design?
A : Scope demonstrates the needs of the organization, and is documented in a vision and scope document.
Requirements document the behavior of the software that will satisfy those needs. Design shows how
those requirements will be implemented technically
Q : What is change control ?
A : Change control is a method for implementing only those changes that are worth pursuing, and for
preventing unnecessary or overly costly changes from derailing the project. Change control is an
agreement between the project team and the managers that are responsible for decision-making on the
project to evaluate the impact of a change before implementing it.
Q : What is change control board (CCB) ?
A : CCB is made up of the decision-makers, project manager, stakeholder or user representatives, and
8/2/2019 Rekap Pra UTS
12/13
selected team members. CCB analyzes the impact of all requested changes to the software and has the
authority to approve or deny any change requests once development is underway.
Week 7 Design and Programming
Q : What activities should be carried out by the team after SRS has been approved ?
A : 1) The programmers can simply start building the code and create the objects and user interface elements;
2) Designers can build a user interface prototype to demonstrate to the users, stakeholders, and the rest
of the team; 3) Pictures, flow charts, data flow diagrams, database design diagrams, and other visual tools
can be used to determine aspects of the design and architecture; 4) An object model can be developed on
paper, either using code, simple class diagrams, or Unified Modeling Language (UML) diagrams; 5) A
written design specification is written, which includes some or all of these tools.
Q : What is a version control ?
A : A version control is a system which has a purpose to bring the projects source code under control. It
allows programmers to keep track of every revision of all source code files. The main element of the
version control system is the repository, a database or directory which contains each of the files contained
in the system. A programmer can pick a point at any time in the history of the project and see exactly what
those files looked like at the time. It is always possible to find the latest version of any file by retrieving it
from the repository. Changing a file will not unexpectedly overwrite any previous changes to that file; any
change can be rolled back, so no work will accidentally be overwritten.
Q : Explain two common models for version control !
A : 1) A copy-modify-merge system : In this system, multiple people can work on a single file at a time. When a
programmer wants to update the repository with his changes, he retrieves all changes which have
occurred to the checked out files and reconciles any of them which conflict with changes he made before
updating the repository. 2) A lock-modify-unlock system : In this system, only one person can work on any
file at a time. A programmer must check a file out of the repository before it can be modified. The system
prevents anyone else from modifying any file until it is checked back in. On large projects, the team can
run into delays because one programmer is often stuck waiting for a file to be available.
Q : What is refactoring ?
A : Refactoring is a programming technique in which the design of the software is improved without changing
its behavior. There are many choices that programmers make which do not affect the behavior of the
software but which can have an enormous impact on how easy the code is to read and understand.
Examples of refactoring are Extract Method, Replace Magic Number with Symbolic Constant, Decompose
Conditional, and Introduce Explaining Variable.
Q : What is the purpose of unit testing ?
A : The purpose of unit testing is to create a set of tests for each unit to verify that it performs its function
8/2/2019 Rekap Pra UTS
13/13
correctly. To do it, programmers create suitesof unit tests, where each test is a small block of code which
exercises a specific behavior of one unit. The most common (and effective) way for programmers to do
unit testing is to use a framework, a piece of software that automatically runs the tests and reports the
results.