StudentShare
Contact Us
Sign In / Sign Up for FREE
Search
Go to advanced search...
Free

Software Development Aspects Vital in the Delivery of the Software Product - Assignment Example

Cite this document
Summary
"Software Development Aspects Vital in the Delivery of the Software Product" paper notes important issues necessary to implement software project management. The issues examined in this report involve techniques such as project planning, project scheduling, and risk analysis and assessment…
Download full paper File format: .doc, available for editing
GRAB THE BEST PAPER95.2% of users find it useful

Extract of sample "Software Development Aspects Vital in the Delivery of the Software Product"

Heading: Project Management and Software Quality Your name: Course name: Professors’ name: Date Executive summary The concept behind project management and software quality assurance is very important in software development. In essence, any software project done without focusing on the two concepts above is not considered to be a project but a mock up project. To achieve the desired results of a project, the project must focus on the resources, duration allocated and availability of the inputs. The entire requirements cannot be managed effectively without the use of project management techniques. It is also important to note that a project management success is determined by the quality of the product and therefore any project conducted under project management must be accompanied by quality assurance techniques that help in fostering the desired outcome of the project. There exists software project management techniques highlighted as the standards and must be strictly followed by all the software engineers. These techniques include project planning, project scheduling, risk assessment and managements and finally the management of the people components. All these techniques are meant to ensure that no important step is skipped by the developer and that all the stages are strictly and carefully implemented in the project apart from the human resource development and risks assessment and planning. The last and most important process is the quality assurance technique that makes sure that the whole project management is quality oriented and that the whole process is valid and correct. Table of Contents Executive summary 1 Introduction 4 Software project management and quality 5 Importance of software project management 6 Project Planning 7 Projects scheduling 8 Risk management and assessment 9 People and human resource management 10 Quality management in software development projects 11 Software Verification and Validation 12 Simulations 15 Conclusion 16 References 17 Introduction This report focuses on the important aspects of software development aspects that are vital in the delivery of the software product that is acceptable. To achieve desired software product which meet all the sets of criterion, this analysis focuses on two aspects. The two software aspects include software project management and software quality assurance techniques used by the software engineers undertaking a project in software. Software project management entails the techniques that facilitate the delivery of a software projects within the confined requirements. These requirements take into account the fulfillment of the client’s requirements within the specified budget and a set out timeline. This report notes important issues that are necessary to implement a software project management. The issues noted in this report involve techniques such as project planning, project scheduling, risk analysis and assessment and the components of the human resources required in the process of software management. Critical analysis of the above issues by the software engineers will definitely yield a successful project that meets all the required functionality and operationability of the software. This report also focuses on quality assurance and techniques that lead to quality of the software products. It is worth noting that a software project that fails the test of quality is considered a failed project and cannot be accepted for production purposes. The major issues discussed in quality assurance revolves around the entire project development phase and it includes aspects such as project testing, sticking to a clear and standard life cycle, input and output validation, coding techniques and standards, team management and simulation of the final results of the new system with the real world situation. Quality verification and validation are important in the software quality and must be included in the project plan since it is helpful in indentifying gaps in the software product. This report also explains the importance of good software design and how it facilitates the delivery of quality software products. Finally, the report explains the importance of code inspection in the form of brainstorming and discussions that is organized to identify defects in the software project. Software project management and quality Software project management is the practice that is not only embraced in software engineering but also in all projects that involve a lot of resources, scheduling and result oriented. In essence, all the projects must have a starting point and a specified finishing point. It must also have the participation of all the project stakeholders from executive, system analysts, software engineers to the novice users. Software engineers have designed a template plan that can be used in project management. This plan is used in the identifications of several key issues that must be adhered and addressed conclusively while conducting a project plan. The main objectives of these key issues are geared towards realizing minimized cost, reduction of risks and timely delivery of the software product. Similarly, an efficient project management plan must address vital and mandatory components which include the people’s components, the process itself, and the project. The project management process helps the software engineer to integrate all the best standards and practices while undertaking a project management to increase chances of success in a project. It also depicts how one can effectively apply the best practices to specific projects that require intensive concentration apart from covering the entire project without skipping any of the important stage in the life cycle. The project management process also assists software engineers to implement case studies of the real working projects which guarantee a success in any software project management. Importance of software project management Khosrowpour (2004, p.409) found that the origin of software development was as a result of the software crisis witnessed five to six decades ago. The crisis erupted caused extremely high software failures that were accompanied by over budgeting, over scheduling and lateness and high speed development of hardware components that demanded that software also must accelerate in tandem with the hardware. This was because of the development of very complex and powerful computer components due to the technology of transistors improvement techniques that were needed for project in software management also were integrated to counter the crisis. An effective project management may not guarantee that a project will succeed but at the same time, a poor project management is a guarantee to project failures. All the projects entailing software’s have several aspects that make them unique compared to other non software projects. These aspects include. 1) All the software products are not tangible and therefore it is not easy to manage compared so engineering projects. 2) It is not an easy task to claim a completeness of a project. However, it can be ascertained that a given percentage of a project is complete even if an outcome of it is not visible. Kan (2003, p.41) noted that software engineering and its techniques is a new discipline and therefore there is a limited understanding and measurement value used in software measurements. The technological experiences are changing very fast and that software engineers must move with it otherwise they are likely to be rendered obsolete in the field of software engineering. It is very important to note that most software projects use emerging technology by subdividing very large project into a small unit for easy management. In software engineering, it is paramount to note that it is wise to stick to the set of activities that spearhead any software project. These activities include projects planning, projects scheduling, risk management and assessment and finally people management. Project Planning The most important phenomenon while implementing a software project is to understand a specific problem. This is very vital when it comes to the estimation of the costs, time line, resources, and deliverables in each stages and the amount of resources to be allocated to the specific project. While designing a realistic plan, it is essential to gain explicit knowledge of the deliverables, final products, and the resources available for the entire project. There exist several plans. Jayaswal and Patton (2007, p.60) listed the first plan as the software plan. This plan entails the central and a major plan in software project management. It describes the step by step process through which a software project is expected to adhere to. That is, it will give the project guidelines through which the entire project follows and what to do in case there is a necessity to modify the entire plans. The next plan is the quality assurance plan. This plan will guarantee that the end result or the outcome of the entire project is realized. This helps the software engineer to conduct quality and predict the outcome of the project so as to ascertain whether quality and the expected results id being attain. It has specific and procedures that is strictly followed to ensure quality is achieved in the long run. The third plan takes in account the validation plan. This in specific dictate how the user and the client will validate and make sure that the intended product is achieved as per the client description. The other plan is the plan that describes how the completed software is to be configured I the client computers so as to adapt effectively into the clients environment. It also defines the step by step installation procedures so as to achieve maximum performance. Maintenance plan is another plan that entails the full documentation of how to maintain the software product once it is release into the market so as to fix bugs. Staff development plan is another plan that is very essential in that all the staff who takes part in the project must be trained to use the new product and familiarize them in the usability of the new products. Projects scheduling This specifies the actual timeline that the project must takes and that the whole project must be divided into specific deliverable that must be meet in specific duration. There exists software management tools such as work bench, Microsoft project management tool that are very useful in project schedule to ensure that all the deliverables deadlines are meet. Project scheduling entails the process of time duration allocation to the maximum duration that each project has to take before completion. The project scheduling is also essential while reporting the progress of the project when demanded by the management and also monitoring the different sub goal realization by the dedicated teams working on a single project simultaneously. Mubarak (2010, p.2) noted that while conducting a project schedule, it is important to consider a concept of Work Breakdown which entails several ways of breaking a large project into sub unit that are easily manageable. A work breakdown must factor in several components such as the work packages which define a logical and distinct unit of the work that must be accomplished, specific and unique tasks, deliverable to be achieved in each stage and may be include the milestones that is expect of the project. It is worth noting that a some activities and task can occur concurrently while others are independent to the proceeding and succeeding task. This then requires a critical evaluation of the tasks. That is to mean that some task may require inputs from the preceding stage thus making it dormant until the stage is explicitly completed and validated so that it does not transfer inappropriate data to the next phase. It is usually very important to conduct documentations of all the work packages and tasks to be accomplished by the software project. This is done to ensure that there is a proper understanding between all the participants engage in a particular project. In the project schedule its necessary to capture relevant data such as a brief description of the task, the eelier starting date and the earliest ending dates, the amount of human resource needed in that project in terms of person month effort, prerequisites inputs and may the responsible group. This information is vital when calculating the critical path of the project which shows the maximum schedule and duration that a project is likely to take. A critical path is the longest duration that a project is likely to take given that all the tasks take their maximum allocated timelines. Knowing the critical path is important since any delays to a given activity in the critical path, will translate to the delay in the entire project. Li, Boehm and Osterweil (2005, p.58) said a software engineer have come up very important tools that are vital in project tracking. An example of a very important tool is the Gantt charts. This tool is a network diagram that depicting all the activities in form of a chart that has the time lines plotted in the X axis while the tasks are depicted as bars in the Y axis (Mccluskey & Korobow, 2009, p.14). Risk management and assessment While undertaking a project, it is necessary to be optimistic about the likelihood of a risk occurring and therefore action to counteract must be planned in advance. Risk occurrence account to a greater percentage of project failures and therefore it is not wise to take chances by not planning for the risk. Stamelos and Sfetsos (2007, p.26) linked the risks involves to both natural and artificial risks. Most of the software risk that is anticipated include change management risks, staff turnovers, unavailability of hardware and software needed in the project, scope creep in the project that is already advanced, inadequate resources, project underestimation, introduction of new technology, delays of the inputs, etc. therefore, before embarking on the project it wise to critically assess the risk that pose a challenge to project proceeding to the next phase and planning for it. People and human resource management Typically it is essentially to understand that a project is undertaken by human being with the help of automated tools. However, human man power is very important in the success of a given project and that limited man power causes the project to lag behind schedule. In essence, projects will entails several phase that are unique and need different skills. This calls for the different stages to be assigned to specific groups with different skills so that the same group can conduct concurrent activities to the tasks that are not depended to the preceding phase. A good software engineer must be able to ascertain the effort per month required from one staff so as not to under staff or overstaff a project which in turn compromise the milestones. It is also wise for the software engineer to chose and indentifies a good and qualified team leader who will spearhead the deliverance of each deliverable (Marchington & Wilkinson ,2005, p.25). Quality management in software development projects Ainapure (2008, p.4) observed that quality in software refers to reasonable and bug free software that is delivered on schedule and meets the scheduled allotted budget, meets functionality and expectations and finally a product that is maintainable. The core business of the software engineer’s and software analyst is to deliver quality software to their customers. Not only delivering quality result but also the software engineer is mandated to stick to the schedule and be within the allocated budget. This has invited scholars and researcher to unfold the techniques that can foster quality assurance in software development project. Mike Harding Roberts' come up with the techniques that can be implemented to see that quality of the software product is achieved. He poses why most system engineers and analyst think that the delivery of quality software’s is difficult, expensive and that it takes longer to implement. He holds the view that most of the programmers are to blame for the poor quality of software product (Kontio & Conradi, 2002, p.227). Quality Assurance oversees that the project must be completed and conform to the customers specifications, standards, and functionality without any bugs. It keeps track of the development process form the initial stage of the software development to the final stage of software implementation and delivery to the customer. It is important to note that a quality assurance process in software development is cross cutting and engage all the phases of software development. Before the project initialization, software engineers must design a test plan that will be used to validate each deliverable in each stage to ascertain that quality of the software is achieved in the final stage. The test plan must be subjected to review process and validation to eliminate vagueness in the plan as stipulated in the requirement and functionality document from the client. Test Plan consists of a documented list of the testing procedures such as the objectives, approach, scope and focus to the testing efforts. Any test plan must be accompanied by a test case which has a list if description about all the action, input, event and the expected results that is used to determine the defects and presence of bugs. Wieczorek, Meyerhoff and Baltus ( 2001, p.73) suggested that in order to make sure that quality software product is achieved it vital to subject a software product into testing before submission t o the clients. The goal of software testing is to discover bugs from the software and fix it prior to implementation. Most of this testing is done under the controlled environments whereby some testing data is provided intentional and see the output of the process of testing. Testing data must also be provided in the initials stage which is similar to the real data just for tasting. Software Verification and Validation Software verification is a dedicated technique that is used to test and detect the possible failure that is likely to occur before the overall testing phase begins. This process involve an intensive process that include reviews, brainstorming, meetings, evaluating the final product against the documented functionality, plans, specifications, code review, etc . The Validation takes place to ascertain that the correct design has been achieved corrected by detecting defects, bugs, logical errors and input validation. To achieve good quality software it is necessary for a software development team to embrace the following key aspect that will automatically lead to quality assurance if strictly adhered to the later. Good Software Coding Strict following the set out standards for coding is an automatic method to ensure that a software product meets the required quality. There are several reasons why software engineers must insist on accepted coding standards in a software development especially during the coding phase. The first and obvious reason is readability of the code. All the code that adhere to the standard are easily readable by the team unlike when the code is disorganized and disoriented making it very difficult for the team members to debug and trace bugs. A well commented code allows the team members to understand the algorithm that a team member used thus very easy to debug the c ode leading quality product. A good coding standard also defines good software that is easily maintainable in future and that it can easily be expanded to meet the new requirement( Last, et al, 2004, p.183). Good Design A good software design helps the software engineer and his team to trace back to where the problem that is causing inconsistency to project requirements during testing. A good design also acts as a good guide to the software developers ensuring that no requirement is ignored or skipped in the design. Several software engineers argue that a good design defines software that is clearly understandable, maintainable and efficient. It noted that when a good design is implemented, the functionality of the system will be definitely optimum leading to quality product. Testing expert A professional and a good testing agent must also be identified and mandated with the overall task of testing the software product after development. An expert must have the ability to critically analyze the contents, inputs, outputs and come up with a convincing conclusion about the quality and functionality of the software product. The testing expert also must be oriented and particular to quality by having quality and attention qualities and attitude (Cook & Semouchtchak,2004, p.35). Software life cycle British Computer Society (2001, p.15) observed that the implementation of an explicit software life cycle is a guarantee to quality a product. It worth noting that good software must involve of all the process that guarantee quality assurance. Ignoring any of the phases in the cycle is a compromise to the quality and that quality assurances cannot be achieved via short cuts. The life cycle encompasses aspects such as project initialization, requirements specification and analysis, design phase, project documentation, test plan, coding phase, integration phase, testing phase, maintenance phase, updates phase, retesting phase, deployment phase. All this phases must follow to the later to gurantee quality assurance. Software Inspection The main objective of this process is to unfold the defects and bugs that are uncaught in the software testing due to the logical errors which were uncovered in the software testing process. Carroll and Daughtrey (2007, p.89) observed that it is also aimed at finding problems and reporting it to the designers but not to fix it. This process essentially takes the form of brainstorming sessions whereby the teams normally work together to uncover the problem. Team organization In major software project management, team organization has been identified as the major cause of the project failures. Team organization is the major aspect and must be carefully addressed when undertaking a project that have the project participant geographically dispersed. This is because communication barrier can hinder the project development causing misunderstanding between the participants (Defranco-Tommarello & Deek, 2005, p.20). Simulations Futrell, et al (2002, p.657) said simulations can be very valuable mechanism used to find the inconsistencies and gaps in the functionally requirements. For example we can make up a mock up project in using automated tools available and present it to the clients. The testing procedures can also be done in real environment where real execution is done simultaneously with the current system so that the result is validated with the real results from the current system in operational. Another option is to acquire the test data execute it and then compare the result with manually computed values to validate the process. Conclusion Both software project management and quality management cannot be ignored in any endeavors to implements a project in all the field and not only software project. While software project management focus on delivering a project in the right scheduled and budget, software quality on the other hand focus on the delivery of the quality software project that is fully complaints with the customers instruction. To conduct a successful project, the software engineers and software analyst must stick to the several aspects that act as a control to the realization of the goals set. In essence, a good software engineer must plan his chores effectively to ensure a systematic execution of the same task to avoid misunderstanding. He must also focus on the risk that may bar the implementation of the project and that he must not gamble with the risk since they are unpredictable. While conducting a project management it important to set up a schedule of activities for each task that has a deliverable for each delivery by having project scheduling in place. The quality assurance is another a new field in software engineering that has proved to be effective in project implementation and validation of the whole process to ensure that the final product is acceptable to the client. The testing and validation of the software output is vital to the customer before the deployment of the software. Any project taking an explicitly define phases is likely to succeed and therefore it is important for the project development to stick to the defined stages. References Ainapure, BS 2008, Software Testing and Quality Assurance, Technical Publications, Melbourne. p.3-5. British Computer Society 2001, The TickIT guide: using ISO 9001:2000 for software quality management system construction, certification and continual improvement, BSI British Standards Institution, Sydney.p.12-19 Carroll, S & Daughtrey, T 2007, Fundamental Concepts for the Software Quality Engineer, Volume 2, ASQ Quality Press, Sydney. p.89-91 Cook, J & Semouchtchak, V 2004, ‘learn Object-Oriented Software Development,’ SAM Advanced Management Journal, vol. 69, no.5, p.34-39. Defranco-Tommarello, J & Deek, FP 2005, ‘A Study of Collaborative Software Development Using Groupware Tools’, Journal of Interactive Learning Research, vol. 16, no. 3. P.19-23. Futrell RT, Shafer DF & Shafer, LP 2002, Quality software project management, Prentice Hall Professional, Sydney.p.657. Jayaswal, BK & Patton, PC 2007, Design for trustworthy software: tools, techniques, and methodology of developing robust software, The University of California, New York. P.43-66. Kan, SH 2003, Metrics and models in software quality engineering, Addison-Wesley Professional, Michigan. p.39-45. Khosrowpour, M 2004, Innovations through information technology: 2004 Information Resources Management Association International Conference, New Orleans, Louisiana, USA, May 23-26, 2004, Volume 1p, Idea Group Inc (IGI), New York. P.409. Kontio, J & Conradi, R 2002, Software quality-ECSQ 2002: quality connection--7th European Conference, Helsinki, Finland, June 9-13, 2002 : proceeding, Springer, Michigan. p.227. Last, M, Kandel, A & Bunke, H 2004, Artificial intelligence methods in software testing, World Scientific, Thousand Oaks. p.179-188. Li, M, Boehm, B & Osterweil, L 2005, Unifying the software process spectrum: International Software Process Workshop, SPW 2005, Beijing, China, May 25-27, 2005 : proceeding, Springer Science & Business, New York. p.56-62. Marchington, M &, Wilkinson ,A 2005, Human resource management at work: people management and development, CIPD Publishing, New York. P.20-35. Mccluskey T & Korobow, A 2009, ‘Leveraging Networks and Social Software for Mission Success: Web 2.0 Tools Help Dynamically Assess Contributions, Grasp Organizational Sentiment, and Identify Key Human Capital Assets,’ The Public Manager,vol. 38, no. 4, p.13-19. Mubarak ,S 2010, Construction Project Scheduling and Control, John Wiley and Sons, London, P.2. Stamelos, IG & Sfetsos, P 2007, Agile software development quality assurance, Idea Group Inc, Melbourne. p.24-34 Wieczorek, M, Meyerhoff D & Baltus B 2001, Software quality: state of the art in management, testing, and tools, Springer, Sidney. P.73-79. Read More
Tags
Cite this document
  • APA
  • MLA
  • CHICAGO
