Project Planning and Management Consider the following scenario: You are part of
ID: 3677231 • Letter: P
Question
Project Planning and Management
Consider the following scenario:
You are part of a software team which has three to four developers. This team has a contract with a larger software company, which has asked your team to design a complex software component that will work within a larger software application the firm is creating.
One of the key challenges in this project is its volatility. As software requirements tend to change, developers may leave your team or the company's group, and new programmers may be added during the software development. In addition, the company will need to integrate your component within their own very complex system.
Write a 3- to 5-page paper in Microsoft Word document covering the following points:
There are multiple SDLC methodologies for any software project. List and explain at least three of these approaches along with their respective advantages and disadvantages.
Which SDLC methodology will you use to develop this project? Why? Justify why you would use this approach versus any other approach.
Which are the key risk areas for the project? Illustrate.
How will you plan to manage, mitigate, and remove identified risk areas as part of your project plan?
There are multiple approaches to estimate the cost of any software project. List and explain at least two of these approaches? Explain the advantages and disadvantages of each approach.
Which approach will you use to estimate the overall cost of the project? Why? Justify your choice. Why do you think that other approaches will be less appropriate?
In addition to the above, create a complete Microsoft Project file for this project including tasks, sub tasks, resources, and dependency.
Support your responses with examples.
Cite any sources in APA format.
Explanation / Answer
SDLC:
SDLC is a process followed for the development of software project, within a software organization.It provides detail plan explaining how to develop,maintain, replace and alter or enhance specific software. The life cycle defines a methodology for improving the quality of software and the overall development process.
There are various stages of software development lifecycle .
1)Planning: In this stage senior members of the team take the inputs(functional requirements) from the customer , the sales department, market surveys and domain experts in the industry. This information is then used to plan the basic project approach and to conduct product feasibility study in the economical, operational, and technical areas.
2)Defining: After the requirement analysis is completed the next step is to clearly mention and document the product requirements and get them approved from the customer or the market analysts. This is achived through ‘SRS’ – Software Requirement Specification document which consists of all the product requirements to be designed and developed during the project life cycle.
3)Designing: Based on SRS product architects will design best architecture for the product to be developed. Based on the SRS product architects will develop a DDS - Design Document Specification .Based on this DDS the best design design approach is selected for the product.
4)Building: In this stage the actual development starts and the product is build.As per DDs the programming code is developed. The programming language is chosen with respect to the type of software being developed.i.e like C,C++,Java ..etc.
5) Testing: In this stage for the code being developed in building stage the testing is performed .Here products defects are reported, tracked, fixed and retested, until the product reaches the quality standards defined in the SRS
6)Deployment: Once the product is tested and ready to be deployed it is released formally in the appropriate market The product may first be released in a limited segment and tested in the real business environment (UAT- User acceptance testing).
Based on the feedback by making some enhancements the final version will be released in the market. After it is released it will undergo maintenance for the existing customer.
SDLC Models:
There are various SDLC models are available.Some of the popular SDLC models are:
1)Waterfall model: It is the first SDLC model which is widely used in software Engineering to ensure the success of the project.Here the entire process of software development is divided into separate phases.Here the outcome of one phase act as an input to the next phase.
Advantages:
1)It is simple to use and easy to understand.
2)Phases are processed and completed one at a time.
3) Works well for smaller projects where requirements are very well understood
Dis-advantages:
1)It is not recommended for complex and object-oriented projects.
2)Not suitable for the projects where requirements are at a moderate to high risk of changing. So risk and uncertainty is high with this process model.
3)Cannot accommodate changing requirements.
2)Iterative model: Iterative process starts with a simple implementation of the software requirements and iteratively enhances the evolving versions until the full system is implemented.On each iteration new enhancements will be added.The idea behind this is to develop a system through repeated cycles(Iterative) and in smaller portions at a time(Incremental).
Advantages:
1)Some working functionality can be developed quickly and early in the life cycle.
2)Risks are identified and resolved during iteration; and each iteration is an easily managed milestone.
3)Less costly to change the§ scope/requirements.
Dis-advantages:
1)More management attention is required.
2)System architecture or design issues may arise because not all requirements are gathered in the beginning of the entire life cycle.
3)More resources may be required.
3)V-Model Design:
Here in this model the corresponding testing phase and development phase is planned in parallel.Therefore there is verification phases on one side of ‘V’ and validation phase is on another side of ‘V’.But the Coding phase will combine the two sides of the ‘V’ model.
Advantages:
1)Phase are completed one at a time.It is highly disciplined model.
2)It is suitable for smaller projects where requirements are very well understood.
3)Easy to manage due to the rigidity of the model .As each phase as specific deliverables and review process.
Dis-advantages:
1)It is not suitable for complex and object oriented projects.
2)It is not suitable for long projects.
3)High risk and uncertainty.
Here we use Agile Methodology to develop the project.
Agile Methodlogy:
Agile SDLC model is a combination of iterative and incremental process models. Agile Methods break the product into small incremental builds. These builds are provided in iterations. Every iteration involves cross functional teams working simultaneously on various areas like planning, requirements analysis, design, coding, unit testing, and acceptance testing. At the end of the iteration a working product is displayed to the customer.
Every iteration involves cross functional teams working simultaneously on various areas like planning, requirements analysis, design, coding, unit testing, and acceptance testing. At the end of the iteration a working product is displayed to the customerthe final build holds all the features required by the customer.
Agile Vs Traditional Methodologies:
Agile is based on the adaptive software development methods where as the traditional SDLC models like waterfall model is based on predictive approach.
Predictive approach means before going to start the development of the project it needs detailed planning and all the requirements of the customers.
Adaptive approach means here it doesn’t need detailed planning only it has the clarity about what features it need to be developed.
Key Risk areas of the project
All projects progress through the following four life cycle stages, and each stage can present new risk factors for your project:
1)Starting the project: Some possible risk factors here are,
Some background information and/or plans aren’t in writing, No formal benefit-cost analysis has been done, No formal feasibility study has been done, You don’t know who the originator of the project idea is.
2)Organizing and preparing: Some possible risk factors here are,
People unfamiliar with similar projects prepare your project plan, Your plan isn’t in writing, Parts of the plan are missing, Some or all aspects of the plan aren’t approved by all key audiences.
3)Carrying out the work: Some possible risk factors here are,
People on the project team didn’t prepare the plan, Team members who didn’t participate in the development of the project plan don’t review it, You haven’t made an effort to establish team identity and focus.
4)Closing the project: Some possible risk factors here are,
Project results aren’t formally approved by one or more project drivers, Project team members are assigned to new projects before the current project is completed.
Plan to manage, mitigate, and remove identified risk areas as part of your project:
Most critically, risk management plans include a risk strategy. There are four potential strategies, with numerous variations. Projects may choose to:
· Avoid risk — Change plans to circumvent the problem;
· Control/Mitigate risk; — Reduces impact or likelihood (or both) through intermediate steps;
· Accept risk — Take the chance of negative impact ,eventually budget the cost .
· Transfer risk — Outsource risk (or a portion of the risk - Share risk) to third party or parties that can manage the outcome. This is done financially through insurance contracts or hedging transactions, or operationally through outsourcing an activity.
Estimate the cost of any software project:
Methods of Cost Estimation:
Algorithmic (Parametric) Model: This software cost estimation technique use the mathematical equations to perform the software estimation.
Examples of the parametric models are COCOMO (COnstructive COst MOdel), COCOMO II, Putnam's software life-cycle model (SLIM).
Advantages:
Generate repeatable estimation, Easy to modify input data and Easy to refine and customize formulas
Dis-advantages:
Unable to deal with exceptional conditions,Some experience and factors can not be quantified and Sometimes algorithms may be proprietary.
Expert Judgement Model: This technique captures the experience and the knowledge of the estimator who provides the estimate based on their experience from a similar project to which they have participated. Examples are the Delphi, Wideband Delphi and Work Breakdown Structure (WBS).
Advantages:
Useful in the absence of quantified, empirical data,Can factor in differences between past project experiences and requirements of the proposed project and Can factor in impacts caused by new technologies, applications and languages.
Dis-advantages:
Estimate is only as good expert’s opinion and Hard to document the factors used by the experts.
The most used estimation techniques are the ones that were listed before, LOC, FP, User Stories (if you are "agile") .I use COst COnstructive MOdel (COCOMO) approach will you use to estimate the overall cost of the project.
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.