<< Chapter < Page Chapter >> Page >
In this module, we introduce concepts and application of management activities as planning, coordinating, measuring, monitoring, controlling, and reporting to ensure that the development and maintenance of software is systematic, disciplined, and quantified.

Introduction

Software Engineering Management can be defined as the application of management activities - planning, coordinating, measuring, monitoring, controlling, and reporting - to ensure that the development and maintenance of software is systematic, disciplined, and quantified.

The software engineering management therefore addresses the management and measurement of software engineering. While measurement is an important aspect of all topics of software engineering, it is here that the topic of measurement programs is presented.

While it is true to say that in one sense it should be possible to manage software engineering in the same way as any other process, there are aspects specific to software products and the software life cycle processes which complicate effective management - just a few of which are as follows:

  • The perception of clients is such that there is often a lack of appreciation for the complexity inherent in software engineering, particularly in relation to the impact of changing requirements.
  • It is almost inevitable that the software engineering processes themselves will generate the need for new or changed client requirements.
  • As a result, software is often built in an iterative process rather than a sequence of closed tasks.
  • Software engineering necessarily incorporates aspects of creativity and discipline—maintaining an appropriate balance between the two is often difficult.
  • The degree of novelty and complexity of software is often extremely high.
  • There is a rapid rate of change in the underlying technology.

With respect to software engineering, management activities occur at three levels: organizational and infrastructure management, project management, and measurement program planning and control.

Aspects of organizational management are important in terms of their impact on software engineering - on policy management, for instance: organizational policies and standards provide the framework in which software engineering is undertaken. These policies may need to be influenced by the requirements of effective software development and maintenance, and a number of software engineering-specific policies may need to be established for effective management of software engineering at an organizational level. For example, policies are usually necessary to establish specific organization-wide processes or procedures for such software engineering tasks as designing, implementing, estimating, tracking, and reporting. Such policies are essential to effective long-term software engineering management, by establishing a consistent basis on which to analyze past performance and implement improvements, for example.

Another important aspect of management is personnel management: policies and procedures for hiring, training, and motivating personnel and mentoring for career development are important not only at the project level but also to the longer-term success of an organization. Software engineering personnel may present unique training or personnel management challenges (for example, maintaining currency in a context where the underlying technology undergoes continuous and rapid change). Communication management is also often mentioned as an overlooked but major aspect of the performance of individuals in a field where precise understanding of user needs and of complex requirements and designs is necessary. Finally, portfolio management, which is the capacity to have an overall vision not only of the set of software under development but also of the software already in use in an organization, is necessary. Furthermore, software reuse is a key factor in maintaining and improving productivity and competitiveness. Effective reuse requires a strategic vision that reflects the unique power and requirements of this technique.

Questions & Answers

define iterative model. example of iterative model. advantages and disadvantages of iterative model. when to use iterative model
Okello Reply
i try out in netbeans this code:public class Profile { private Profile(int w) { // line 1 System.out.println(w); } public final Profile() { // line 5 System.out.println(10); } public static void main(String args[]) { Profile obj = new Profile(50); } } It is the question 5, and the answer is 50
Jacqueline Reply
i need help....Discuss the factors that influence the choice of the software development methodology to use when implementing software projects?(20)
tatenda Reply
The success rate of software development projects can be increased by using a methodology that is adequate for the specific characteristics of those projects.  then the focus on RAD,XP,RUP.
Hemant
hemant hie...it is a presentation i am working on...can you help me wth the introduction....please a powerful one hahahahha
tatenda
yes
Hemant
Define and show all Dipthongs and vowels used in english phonetics
Okendro Reply
what is the software engineering
Axmed Reply
Please how can I create an application?
Eric Reply
please how can I create an application
Nchor
How do we create a software
Florence Reply
give a more direct question
Louis Reply
what is semantics?
amjad
what r the computer codes
Kawuba Reply
machine code, source code , object code, and byte code etc
Hemant
what is software
Manobendra Reply
a collection of program executable by code is called software
Hemant
how can I create a software
Mary Reply
use in any model . then after you create any software
Hemant
what is capability maturity model integration
Muctarr
what is maturity level
Muctarr
maturity level is organization's process improvement achievement in multiple process areas
Hemant
how to trubulshoot is configuration ?
priya Reply
hello
Julius
hello
abeer
hello
Sahil
hello
Natnael
Hello
Eric
Guy's put your answer only
Natnael
click start then click run then type msconfig then ok
Natnael
explain coco model
dawood Reply
it model based on LOC. i.e; number of lines of code.
Hemant
What is a client engineer
buthayna Reply
A Customer Engineer (CE) is a worker whose primary job scope is to provide a service to customers who have signed a contract with the company.
Fokuo
Thank you
buthayna
Hi
ahly
hello,how are you doing?
Fokuo
nothing
Hemant
it's a pleasure meeting you.
Fokuo
tq
Hemant
Nice to meet you too
Hemant
good night
Hemant
hi in here
Asongafac
hello
Eric
please I want to more about this group
Asongafac
pravinkumar
pravin
hello
pravin
I want to create software
Michael
name suraj kumae
Suraj
how can i ave install usb drive but get it not connecting phone
Micheal Reply
hmm
abang
may be it has a problem
abang
maybe u should change usb drive
gabriel
yes
Ali

Get the best Software engineering course in your pocket!





Source:  OpenStax, Software engineering. OpenStax CNX. Jul 29, 2009 Download for free at http://cnx.org/content/col10790/1.1
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Software engineering' conversation and receive update notifications?

Ask