Staffing Level Estimation In Software Engineering

  1. Staffing Level Estimation In Software Engineering Pdf

LECTURE NOTES ON SOFTWARE ENGINEERING Course Code: BCS-306. Software Engineering Practitioner’s Approach, TMH. Staffing Level Estimation. DEPT OF CSE & IT.

  1. Professional Engineering 6X9 / Estimating Software Costs / Jones / 48300-4 / Chapter 3 The most accurate forms of software cost estimation are the last ones in each set: cost estimating at either the activity or the task level.
  2. Jr.-Mid Level Javascript Software Engineer – NodeJS, Rest AP. Conexess Group, LLC 3 reviews. Work at Home. Be the first to see new Npm Staffing jobs. My email: Also get an email with jobs recommended just for me. Indeed Salary Estimate.

WHAT ARE COOKIES?


A cookie is a small file of letters and numbers that we store on your browser or the hard drive of your computer if you agree. Cookies contain information that is transferred to your computer's hard drive.

WHAT TYPES OF COOKIES DO WE USE?


We use two types of cookies on our website:
'Session Cookies'
These are temporary cookies, which only exist in the period you access the website (or more strictly, until you close the browser after accessing the website). Session cookies help our website remember what you chose on the previous page, therefore avoiding having to re-enter information. On our website, these cookies do not contain personal information, and cannot be used to identify you.
'Persistent Cookies'
These are cookies remain on your device after you have visited our website. These cookies help us to identify you as a unique visitor (by storing a randomly generated number).

WHY DO WE USE COOKIES?


To tailor our website so that it meets your specific needs, we use different technologies, including cookies, which allow us to distinguish you from other users of our website.
We use cookies: To recognise and count the number of visitors and pages or various parts of a page they have visited on our site;To see how visitors move around the site when they are using it, for example, we use Google Analytics, a popular web analytics service provided by Google Inc. Google Analytics uses cookies to help us to analyse how visitors use our site. This helps us to improve the way our website works, for example, by ensuring that visitors are finding what they are looking for easily. Find our more about how these cookies are used on Google's Privacy site. To improve and monitor the advertisement we offer to our visitors. We also use Google's DoubleClick, which is one of the worlds leading provider for ad management and ad serving solutions. Like most websites and search engines, Google uses cookies in order to provide a better user experience and to serve relevant ads. Find out more about how these cookies are used click here. To present our visitors with the most appropriate advertising banners and content, based on our visitor's interest and activity, we, for example use Yahoo! Search Marketing, search marketing tool of Yahoo! (including Overture Search Services (Ireland) Limited). On behalf of Dice Careers Limited, Yahoo! Search Marketing will use this information to help us monitor the performance of our online marketing campaigns. For more information about how Yahoo! uses information supplied on Yahoo! Advertising Solutions web sites, please read the Yahoo! Advertising Solutions Privacy Policy.
In summary, by using cookies we are able to improve your experience when you browse our website and enable us to continually improve our site and our services for you. Our cookies have been set in our browser and we will assume you are ok with them via your continuous use of our website. You can disable certain cookies as set out below. If you disable these cookies we cannot guarantee how the site will perform for you.

MANAGING YOUR COOKIES


Enabling cookies will ensure you receive the optimum user experience from our website.
Most browsers automatically accept cookies, but you can deactivate this function at any time and set your browser to notify you whenever a cookie is sent. You can use your browser settings to block all or some cookies. Please note that if you do block all cookies you may not be able to access all or parts of our site.
Most browsers automatically accept cookies, but you can deactivate this function at any time and set your browser to notify you whenever a cookie is sent. You can use your browser settings to block all or some cookies. Please note that if you do block all cookies you may not be able to access all or parts of our site.
Amending your cookie settings is different in different browsers, for ease, we've included instructions on amending your settings in the most popular browsers below:

OPT-OUT FROM GOOGLE'S DOUBLECLICK


Anyone who prefers not use Google's DoubleClick cookie can opt out. This opt-out will be specific only to the browser that you are using when you click the 'Opt out' button.http://www.google.co.uk/policies/privacy/ads/

OPT-OUT YAHOO! SEARCH MARKETING


