<< 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

Text editor project in c++
Ayesha Reply
are unmanned flying machines that are built and equipped with various kinds of software systems that allow them to see, hear, and act. Discuss some of the societal challenges of building such kinds of systems.
johni Reply
You have developed a prototype of a software system and your manager is very impressed by it. She proposes that it should be put into use as a production sys tem, with new features added as required. This avoids the expense of system dev immediately useful. Write a short report for your manager expl
johni
You have developed a prototype of a software system and your manager is very impressed by it. She proposes that it should be put into use as a production sys tem, with new features added as required. This avoids the expense of system dev immediately useful.
johni
You have developed a prototype of a software system and your manager is very impressed by it. She proposes that it should be put into use as a production sys tem, with new features added as required. This avoids the expense of system dev immediately useful.
johni
You have developed a prototype of a software system and your manager is very impressed by it. She proposes that it should be put into use as a production sys tem, with new features added as required. This avoids the expense of system dev immediately useful. Write a short report for your manager expl
johni
You have developed a prototype of a software system and your manager is very impressed by it. She proposes that it should be put into use as a production sys tem, with new features added as required. This avoids the expense of system dev immediately useful.
johni
what is cocomo ?
Surabhi Reply
?
StReeT
give me coding of these projects
Aman Reply
feasibility study&fact gathering techniques
Nachi Reply
write about software engineering
Mandala Reply
8.10.0.
BARBU
define iterative model. example of iterative model. advantages and disadvantages of iterative model. when to use iterative model
Okello Reply
What is DFD in Software engineering
Hamid
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
how to join conversation
Bablu
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
Jennifer
hhahhaha
martin
software engineering is a organized process of activities for development a use full software . it may consist of : 1:spcecification 2:design 3: implementation 4: evolution:
hamayun
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

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