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

Software Development Process - Report Example

Cite this document
Summary
This report "Software Development Process" discusses building software to the required design and specifications that is not an easy task. It requires constant efforts by the developers through constant coordination and synchronization rather than a simple sequence of activities…
Download full paper File format: .doc, available for editing
GRAB THE BEST PAPER96.2% of users find it useful

Extract of sample "Software Development Process"

Name Course Tutor Date Table of Contents Table of Contents 2 Abstract 3 Introduction 3 Discussion 3 Approaches used by agile software development 4 XP (Extreme Programming) 4 Scrum 5 Rational Unified Process Framework 5 Principles of agile software development 6 Software quality 6 Problems in software development 7 No silver bullet 8 Description of process and product quality assurance procedure: 8 The power point slides: 10 Critical review: 11 Feedback received: 11 A review of quality assurance procedures: 11 Conclusion 12 Recommendations 12 References 13 Abstract Agile software development method is major progress in software management. The main issue in development of software organization and services has been to provide faster, cheaper and better solutions. Many solutions have been provided that range from measurements and standardization for software process to a number of techniques, concrete tools and practices to provide quality services. Although agile software development provides the best approach to software development problems, it cannot be applied in a vacuum. It requires experience, discipline, open communication, creativity and business insight to make it successful and beneficial. The paper describes how agile software development method is used in the software development process. Introduction The main issues in software development are to provide quality assurance and provide faster, cheaper and better services. Experienced practitioners have come up with agile software development which has made a huge impact in the development of software in the world. This paper provide an overview of this approach; describing the process and the main quality assurance applications. It also highlights those aspects that work well, those that do not work well as well providing recommendations for further improvement on agile software development (Dyba, 2000). Discussion Agile method differs from the traditional methods that are plan based which emphasized on engineering based approach, that incorporate planning, coding and reuse ((Dyba, 2000, Boehm, 2002). Agile method deals with the unpredictable challenges using competent people and their relationship to develop the software (Nerur and Balijepally, 2007). Williams and Cockburn (2003) stated that agile method is about feedback and change, and that software development is a nonlinear or empirical process, where feedback loops are required to attain the desired goals. Erickson et al (2005) also defined as stripping away heaviness that is commonly associated with software development, to promote easy response to the constant changes in the user needs and meet the project deadlines (Erickson, 2005). Therefore, agile software development approach focuses on adopting change and providing high quality products through simple work processes. it differ from the traditional approach in a number of issues including assumptions, control approach, management knowledge and style, customer role, development model, project cycle and organizational structure. Approaches used by agile software development Agile is not a specific methodology, but is an iterative approach and a higher concept representation with new underlying principles. Each approach uses specific concepts on how to work. Some of the approaches used by agile development include Scrum, extreme programming (XP), RUP and Lean Development. Each of this approach has particular approaches and ideas. XP (Extreme Programming) Extreme Programming (XP) has been successful at smaller companies. It stresses the customer satisfaction; delivering customer’s needs on time and allows the programmers to respond to the changing software requirements. This method also emphasizes on team work and it incorporates the customer, managers and developers in delivery of quality software. In addition, XP utilizes simplicity, communication, courage and feedback in the improvement of software projects. The programmers communicate with their customers and other programmer and get feedback by testing their software at early stages of design as well as delivering the system to the customer in time (Fitzgerald et al., 2006). Scrum This method seek to solve the problem of projects are out of control. Some of its key principles include: Working on projects based on the needs, starting with those with high priority. Meeting the customer’s minimum requirements Eliminating waste from the project Use of iterations in project delivery Scrum emphasizes on communication more than development and therefore can be applied in any project type. The customer gives a list of features in order of priority, the development is broken into 30 day iterations and the project is done in a group of 5-10 (Eyas, 2011). Rational Unified Process Framework These collections of methods that seek to provide a common set of concepts for a given project where the teams can choose from. Each team defines the individual process or development case. The development is done using user visible features, iterative and architecture. It works well with larger corporations that require documented processes. Kanban method emphasis on just-in-time delivery, although not overloading the developers. It emphasizes that developers pull work from a queue and the process is displayed for members to see (Eyas, 2011). Principles of agile software development Some of the principles of agile software development are described: Individuals and Interactions – it emphasis on self organization and motivation as well as interaction with other developers. Working software – it emphasis on developing working software rather than presenting documents to the clients. Customer collaboration – there is constant stakeholder or customer involvement in software development. Responding to change – it respond quickly to the changing need and ensure continuous development. Software quality Software quality can be divided into coding quality and design quality. Coding quality is quality that conforms to the design system. Design quality is that whch conforms to the requirements by the user. This can be detected by peer review and regression testing, where those softwares that do not conform to the user needs or requirements may be detected by the user acceptance testing or by the customer. if the requirements are stable and clear, the design quality can easily be achieved, although the main problem may arise from coding. but if the customer requirements are not clear or vague, the main quality problem may arise from design rather than coding quality (Kong, 2007). Agile approach not only detect and eliminate the design defects but also ensures the design system conforms to the requirements of the user. It ensures that there is harmony between the design and the customer needs so that it can easily response to the customer changing needs, produce high quality products and achieve the customer’s satisfaction (Kong, 2007). Problems in software development Dr. Frederick Brooks gave explained problems in software development in cost or in performance. His hypothesis is that, the very nature of software may not make it possible for magnitude improvement like in hardware sector. According to Dr. Brooks, there are inherently four problems in software development: complexity, conformity, changeability, and invisibility which have contributed to the difficulties in software development. Complexity – The complexity of software design is due to the fact that it has great proportions, multitude of states and potential or their combinations. The complexity increases as the software concept grow. This creates a problem in that increasing the number of personnel to deal with the problem, may not be productive. In addition, software scale has been known to be growing without limit and that growth areas cannot be reused easily, specifically the existing designs. The complexity obviously has no simple solution. This must be considered during software implementation. Conformity – Unlike physics which explain objects even at fundamental particle level, software development has arbitrary complexity and has no reasons like many human systems and institutions. In addition, it differs from one time to another and from one interface to another, since they are designed by different people. The complexity of software comes from its flexibility of software design and conformation to other interfaces or to a multitude of environments, which cannot be simplified though redesigning of the software only. Changeability – Like other products, software entity is always subjected to pressures for change. The products not changed after manufacture; they are superseded by the latest technology. Software should be changeable. If the software product is useful, people try it in a new way beyond the original domain. The user pressure for software change for extended function as they invent new use for it. Software should survive after the normal life of the machine which it was first written for. It must conform to its new machine vehicle, whether it is a new computer, new disk or new printer. Change whether it a major modification in functionality, or minor extensions in functionality, may require difficult modification to the original product. Beyond the possible change, there are post-design changes, modifications and additions Invisibility - Since software is not inherently impeded in space, it has no geometric representations like computer. This is due to the fact that software products do not exist, or physical. Visualizing the interactions in a software technology require structures with many dimensions. A software structure can be diagram by putting several graphs superimposed with each other. The graphs may represent the flow of control, data, time sequence, and name-space. No silver bullet Dr. Brooks did not address the human involvement in the above difficulties. Human thoughts and communication affect each of the four difficulties. Agile software development involved development of the great software. It is done with good judgment, hard work, discipline, sound engineering practices, creativity and business acumen. This shows that there is no silver bullet for developing software. Description of process and product quality assurance procedure: The main goal of this work is to produce academic paper using quality academic sources which include journals from eLabrary portal like the IEEE. The first item in my coursework plan is to do research. This will be done by gathering information about software development; especially those that relate to DR. Brooks article the no silver bullet article. I will seek to address software engineering problems such as conformity, changeability, complexity and invisibility. In addition, I will evaluate my work through the feedback I will get during my presentation and review of the work with my classmates. I will then improve the quality of my work through the feedback, making sure that all the assessment criteria have been fulfilled. The aims are: To produce an academic paper by applying knowledge into my coursework through gathering of information by using the eLibrary Portal such as the IEEE journals that focuses on agile software development. To proof that quality assurance never an accident as Dr brooks mentioned in his article the no silver bullet. To apply all assessment criteria into my coursework a much as possible for example providing as much information related to the topic and discuss its application by giving examples etc. Objectives: Present my quality assurance plan Get feedback in the presentation day Read the no silver articles and highlight the key words Read journals about agile software development Make notes from the researches I made Address the unique problems from Dr brooks article and assign it to agile software development Write the report with the following contents: 1. Title 2. Author name 3. Degree program and email address 4. Abstract 5. Introduction 6. Discussion 7. Conclusion 8. Recommendation 9. References Peer review my work to get feedback Improve my quality plan The power point slides: Critical review: In the review of my work, I find that one of the important procedures is missing. The procedure is time management plan by use of either flowchart or Gantt chart. The reason for omission of this procedure is the limitation of time and also the fact that I focused on getting the feedback for the literature research on the topic. Feedback received: Some of the feedback I received is the following: Timetable for time management such as Gantt chart or flowchart is missing. Provide references for the work to avoid plagiarism using Harvard style Spelling mistakes A review of quality assurance procedures: I had a manageable plan as I covered everything I had planned within the time limit. The plan had different stages. I started with preparing process and quality plan before present it. I then researched for information about agile using journals, as well as reading through no silver bullet article. I then went through all the objectives and assessment criteria to make sure that all has been applied which include knowledge, comprehension, analysis, application, synthesis and evaluation. Conclusion Building software to the required design and specifications is not an easy task. It requires constant efforts by the developers through constant coordination and synchronization rather than simple sequence of activities. This shows that agile approach is not a silver bullet. Building software is hard. It utilizes requirements, functional analysis and allocation, design synthesis and verification. It is therefore currently the best way to manage software development in a highly flexible process and that requires individuals to drive this process to success. In summary agile software development team emphases on the following values: Dedication Readiness to share knowledge Open communication They have common agreement on the work process and goals They collaborate with all the stakeholders who include: developers, users, managers, testers and other stakeholders. Agile development projects allow all the stakeholders to contribute to the project at early stages rather than wait for each other. This is done by turning big projects into small units each with their own requirements, design, developers and quality assurance stages. Recommendations Further research is needed to address different culture requirements and expand the use of agile software development method in different nations since the culture has a huge impact on the beliefs and the value of the people. For example, it will enable the agile methodology to be accepted by American as well as the Indians. Through conducting qualitative survey, the impact of agile method on the relationship between user and the developers will be known. References Abrahamsson P. and Hulkko R., 2005 A Multiple Case Study on the Impact of Pair Programming on Product Quality, Proc. ICSE, pp. 494-496. Aoyama M., 1998. Web Based Agile Software Development, IEEE software, vol. 16 Boehm B., 2002. Get Ready for Agile Methods, With Care, IEEE compute, Vol. 35 Boehm B. and Turner R., 2005. Management Changes to Implementing Agile Processes in Traditional Development Organizations, IEEE software, Vol. 22. Dyba T. and Dingsor T., 2008. Empirical Studies of Agile Software Development: A System Review, Information Software Technology, Vol 50 Erickson B., Lyytinen K., and Siau k., 2005. Agile Modeling, Agile Software Development, and Extreme Programming: The State of Research Journal Database Management, vol. 16. Eyas E., Maseri W. M. W., Mohamad Z. J., 2011. Software Engineering and Computer Systems, Part I Second International Conference, Icsecs 2011, Kuantan, Malaysia, June 27-29, 2011. Proceedings, Part I, Springer-Verlag New York Inc. Fitzgerald B., Hartnett G. and Conboy K., 2006. Customizing Agile Methods to Software practices at Intel Shannon, Eupean J. of Information Systems, vol. 15 Highsmith J. and Cockburn A., 2001. Agile Software Development: The Business of Innovation, IEEE computer, vol. 34. Janzen D. and Saiedian H., 2005. Test Driven Development: Concepts Taxonomy, and Future direction, IEEE Computer, vol. 38. Ramesh B., Cao L., Mohan K., and Xu P., 2006. Can Distributed Software Development be Agile? Communications of ACM, vol. 49 Su Kong, 2007. Agile Software Development Methodology: Effects on Perceived Software Quality and the Cultural Context for Organizational Adoption, Rutgers the State University of New Jersey – Newark. Wernham B., 2012. Agile Project Management for Government, Maitland and Strong Read More
Cite this document
  • APA
  • MLA
  • CHICAGO
(Software Development Process Report Example | Topics and Well Written Essays - 2000 words, n.d.)
Software Development Process Report Example | Topics and Well Written Essays - 2000 words. https://studentshare.org/logic-programming/2048740-performing-process-and-product-quality-assurance
(Software Development Process Report Example | Topics and Well Written Essays - 2000 Words)
Software Development Process Report Example | Topics and Well Written Essays - 2000 Words. https://studentshare.org/logic-programming/2048740-performing-process-and-product-quality-assurance.
“Software Development Process Report Example | Topics and Well Written Essays - 2000 Words”. https://studentshare.org/logic-programming/2048740-performing-process-and-product-quality-assurance.
  • Cited: 0 times

CHECK THESE SAMPLES OF Software Development Process

The Main Issues Involved in the Software Engineering Process

Additionally, the problems and risks in Software Development Process have to be effectively resolved in order to create flourishing software systems (Boban et al.... In addition, the less effective management of Software Development Process and lack of a suitable technique to risk management is one of the major and common reasons of project failures.... In this scenario, the issues and problems we are dealing with in a Software Development Process can comprise the following: (Roodyn, 2005) Need to strictly follow the design of the system Ensuring our new code/routine does not break some of the existing modules Making sure we are following the coding/designing principles Taking care of how this resolution will influence future jobs that require being finished That is what we are going to try to attain through the Software Development Process....
3 Pages (750 words) Coursework

Case tool : Identification of software development process

CASE TOOL Identification of a Software Development Process The current information technological needs of the organization have become robust and complicated.... CASE TOOL Identification of a Software Development Process The current information technological needs of the organization have become robust and complicated.... Finally, “the process designs and models can be used to drive process re-structuring and software development” Sparx System (2011)....
3 Pages (750 words) Assignment

Software Development Process Description

Technical Communication: Software Development Process Name: Institution: Software Development Process Description Software development refers to the creation of a software product that meets the specific requirements of a client or customer (Jawadekar, 2004).... According to Jawadekar (2004), Software Development Process is usually made up of the following stages: Comprehension and analysis of the specific problems and requirements of a client Planning – developing a strategic plan for the development of the software Creating a design for the customized software solution Implementation – actual development of the software, which entails coding Testing – entails unit testing and whole system testing Installation – deploying the actual system/software Maintenance and error fixing All these stages combined make up the Software Development Process, also well known as SDLC (Software Development Life Cycle)....
3 Pages (750 words) Essay

Letter to the CEO about Benefits of CMM Approach

Through improving upon the processes by repeating them, the overall Software Development Process can be improved to achieve the desired level of quality in the Software Development Process. One The Chief Executive Officer Chief Information Officer Benefits of CMM Approach CMM or Capability Maturity Model describes the overall process involving the practices of software process maturity.... Basically developed to refine the process of software development within the organizations, CMM model follow the basic philosophy of improving the Software Development Process in order to achieve quality in the software itself....
2 Pages (500 words) Essay

A critical analysis of software testing tools and techniques

Some people believe that software testing must be done at the end of software development, as a final stage.... It must be integrated into it and must be a continual process throughout.... Software testing plays a very important role in project It is so important that half of the development of any software must be dedicated to it, as a rule of thumb.... However, it is important to note that testing must be done at all stages of development....
4 Pages (1000 words) Essay

System Engineering and Software Development Processes

It has the following processes, problem definition, value system design, system synthesis, system analysis, and optimization, decision making and planning… Software Development Process which is also referred to as software development life cycle (SDLC) is a structure that dictates the developmental process of a software product.... he phases in both Software Development Process and system engineering have some similarities in that they are sequential.... oftware development process which is also referred to as software development life cycle (SDLC) is a structure that dictates the developmental process of a software product....
1 Pages (250 words) Essay

Implementing Software Development Project Management Best Practices

Software Development Process may involve a series of activities that range from developing to manipulation of the… stem features and to a farther extent even the procurement of the system hardware plus the training of the administrators whose sole duty is to perform the operations.... The development of software models in the development of various systems has been seen as the new way and method of optimizing the process of software development.... This will ensure that every software development tool conforms to the set standards....
4 Pages (1000 words) Assignment
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