<< Chapter < Page Chapter >> Page >

Process planning

Selection of the appropriate software life cycle model (for example, spiral, evolutionary prototyping) and the adaptation and deployment of appropriate software life cycle processes are undertaken in light of the particular scope and requirements of the project. Relevant methods and tools are also selected. At the project level, appropriate methods and tools are used to decompose the project into tasks, with associated inputs, outputs, and completion conditions (for example, work breakdown structure). This in turn influences decisions on the project’s high-level schedule and organization structure.

Determine deliverables

The product(s) of each task (for example, architectural design, inspection report) are specified and characterized. Opportunities to reuse software components from previous developments or to utilize off-the-shelf software products are evaluated. Use of third parties and procured software are planned and suppliers are selected.

Effort, schedule, and cost estimation

Based on the breakdown of tasks, inputs, and outputs, the expected effort range required for each task is determined using a calibrated estimation model based on historical size-effort data where available and relevant, or other methods like expert judgment. Task dependencies are established and potential bottlenecks are identified using suitable methods (for example, critical path analysis). Bottlenecks are resolved where possible, and the expected schedule of tasks with projected start times, durations, and end times is produced. Resource requirements (people, tools) are translated into cost estimates. This is a highly iterative activity which must be negotiated and revised until consensus is reached among affected stakeholders (primarily engineering and management).

Resource allocation

Equipment, facilities, and people are associated with the scheduled tasks, including the allocation of responsibilities for completion. This activity is informed and constrained by the availability of resources and their optimal use under these circumstances, as well as by issues relating to personnel (for example, productivity of individuals/teams, team dynamics, organizational and team structures).

Risk management

Risk identification and analysis (what can go wrong, how and why, and what are the likely consequences), critical risk assessment (which are the most significant risks in terms of exposure, which can we do something about in terms of leverage), risk mitigation and contingency planning (formulating a strategy to deal with risks and to manage the risk profile) are all undertaken. Risk assessment methods (for example, decision trees and process simulations) should be used in order to highlight and evaluate risks. Project abandonment policies should also be determined at this point in discussion with all other stakeholders. Software-unique aspects of risk, such as software engineers’ tendency to add unwanted features or the risks attendant in software’s intangible nature, must influence the project’s risk management.

Questions & Answers

define system ,concepts of system and types of system?
Gurmeet Reply
iom
ADNAN
hello
arsh
is very important software engineer or not.
Riyanshu Reply
very important
arsh
what is software engineering
Ravindra Reply
Software engineering is a detailed study of engineering to the design, development and maintenance of software
arsh
what is salary of software engineer
Akash Reply
it depend on organization's and quality
josephat
I think average salary 80000us dollars per year
arsh
what are naturs of software Engineering
BANDARU Reply
what is the nature of saftware
BANDARU Reply
what is nature of sotfware
BANDARU
hi
khushboo
can anyone help me I need to learn
khushboo
code debug
khushboo
in eclipse java
khushboo
@janak can u suggest
khushboo
what is the salary of software engineer
Akash
per month
Akash
please tell me what is the salary of software engineer per monthe
Akash
which sdlc mode l is suitable for atm banking system
Rakesh Reply
how can I create my own software?
David
HUAWEI.ABBULLAG.45720891
Abdula Reply
how to build apps
Andreas Reply
what is memory?
Hausa Reply
memory is billions of consecutive data storage cell where each of the cell has its own particular address of identification.
Shariful
is software engineering important or not.
Riyanshu
what are the major difference in the external environment of an office automation system and that of an embedded systems
juma Reply
What is software engineering
Zohaib Reply
what is salary of a software engineer
Akash Reply
tell me what is salary of a software engineer.
Riyanshu
understand wllhi 😭am language somali bro 😇😣😣😣
what is agile
Qais Reply

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