If you choose, you may opt-out from Yahoo! Search Marketing using information collected with web beacons and cookies outside of the Yahoo! network of web sites. Cookies will need to be enabled for the opt-out to function.
Note: This opt-out applies to a specific browser rather than a specific user. Therefore you will need to opt-out separately from each computer or browser that you use. Additionally, the opt-out only applies to cookies used by perf.overture.com and not all cookies set by overture.com.
How to check cookies are enabled on windows platforms
Microsoft Internet Explorer 7, 8 & 9
1. Select 'Tools' from the top menu of your browser and then select 'Internet options', then click on the 'Privacy' tab 2. Ensure that your Privacy level is set to Medium or below, which will enable cookies in your browser 3. Settings above Medium will disable cookies
Mozilla Firefox
1. Select 'Tools' from the top menu of your browser and then select 'Options' 2. Then select the Privacy icon 3. Click on Cookies, then select 'allow sites to set cookies'
Google Chrome
1. Select 'Tools' from the top menu of your browser and then select 'Options' 2. Click the 'Under the Hood' tab, locate the 'Privacy' section, and select the 'Content settings' button 3. Now select 'Allow local data to be set'
Safari
1. Select the cog icon' from the top menu of your browser and then select 'Preferences' 2. Select 'Security and, check the option that says 'Block third-party and advertising cookies' 3. Click 'Save' How to check cookies are enabled for apple platforms Microsoft Internet Explorer 5.0 on OSX 1. Select 'Explorer' from the top menu of your browser and select 'Preferences' options 2 Scroll to the 'Cookies' option under Receiving Files 2. Select the 'Never Ask' option
Safari on OSX
1. Select 'Safari' from the top menu of your browser and select the 'Preferences' option 2. Click on 'Security' then 'Accept cookies' 3. Select the 'Only from site you navigate to'
After establishing a goal on the effort front, we need to establish the goal for delivery schedule. With the effort estimate (in person-months), it may be tempting to pick any project duration based on convenience and then fix a suitable team size to ensure that the total effort matches the estimate. However, as is well known now, person and months are not fully interchangeable in a software project. Person and months can be interchanged arbitrarily only if all the tasks in the project can be done in parallel, and no communication is needed between people performing the tasks. This is not true for software projects—there are dependencies between tasks (e.g., testing can only be done after coding is done), and a person performing some task in a project needs to communicate with others performing other tasks. As Brooks has pointed out [16], “... man and months are interchangeable only for activities that require no communication among men, like sowing wheat or reaping cotton. This is not even approximately true of software ....”
However, for a project with some estimated effort, multiple schedules (or project duration) are indeed possible. For example, for a project whose effort estimate is 56 person-months, a total schedule of 8 months is possible with 7 people. A schedule of 7 months with 8 people is also possible, as is a schedule of approximately 9 months with 6 people. (But a schedule of 1 month with 56 people is not possible. Similarly, no one would execute the project in 28 months with 2 people.) In other words, once the effort is fixed, there is some flexibility in setting the schedule by appropriately staffing the project, but this flexibility is not unlimited. Empirical data also suggests that no simple equation between effort and schedule fits well [72].


The objective is to fix a reasonable schedule that can be achieved (if suitable number of resources are assigned). One method to determine the overall schedule is to determine it as a function of effort. Such function can be determined from data from completed projects using statistical techniques like fitting a regression curve through the scatter plot obtained by plotting the effort and schedule of past projects. This curve is generally nonlinear because the schedule does not grow linearly with effort. Many models follow this approach [2, 12]. The IBM Federal Systems Division found that the total duration, M, in calendar months can be estimated by M = 4.1E.36. In COCOMO, the equation for schedule for an organic type of software is M = 2.5E.38. As schedule is not a function solely of effort, the schedule determined in this manner is essentially a guideline.
Another method for checking a schedule for medium-sized projects is the rule of thumb called the square root check [58]. This check suggests that the proposed schedule can be around the square root of the total effort in personmonths. This schedule can be met if suitable resources are assigned to the project. For example, if the effort estimate is 50 person-months, a schedule of about 7 to 8 months will be suitable. From this macro estimate of schedule, we can determine the schedule for the major milestones in the project. To determine the milestones, we must first understand the manpower ramp-up that usually takes place in a project. The number of people that can be gainfully utilized in a software project tends to follow the Rayleigh curve [71, 72]. That is, in the beginning and the end, few people are needed on the project; the peak team size (PTS) is needed somewhere near the middle of the project; and again fewer people are needed after that. This occurs because only a few people are needed and can be used in the initial phases of requirements analysis and design. The human resources requirement peaks during coding and unit testing, and during system testing and integration, again fewer people are required.
Software project estimation
Often, the staffing level is not changed continuously in a project and approximations of the Rayleigh curve are used: assigning a few people at the start, having the peak team during the coding phase, and then leaving a few people for integration and system testing. If we consider design and analysis, build, and test as three major phases, the manpower ramp-up in projects typically resembles the function shown in Figure 4.1 [58]. For ease of scheduling, particularly for smaller projects, often the required people are assigned together around the start of the project. This approach can lead to some people being unoccupied at the start and toward the end. This slack time is often used for supporting project activities like training and documentation.
Staffing level estimation in software engineering pdfGiven the effort estimate for a phase, we can determine the duration of the phase if we know the manpower ramp-up. For these three major phases, the percentage of the schedule consumed in the build phase is smaller than the percentage of the effort consumed because this phase involves more people. Similarly, the percentage of the schedule consumed in the design and testing phases exceeds their effort percentages. The exact schedule depends on the planned manpower ramp-up, and how many resources can be used effectively in a phase on that project. Generally speaking, design requires about a quarter of the schedule, build consumes about half, and integration and system testing consume the remaining quarter. COCOMO gives 19% for design, 62% for programming, and 18% for integration.

Staffing Level Estimation In Software Engineering Pdf

Figure 4.1: Manpower ramp-up in a typical project