(Project Management And Software Quality Example | Topics and Well Written Essays - 4294 words, n.d.)
Project Management And Software Quality Example | Topics and Well Written Essays - 4294 words. https://studentshare.org/logic-programming/2046554-project-management-and-software-quality
(Project Management And Software Quality Example | Topics and Well Written Essays - 4294 Words)
Project Management And Software Quality Example | Topics and Well Written Essays - 4294 Words. https://studentshare.org/logic-programming/2046554-project-management-and-software-quality.
“Project Management And Software Quality Example | Topics and Well Written Essays - 4294 Words”. https://studentshare.org/logic-programming/2046554-project-management-and-software-quality.
  • Cited: 0 times

CHECK THESE SAMPLES OF Software Development Aspects Vital in the Delivery of the Software Product

The Agile Software Development

chwaber and Beedle (2002) argue that in order to maintain the unity of purpose and enhance the holistic nature of the software development process requires the exchange of information and constant interaction between the team members Daily stand-up meetings are major practice organizations used by agile teams to facilitate the regular exchange of information (Schwaber and Beedle, 2002).... methodology involves modification and improving requirements through collaboration with cross-functional teams to encourage organization teams in the process of developing the software' Schwaber and Beedle, 2002)....
36 Pages (9000 words) Dissertation

