2024年5月7日发(作者:u盘被写保护怎么解除保护)
Software Project Management
Vladan Devedzic
FON - School of Business Administration, University of Belgrade, Yugoslavia
In order to organize and manage a software development project successfully,
one must combine specific knowledge, skills, efforts, experience, capabilities,
and even intuition. They are all necessary in order to be able answer questions
such as: What artifacts to manage and control during software development?
How to organize the development team? What are the indicators and measures
of the product's quality? How to employ a certain set of development practices?
How to transition a software development organization to a new modeling
and/or development paradigm? How to create and maintain a good relationship
with the customers and end-users? What remedial actions to take when
something goes wrong in the course of the project? What are the heuristics that
can help managers in conducting the software development process?
The manager of a software development project should answer the above
questions in the context of the project itself. However, there is a vast amount of
knowledge the manager should possess that transcends the boundaries of any
specific project.
The purpose of this chapter is to provide an extended overview of many
important issues around which such knowledge should be structured. The
introductory section merely introduces the issues and the context within which
the other sections discuss them. Each of the remaining sections covers one of the
issues in more detail. The idea has been to provide a balanced coverage of the
issues from both the manager's and the developer's perspectives.
Keywords. Software development process, management practices, metrics,
organizational aspects, standards.
Introduction
Software development is a complex process involving such activities as domain
analysis, requirements specification, communication with the customers and
end-users, designing and producing different artifacts, adopting new paradigms
and technologies, evaluating and testing software products, installing and
1
2 Handbook on Software Engineering & Knowledge Engineering
maintaining the application at the end-user's site, providing customer support,
organizing end-user's training, envisioning potential upgrades and negotiating
about them with the customers, and many more.
In order to keep everything under control, eliminate delays, always stay
within the budget, and prevent project runaways, i.e. situations in which cost and
time exceed what was planned, software project managers must exercise control
and guidance over the development team throughout the project's lifecycle
[Ahituv et al., 1999]. In doing so, they apply a number of tools of both economic
and managerial nature. The first category of tools includes budgeting, periodic
budget monitoring, user chargeback mechanism, continuous cost/benefit
analysis, and budget deviation analysis. The managerial toolbox includes both
long-range and short-term planning, schedule monitoring, feasibility analysis,
software quality assurance, organizing project steering committees, and the like.
All of these activities and tools help manage a number of important issues in
the process of software development. Figure 1 illustrates some of the issues, but
definitely not all of them. The issues shown in Figure 1 have been selected for
an extended overview in the remainder of this chapter based on the following
criteria:
• their priority in the concerns of most software project managers,
according to the managers themselves - this is evident from the case
studies, interviews, and reports of many software project managers and
consultants in software industry worldwide (see, for example, [Booch,
1995], [Fayad et al., 1996], and [Woodward, 1999]);
• the frequency of their appearing as topics in the relevant, industry-
oriented software engineering journals and magazines, such as IEEE
Computer, IEEE Software, and Communications of the ACM, during the
last decade;
• their importance as identified by relevant committees, associations, and
consortia of software developers (see, for example, [SWEBOK, 2000]).
发布者:admin,转转请注明出处:http://www.yc00.com/xitong/1715013286a2552565.html
评论列表(0条)