PA2406_Assignment1_Group3_final

advertisement
Project plan
Javier Baro
Israr Ahmed
Student of MSc. in Software Engineering
Blekinge Tekniska Hogskola
SE-37225, Ronneby, Sweden
Student of MSc. in Software Engineering
Blekinge Tekniska Hogskola
SE-37225, Ronneby, Sweden
[email protected]
[email protected]
Nattakarn Phaphoom
Josef Hardi
Student of MSc. in Software Engineering
Blekinge Tekniska Hogskola
SE-37225, Ronneby, Sweden
[email protected]
ABSTRACT
In this paper, we present our own perspective about the definition
of a plan for a particular software development project. This
perspective is based on several main characteristics like: formal,
agile, process based and dual complementary perspective. It is the
beliefs of this development team that formality it is not a synonym
of bureaucracy. For the achievement of the final goal in any kind
of software development project: delivery of the final product in
time, under budget with the adequate resources and with the
quality levels required by our customers, some kind of formality
is required. But, formality applied in an agile way. By agile, this
development team wants to express the idea of selecting and/or
defining, customizing and applying the right processes to fit the
management and development requirements of the project in a
dual a complementary perspective. By dual and complementary
perspective this team wants also to express their view that
separating the management and development processes in a
complementary way, we can expect the achievement of one of our
main concerns that is to maintain the project under control. So we
will be able to know in any time the real state of the works
undertaken to the final achievement of the goal.
Categories and Subject Descriptors
K.6.3 [Software Management]: Software development
General Terms
Software development, software process.
Keywords
Software project plan, software project management method,
software project development method, software processes, PMP,
PMI, Unified Process, Agile Unified Process.
1. INTRODUCTION
In this paper we describe the personal decisions undertaken by the
software engineering team in the context of academic
environment in order to produce a software project plan for a
practical example. Section 1 is the introduction to the context of
our project. Section two is the assumptions introduced to the
premises of the practical example. In Section three, the dual
perspective of management and development is introduced. In
Section 4, the details of the project management methods are
Student of MSc. in Software Engineering
Blekinge Tekniska Hogskola
SE-37225, Ronneby, Sweden
[email protected]
explained. In Section 5, the selection of the software development
method is provided and finally in Section 6, the main conclusions
achieved by the team were elaborated.
2. ASSUMPTIONS
The following assumptions have been considered for this project
in particular:
The overall budget for the project is 60.000 €
The salary for each one of the roles involved in the project is:
Project manager: 600 € / day
Analyst: 350 € / day
Developer: 250 € / day
The software required for the management, development and
execution of the project belongs to the infrastructure of the
company and we do not have to care about this.
3. DUAL PERSPECTIVE PROCESS
For our team, the overall development of the product was split
into two different but related models- project management method
and software development method. The reason for this division
was to separate the management concerns, more related with
scope, time, cost and resources management, from the pure
development concerns which are more focused on the
functionality, the creation of artifacts, and the implementation of
the software. Both models should not be seen as independent
models. They both interact each other so that the pure
development activities, tasks and the artifacts, produced as a result
of the execution, are managed both by the development processes
themselves, and also, by the management processes in all the
aspects related with scope, time, cost, resources, etc. As we
mention in the abstract of this paper, the main objective of this
dual perspective is the control of the project for the deliverance of
the right product, in time, under budget and with the quality
required by our customer.
4. PROJECT MANAGEMENT METHOD
In this project, two different approaches for project management
process, traditional and agile process, are considered as
alternatives. The first one characterized in the form of the Project
Management Process (PMP) method from the PMI [1] and the
second one characterized in the form of the Scrum method. The
following advantages and disadvantages have been identified.
Table 1 PMP
Advantages



Disadvantages


Advantages
Disadvantages