Product Survey Project

the software should be capable of handling all the commands and tasks assigned with high quality design deliverance capabilities (Chen, 2006).... Specifications on the other hand can be examined in two The chosen hardware should be able to effectively work in harmony with the required software or soft wares to produce optimum results.... Architectural design software require high ram value i.... 8gb high ram value reflects on the computers capability to handle memory demanding software with high graphics requirements ...
3 Pages (750 words) Case Study

Software Quality Management

equirement elicitation process can broadly be defined as the framework for evaluating the process capability of the work products and services for the achievement of required outcome through quality software development.... The following book report "software Quality Management" deals with the of computers and its application that helped the business houses to evolve new strategies and analytical packages that have not only improved their efficiency and production but its application....
8 Pages (2000 words) Book Report/Review

Testing Software and How It Is Controlled

It can also give an objective view of the software to understand the risks of software realization.... Software Quality Control refers to a set of protocols used by companies to make sure that a software product will fulfill its quality objectives at the best value to the client, and frequently to improve the firm's capacity to produce more software products in the future.... Test control can be considered as the test management tasks needed throughout the test procedure so as to keep the testing aligned to the software development procedure, the requirements of the project, and the requirements of the firm wanting to use the software (Miller, DeCarlo & Mathur, 2004)....
9 Pages (2250 words) Coursework

