1. Perform a detailed estimate using historical data from past projects.2. Using an incremental process model, develop a software engineering strategy that will deliver critical functionality by the imposed deadline, but delay other functionality until later.3. Meet with the customer.4. Offer the incremental development strategy as an alternative
Compartmentalization. The project must be compartmentalized into a number of manageable activities and tasks.Interdependency. The interdependency of each compartmentalized activity or task must be determined. Some tasks must occur in sequence while others can occur in parallel.Time allocation. Each task to be scheduled must be allocated some number of work units.Effort validation. Every project has a defined number of staff membersDefined responsibilities. Every task that is scheduled should be assigned to a specific team member.Defined outcomes. Every task that is scheduled should have a defined outcome.Defined milestones. Every task or group of tasks should be associated with a project milestone.
Project scheduling and tracking
What should we do when managementdemands that we make a deadline that isimpossible?
Software project scheduling is an activity that distributes estimated effort across the planned project duration by allocating the effort to specific software engineering tasks.Macroscopic schedule- identifies all major software engineering activities and the product functions to which they are applied.
Compartmentalization Interdependency Time allocation Effort validation Defined responsibilities Defined outcomes Defined milestones
Example: four software engineers – 5000 LOC/year…but when placed in a team 6 potential communication paths…assume the team productivity 250 LOC/yearTherefore, team productivity is… 20,000-(250*6)=18,500 LOC/year– 7.5%
…in 2 months remaining, 2 additional people are added in team in which the communication paths escalates to 14.…productivity input of the new staff 840*2=1680 LOCTeam productivity… 20,000+1680-(250*14)=18,180 LOC/year
E = L3/( P3t4 ) where E =effort expended(person-years) t = time duration in years
Consider: A real-time software project estimated at 33,000 LOC, 12 person-years of effort. // ~ 3.8 person-years.