PMP is the only formal model that the
team members having experiences. It is a
risk to learn a new model in limited time.
It is a well-known model, proposed by
people from industries with standard
practices and implemented worldwide.
It provides a good control about the
impact of changes along the life cycle.
The formality has been proposed could
also be seen as a disadvantage, because
the project has to elaborate and produce a
number of deliverables within time
constrain.
Since it is a process oriented method, the
project are going to expend time selecting,
defining, etc. not only implementing the
software.
Table 2 Scrum
The simplicity of the process, the way it
provides value to all stakeholders and the
scalability it offer makes it very attractive
methodology to choose[2]
It provides control mechanism for project
release as it is designed for iterative
development.
The team members do not have
experience and/or knowledge and training
is required.
According to the advantages and disadvantages, the following
decision has been taken. The agility approach is promising, but its
less formality is concerned. So although we were conscious about
the great effort required, we proposed to choose the PMP as the
project management method to use. The project minimized the
impact of the process formality by limiting the number of
processes to the minimum required for an adequate plan,
execution, control and closing of the project.
4.1 Project management processes
The followings are the selected processes: team motivation and
communication, scope, scheduling, quality and risk. To all these
PMP processes we added another one more process called change
control. It is added as a new independent process to remark the
importance given to the overall change control of the project.
4.1.1 Team motivation & Communication
In any kind of a software project, the persons are the most
important resources over processes and tools. How persons
interact each other and the level of commitment with the project
are two of the key factors for project success. That is the reason
why we decided to include this process in the project.
4.1.1.1 Team motivation
The team members came from different backgrounds and culture.
According to Expectancy theory, it can be said that our members
have different needs and goals. In order to understand each other
needs and goals we decided to develop several formal meeting
groups for team cohesion. In those meetings the team members
were also agreed according to Goal-setting theory that each one
was going to have the responsibility over some different aspects
of the project. We split mainly in three: meeting goals and
responsibilities, management goals and responsibilities and
development goals and responsibilities. Each member of the team
has to assume a different role at each time of the project. The
different roles are: for meetings: leader, facilitator, chronometer
and quality. For management: scope and scheduling, quality, risk
and change control and finally for development: requirements,
design, deployment and the team are going to assume the role of
developers. These roles are not permanently assigned so each one
of the members has the freedom to satisfy their own needs and
expectancies at every time of the project.
4.1.1.2 Communication
For communication purposes, the team was agreed that the
meeting is the fundamental tool for group communication. The
main objective with these meetings is that each one of the team
members has the opportunity to participate in the decisions and
also receive feedback from the other team members. One
important aspect when dealing with communication is how to
solve the conflict situations that will arise. Because in an
academic perspective we do not have the possibility to establish a
hierarchical structure, all the conflicts should be resolved in a
completely cooperative way. Based also in the concept of role, the
techniques chose for conflict resolution was altering the team
structure. By this way we can limit the influence of some
members on situations of conflict in decisions taking.
4.1.2 Scope
Following activities were undertaken for the project plan.
4.1.2.1 Scope statement
The project scope was established as: “Develop a software mobile
phone application for uploading and downloading images to and
from Internet”.
Inside the scope of the project, sub-activities are: image format, an
installable application, interface with the mobile phone virtual
machine, interface with the server side, browse between the
images stored in the server file system.
Outside the scope of the project are: deal with how the image
comes to the mobile phone, how the user download our
application, how or when the VM is installed, how to deal with
the mobile phone Operating System, manage the file system in the
server, develop web browser functionality, develop
communication protocols (HTTP, HTTPS, FTP).
In order to deal with scope, we used a technique called WBS
(Work Breakdown Structure). The reason for using this technique
in particular is because WBS allows a better overview of the
overall scope of the project. Applying this technique through a
process of decomposition provides better definition of the project
scope.
4.1.2.2 Scope control
The team agreed in the definition of a formal process of change
control to the project’s scope. As a result of this agreement, for
scope control we decided to define a Change Control Board
(CCB). The main responsibility of the CCB is to control the
changes to the scope baseline. Only trough formal petitions to this
board, one of the team members is allowed or not to do a change
to any one of the documents or artifacts under “base line”. More
information about the CCB and the change control process is
elaborated in the change control management process.
4.1.3 Scheduling
One of the most important activities in the project planning phase
is scheduling. By scheduling we can understand the definition of
the activities and tasks of the project, their sequence and the
estimation of their duration. The first step in project scheduling is
the identification of all the activities and tasks inside the scope of
the project, usually through the application of the WBS technique
introduced in the scope statement. For us the application of this
technique is considered as a very important step, only by the
rigorous decomposition of our project into smaller tasks, we will
reach the objective of obtaining a better management and control
of the project. The WBS we have done in this project in particular
has been represented in a hierarchical tree and transferred to a
Gantt chart and developed enough detail in order to transit
smoothly to the following phase that is product identification.
In product identification, the objective is to compile a list of the
products or deliverables that are going to be produced as a result
of, at least, the main activities. With this list we were able to
produce the PBS (Product Breakdown Structure). In this case our
objective was the compilation of all the important products for our
project. Once the PBS was developed, we were able to further
identify from the whole list of documents the ones that are going
to constitute the milestones of our project. This list is also very
important for us because only through the control of the
intermediate products or deliverables, we will be able to guarantee
the quality levels required by our customers.
In parallel, once the main activities were identified, we were also
able to begin a series of other activities like: identification of the
resources required by our project. These resources were compiled
in a RBS (Resources Breakdown Structure)and establishment of
the sequence of the activities and works. The tool chosen for this
network establishment has been network diagrams, in concrete,
the precedence diagramming method (PDM), technique that
uses rectangles connected by arrows to show the dependency of
activities within the project. The main reason for adopting this
technique is because we used Microsoft Project and is the only
technique supported specifically in this tool for network
diagramming. From the four possible tasks dependencies available
in this technique, we chose the finish-to-start dependency type,
because it is the most recommended technique when the project is
oriented to ongoing development like our project is.
Once the definition and sequencing of the activities were
established or, at least, well known, we began to assign resources
to those activities. In order to do so, we needed to do some
estimation about the size of the activities in order to assign the
correct number of resources for their fulfillment. The estimations
were done in first step in size applying the technique of Function
Points and then translated to lines of code (SLOC) in order to do
the cost estimation by applying the technique of COCOMO II.
We chose both techniques because both are well known and
proved techniques in the software community and also because
there are some public available estimation databases that we can
use for our own estimation purposes.
Once the effort required was known, we finally were able to
assign resources to each one of the different tasks. As a result of
this cross between tasks and resources, the responsibility diagram
matrix was done in order to have a visual representation in tabular
form of the different tasks to execute and the person responsible
for its execution.
Finally, all these data about time, resources and cost were also
transferred to the Gantt chart in Microsoft Project. With this last
document we close the responsibility circle: Process-ActivitiesWorks-Products-Effort-Resources-Cost.
4.1.3.1 Scheduling analysis
One important decision when dealing with scheduling is the
decision about when the techniques can be performed once the
resources has been assigned. The technique we chose for this
important aspect was critical path method (CPM). This technique
helped us to identify the project’s critical path by determining the
longest path through all the works in a project that can be done in
the shorter time.
4.1.3.2 Scheduling control
The project team decided to have closely control over project
schedule because limited project execution phase is considered as
primary concern. Schedule control allows us to see variance
between current situation and the project plan. Therefore proper
corrective actions (e.g. scope refinement, activity reassignment)
can be taken in time.
The scheduling control technique chosen was: Progressing
Report. This technique presents the progress of activities
identified in project WBS. Our project used percentage of
completed work product as a measurement of project progress. In
order to present project progress we used Gantt chart as the base
template for inserting percentage of work done. The reason of
using Gantt chart, instead of WBS, is that Gantt chart presents not
only project activities in hierarchy, but also includes starting date,
duration, and planned finish date. It reminds the responsible
person both the remaining work and remaining duration, so (s)he
can effectively plan to get everything complete in time.
There are two worthy reasons to generate progressing report
weekly. First of all, it helps us identify risky activitiesthat have
tendency to miss dateline, and second it represents performance of
team members..
4.1.3.3 Cost control
The cost control technique chosen was: Earned Value technique
(EVT). This technique was applied to control cost of the project.
EVT presents planed curve, actual curve, and earned value curve
in the same diagram.
There are several reasons of using EVT. First of all, it not only
allows us to see the cost variance between planned and actual
cost, but also predicts the overall cost when project completes.
Secondly, it connected cost control process to risk management.
This diagram provides earlier sight of problems. The analysis
result will be an input for risk identification process that we
adopted to the project as well.
Even there are other cost control techniques available, we selected
EVT because it is a standard technique that most of team
members have experiences and do not require more reading.
4.1.4 Project Quality Management
The objective of explicitly defining quality management process
in the project is to ensure quality of the work products that will be
delivered to customers and be internally used. It also ensures that
agreed procedures are well understood and followed by all team
members.
The feedback from work product inspections
represents the common mistakes and leads to process
improvements and staff development.
Quality management plays a crucial role in maintaining
completeness and correctness of deliverables, even though the
size of team is small and the project scope is very limited. This is
because it reminds the project team that the standard level of work
products need to be reached before delivered to the stakeholders.
Our project adopted 2 processes for quality management that is
quality assurance and quality control. We used work product
inspection for quality assurance and Pareto diagram for quality
control.
4.1.4.1 Quality assurance
Work product inspection is the method to review the documents
before submitted to the baseline or delivered to other stakeholders.
There are 3 levels of inspection that is self review, supervisor
review, and team review. The crucial documents need to be
inspected and given feedback by project manager, and
communicated to the whole team.
There are three reasons for adopting the inspection process. First
of all, we do not know background of team members. Some Agile
methods believe in competency of team member and the work
product is reviewed by its generators. This technique results in
fast and flexible development, but it can be risky in case that the
background of team member is unknown. Second, the inspection
ensures that the contents of document are validated and verified
by appropriated person. Therefore other member can refer to or
reuse the documents with confidence. Third, result of the
inspection shows the common mistakes and misunderstood issues.
These can be used as a guideline for improving processes and
staff training as well.
The only concern of inspection process is that it requires lots of
time to review all work products at team level. To avoid time
consuming, we decided to have 3 levels of inspection. The team
review is performed only for crucial work products (e.g. scope
statement, project management plan, project schedule).
Documents that are mainly use in one phase such as test plan can
be inspected by peer review. And other documents like a minute
of meeting can be inspected by self review.
The result of inspection is record in a defect form. It identifies
severity level, defect type, and injected phase. For further detail,
Table 3 shows the defect table.
Table 3: Defect Table
4.1.4.2 Quality control
By quality control our objective is to have a visual representation
of some of the results of the project. These results are compared
with the quality standards defined. As a result of this comparison,
we will be able to identify causes of our main problems. This
identification is considered also very important in our project
because it will serve as an input for other process, like risk
management process to identify the main risks we are facing in
our project at each time.
Refer to PMBoK, there are variety basic tools of quality (e.g.
Fishbone diagram, Control chart, Flowcharting). The technique
we chose for quality control was Pareto diagram. A Pareto
diagram represents the distribution of variables related specific
events. The height of column shows the frequency of the variables
and the curve, the accumulative sum of the frequency of all the
variables. Our project selected Pareto diagram to represent the
causes of common problems found in work product inspection
and causes of identified risk.
We considered Pareto chart the most appropriated tool for our
project for 4 reasons. First of all, Pareto diagram combines
characteristics of Fishbone chart, Histogram chart, and defect
review. All problem causes are presented and we can easily point
out the cause that created the greatest number of defects and fix it
first. Secondly, Pareto diagram is easy to be created and
understood comparing to other tools like Control chart. Thirdly, it
does not require a special tool to generate the diagram. Lastly,
team members are all experience in this technique. In order to
generate Pareto diagram, the input is defect list of work product
inspection process (showed in Table 3). Defect type, injected
phase and defect cause can also be used to present problem
characteristic in different perspective. We decided to create the
Pareto diagram once a week in project execution phase, in order to
implement proper corrective action (e.g. template adjustment,
process improvement).
4.1.5 Risk Management
The objective of the risk management is to make a plan for risk
management; which affect the cost, schedule and deliverables of
the project. In our project we had a number of risks, such as time
management, lack of knowledge, project complexity , error in
document generation and resource availability. All these risks
affect our goals and objectives. The scope statements and WBS
structure help to identify some of the risks.
Our project have taken constrains (e.g. time, members’
background) as pre existing risks. During project life cycle, new
risks might be discovered as a result from quality and control
processes. . Therefore, risk management processes are needed to
deal with them.
4.1.5.1 Risk Management Plan
The purpose of making a risk management plan is not only to
identify the risk but also to manage them in a proper way, so they
have a very little impact on project’s schedule and cost. In our
project we mainly focus on risk based on project scope statement
and work breakdown structure, but we will also have to identified
during execution or other activities.
In quality management, the work product inspection led the
discovery of risks; which will later be managed through project
management plan. Based on the information provided in the
project scope statement and WBS; the project manager called for
a meeting to manage the risk management plan for the project.
The attendees in the meeting are the development team. Plans for
risk management activities, risk responsibilities are defined. The
goal of making the risk management plan is to manage project
risks and to adopt a suitable technique. The activities to perform
during risk management process, technique, roles and
responsibilities regarding risk management, budget, time, risk
breakdown structure and other definition and recommendation to
rate when a risk occur all defined in the risk management plan.
4.1.5.2 Risk Identification
The identified risks were documented along with their
characteristics e.g. source of risk, risk impact, and description etc.
The participants in this activity include the project manager and
team member. The risk related to the project includes time
constraints, team member’s availability, lack of knowledge and
participation, resources, complexity of project, experience and
skills of team members.
The technique used for risk identification is Checklist. For our
project in particular, checklist was developed from the checklist
taxonomy proposed by the SEI. This checklist was applied to our
project based on the information and knowledge compiled from
the scope and the WBS mainly. Other techniques related to risk
identification are brainstorming, information gathering technique,
diagramming technique that focus on group meeting and building
diagrams respectively will consume time in handing risk
identification and may affect other project activities. The output of
the checklist is a risk register that are used for further activities of
this plan. The main advantages of using check list that it is
repeatable, comparable and cost efficient.
4.1.5.3 Risk Analysis
Qualitative risk analysis was performed to access and prioritize
the identified risks. The participants in the qualitative risk analysis
are the project manager, team member and the assigned risk
member. The risk register was reviewed and updated by the
project manager. The risk probability and impact assessment
technique used for the qualitative risk analysis. This technique
used group meeting. The main agenda of this meeting was to find
the level of probability for every risk; its impact and source were
evaluated. The level of probability and the impact were rated
based on the definition described in the risk management plan.
The reason for adopting this technique was the limitations and
lack of knowledge.
Decision tree analysis technique was performed in qualitative risk
analysis. The risk that was prioritizing earlier during qualitative
risk analysis was structured using decision tree analysis. The
purpose of this approach is to identify available choices and
scenarios. This technique will help to estimate cost at each choice
and the scenarios. This helped the development team to estimate
the right decision along with the cost.
4.1.5.4 Risk response Planning
To minimize risk threat and take necessary actions to resolve risk,
risk planning was adopted. The “strategy for both threats and
opportunities” technique was used to eliminate the risk from the
project. The rest of techniques for risk response either deal with
risk with potential positive impact or risk with negative impact.
The active acceptance strategy was adopted to establish
contingency reserve to handle risks and opportunities.
4.1.6 Change control management
The goal of change control management is to provide methods or
procedures for handling project changes in order to minimize
impact of the risks and consequently to help maintain the quality
and operations in the project.
4.1.6.1 Change Control Process
In our project, we will try to practice the change control
management for case that major changes is happened in the
project. In the process, the change control board or change
committee is the most important role in the system. The
committee responds for making decision whether or not to accept
change requests that are inevitable as project proceeds. For doing
the role, we agreed that the project manager is the chair of the
change committee. The team members brainstorm necessary
adjustment in scope statement, project plan (e.g. schedule,
resources) if changes are approved.
There are three reasons that our projects appointed a formal
change committee to justify change requests before implementing.
First of all, we want to prevent unnecessary and costly changes for
derailing project schedule. Second, we want to ensure that the
most appropriate solution is taken. And lastly, the impact of
changes that might affect personal schedule is acceptable by all
parties.
4.1.6.2 Configuration Management
The configuration management (CM) serves as the subset of the
change control management, which its purpose is to maintain the
evolving project products under control. Our primary concern in
this area is to provide the tool and the storage for every entity
produced during the software development project.
4.1.6.3 CM Tool
Two parts of CM is the software configuration management
(SCM) and the operational configuration management (OCM).
While SCM focuses on managing source code during
development, OCM focuses on managing the configuration items
(such as documentation and service definitions) within a project
management. In this project, we agreed to practice these two parts
of CM as integrated portion by using single management tool. For
that purpose, we selected Subversion as the configuration tool.
Regarding with the other CM tools option, we put notice on
Concurrent Versions System (CVS) and Subversion only. The
reason is because we want to exercise for tools that have been
widely used and known by the software development
communities. Furthermore, the comparison between these two
tools shows that Subversion has many useful advantages rather
than CVS. For example, the Subversion's atomic commits will
assure the data consistency in the system so the repository will
always stable. In this manner, persons who update their working
copy will never miss any changes left from the others' commits.
Another useful feature is that Subversion can also manage
changes of the binary files. This feature is very helpful because in
the project not only source code text will be maintained in the
system but also the documentations in binary format (i.e.
Microsoft Word document or Portable Document File), thus, the
project team will still be able to trace changes or find differences
between various revisions. For further details, Table 4 shows the
features summary for both CVS and Subversion.
Table 4: CVS and Subversion Features Comparison
CVS doesn't provide atomic
commits.
Subversion provides atomic
commits which mean a
collection of modifications
either goes into the repository
completely, or not at all.
CVS only tracks the history of
individual files.
Subversion
implements
a
``virtual'' versioned file system
so files and directories are also
versioned.
CVS doesn't support copy and
rename operations.
Subversion
supports
add,
delete, copy, and rename for
both files and directories.
CVS only supports text
(human-readable) files when
Subversion
differences
expresses
file
using a binary
sensing changes or tracing
differences.
CVS only uses its proprietary
protocol for the networking.
differencing algorithm, which
makes Subversion supports on
both text (human-readable) and
binary (human-unreadable) files
when sensing changes.
Subversion can also use another
network
protocol
as
an
extension (i.e. HTTP or
HTTPS).
There are also three another reasons Subversion became the
preference. First, Subversion is free open software. So, it is
obvious that the team does not need to spend hundreds or
thousands US dollar to purchase proprietary license. This gives
significant saving money for the overall project cost. Second,
Subversion has enough features to perform several important
revision control needs for the project. Third, some members in the
team are quite familiar with using Subversion and the remaining
has heard the usage of the tool. This initial knowledge helps to
speed-up the exercise using Subversion.
effective communication and understanding among the team
rather than creating tedious specification documents.
Regarding with the other software development models (SDMs),
we selected only the SDM that has a clear definition about project
management inside it. For several SDMs we have surveyed, the
project management process was not very clear and even
incomplete or ambiguous. For example, the extreme programming
does not define risk management process [3]. Another concern is
about the time constraint and the part-time dedication of the team
members to the project. For example, the waterfall model and the
spiral model is too tedious for the team to define everything in
advance and do prototyping. Table 5 shows the comparison
between the other software development models.
Table 5: Software Development Model Comparison
SDM
AUP
4.1.6.4 Repository Location
SVN repository is the product of implementing the Subversion
service. The repository can be accessed online through the
Internet and only the members of the team have the fully readand-write operation. Public members can get access but with
limited permission. The repository can be located using URL
address: http://photohand.googlecode.com/svn. All
incremental codes and documentations will be stored in this
repository.
5. SOFTWARE DEVELOPMENT MODEL
In the project, we used the Agile Unified Process (AUP). AUP is a
simplified version of the Rational Unified Process (RUP). AUP
describes a simple and understandable approach using agile
techniques and concepts yet still remaining true to the RUP
practices.
The reason AUP became the choice is because AUP provides a
clear structure for project management process and its
development process. AUP defines four phases and seven
disciplines to be followed by the team. And in Section 4 we have
covered the management process activities. For example, in the
Inception phase of AUP, the team covered almost all the project
planning processes, such as scope planning, time estimation,
budget allocation, human resource assignment, risk identification
and so on. Later in the Construction phase, the team will execute
the project based on the plan.
AUP works as an incremental and iterative approach that suitable
in our assignment's case. The benefit of this approach is it helped
the team to break down the tasks and grouped them into a single
iteration work. Later, multiple iterations recur to create a fully
integrated product.
AUP also proposes a small amount of deliverable artifacts. This
value of AUP fits with the time constraint that the team faced.
Thus, the team could have enough time on focusing to the
working code rather than on composing the documents. For
example, AUP can use other agile practices in order to have
XP
Advantages
Similar
to
RUP
characteristics,
AUP
has a clear define
phases and activities
AUP uses iterative and
incremental approach,
risk-driven model.
It is an agile approach
that oriented to change
management.
Spiral
Spiral defines several
project
management
activities
Waterfall
It is a simple process,
unidirectional
and
sequential flow.
Disadvantages
Hard to maintain the
agile
practices
in
control.
The successful of XP’s
project
depends
on
people’s
competency
and experiences. This
become problem in our
team that we have
various
different
backgrounds.
A lot of overhead, like
creating prototype, is
produced before start
implementing.
It is difficult to gather all
the requirements in
advance at the early
stages of the project.
It is difficult to manage
changes
and
when
possible implies big
cost.
6. CONCLUSIONS
Is the believe of this software development team that the set of
decision adopted along the plan, in both, the project management
area as well as the software development area are going to drive
our project to our final goal. A goal based on the delivery of our
final product under cost, in time and with the quality level
required by our customer. This assumption is based on two main
decisions, the customization of the PMP for the project
management area and the adoption of an agile perspective of the
unified software development process.
During the elaboration of the present project plan the main
difficulties we have found were: the transition from a group of
people to a team. The adoption of a common understanding about
the activities and tasks required for a software development
project. The distinction between project management activities
and software development activities, as well as the relation
between them, have been a difficult area of agreement.
7. REFERENCES
[1] PMI Project management body of knowledge 3rd Ed. PMI
Inc. Four Campus Boulevard, Newton Square, Pennsylvania,
USA. 2004.
[2] Rising, L. and Janoff, N. S. The scrum software development
process for small teams IEEE Software. July/August 2000
[3] Nyfjord, J. and Kajko-Mattsson, M. Commonalities in risk
management and agile process model. In International
Conference on Software Engineering Advances, pages 18–
18. ICSEA, August 2007.
Download