System Requirements Specification

In essence, the main driving factor is to integrate the best technology and promote efficiency and effectiveness in the delivery of healthcare services.... The author of this paper "System Requirements Specification" concerns the major emphasis on coming up with a software requirements specification document for the development and procurement of the product Management System via an account of Pocket Doctor Incorporation.... In this regard, this paper has laid major emphasis on coming up with a software requirements specification document for the development and procurement of the product Management System via an account of Pocket Doctor Incorporation....
7 Pages (1750 words) Essay

Methods and Tools for Software Quality Management

t starts with the choice of the right designers and engineers and continues through the systematic development process, exercising a critical analysis of each stage, in an attempt to identify and eliminate any loopholes that may hinder the success of the software product (Schaefer & Spillner, 2011).... The success of a business, however, depends on the quality of the software and the systems used in the management of critical areas of any business (Pettichord & Kaner, 2011)....
18 Pages (4500 words) Assignment

Unified Software Development Process and OOAD

The author of the "Unified Software Development Process and OOAD" paper examines characteristics of RUP and OOAD, opportunities of using RUP with OOAD, applying the unified software development process to OOAD, and the future of the software development process.... the software development process has transitioned over the years.... From a conceptual base point of view, the software development process can be categorized into either structured-oriented or object-oriented....
9 Pages (2250 words) Report

Software Requirements Management

Software requirement engineering is very important because it helps in the development of effective softwares with reduced errors, from the early stage of software development.... n software development or systems engineering lies a subfield of requirements management referred to as traceability.... Considering that requirements originate from diverse sources such from business people who are in need the product, managers as well as the actual users, this means the different requirements for the product are certain....
9 Pages (2250 words) Report
sponsored ads
We use cookies to create the best experience for you. Keep on browsing if you are OK with that, or find out how to manage cookies.
Contact Us