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

Software Development Methods for White Horse Company - Case Study Example

Cite this document
Summary
The following paper entitled 'Software Development Methods for White Horse Company' presents the software development process which is a complex process and becomes more complicated especially in the environment where the requirement changes frequently…
Download full paper File format: .doc, available for editing
GRAB THE BEST PAPER97% of users find it useful
Software Development Methods for White Horse Company
Read Text Preview

Extract of sample "Software Development Methods for White Horse Company"

Introduction Software development process is a complex process and becomes more complicated especially in the environment where the requirement changes frequently. In today’s changing world, agile software development is accepted as the best way to deliver high quality and trusted software. Scrum method is one of most popular agile methodologies. However, scrum method does not support engineering practices. In contract, Extreme programming is regarded as the best practice of software engineering disciplines. The combination of tow model will overcome the limitation of both models. In this paper, I will introduce both methods and show how their integration is a suitable system development method for White Horse Company. Scrum method One of the commonly used agile methods is scrum. Scrum can be described as an iterative software development methodology that helps the project teams to manage and control software development in rapidly changing environments. Scrum focuses on prioritizing the requirement base on business value, improving the quality of what is delivered, and increasing income. Scrum provides the structure to assist developer’s team to deal with the difficulties of building complex software. However, the process is simple and consist of three major roles, three ceremonies and three essential artifacts (Sutherland,2007). The roles also consist of three components namely: project owner, development team and scrum master. The project owner is typically a functional unit manager who is responsible for defining the software features and deciding on the release date and content. The development team typically is a cross-functional team that generally consists of small size ranging from 4-9 professionals working in full time capacity. The scrum teams are self-organizing and have the responsibility of selecting the sprint goal and specify work results. The scrum master works as a facilitator for the product owner and the scrum team. This person is responsible for several important things such as assisting the scrum team to remain productive and creative and remove any impediments which may obstruct the scrum team from achieve the sprint goals (Cervone,2011). Scrum also includes three ceremonies that consist of the following: Sprint Planning, Sprint Review, and Daily Scrum Meeting. The sprint planning meeting is a meeting of scrum roles at the beginning of each scrum sprint which "represents an iteration in which a set of development activities are conducted over a pre-defined period" (Cervone, 2011). The purpose of this meeting is to develop details of planning for the sprint. The meeting can be divided into two parts. In the first part, the groups specify the product backlog which mainly represents the list of software requirement that should be covered in all sprints and the product owner selects the highly software requirement to the scrum team. Each feature on the product backlog has a specification and an estimate of cost and time required to deliver it (scrum alliance, no date). Then, the team defines the sprint goal which is a formal result from each specific sprints. In the second part of the sprint, planning a meeting, the group focuses on producing the sprint backlog (Cervone, 2011). At the end of the sprint planning meeting , two major artifacts should be defined; the sprint goal and the sprint backlog. The sprint daily meeting is a meeting conducted every day of sprint time in order to clarify the state of the scrum. It is normally 15 minutes where scrum teams report to each other. Each member of the development team has to answer the following three questions: What did I do yesterday? What I can do today? And lastly, what are the impediments that I face? The scrum team may find it helpful to keep record of sprint tasks, Sprint Burndown Chart, and an Impediments List because the scrum team usually discovers additional required task to achieve sprint goals and new impediments that face scrum team during the sprint execution (Jems, no date). The White Horse Company has decided to start a new project to develop software for new scheduling and booking system in house to suit company requirements. Every software project faces some risks and one of the most insidious risks that threaten software projects is requirement risks such as unclear requirements or lack of customer involvement in requirements development. White Horse team could mitigate the most common risks associated with requirements on software development projects risks by adopting and implementing scrum software methodology. The most frequently cited risk of software project is a lack of customer involvement during the software life cycle which may lead to misunderstanding of the requirement. In contract, customer collaboration is an important success factor of scrum software methodology. In scrum, the customer is required to participate throughout each sprint, write user story, discuss software feature, prioritize the requirement lists, and provide rapid feedback to the scrum team. That will reduce the chance of making wrong assumptions of the requirement by the developers (Hoda, Noble and Marshall, 2010) White Horse Company operates ferries across the English Channel to France and Spain which means that stakeholders are located in different areas and from different nationalities. This will lead to the following challenges: first, the geographic distance will make the communication between the stakeholders difficult as the ability to hold face to face meeting is reduced. Secondly, culture distance my lead to different perceptions of authority, misunderstanding and inconsistent work practices (Bannerman, Hossain and Jeffery, 2012). Adapting scrum methodology will mitigate the challenges that face global software development. Danait (2005) states that "daily scrum meetings both enhance communication and provide a coordination mechanism for everyone in the project". Daily scrum meetings can be conducted by using teleconferencing and web cameras. It is commonly accepted that the key factor behind scrum success is the close interactions between developers, business stakeholders and customer. This type of communication is hard to achieve in global software development (GSD). However, it has been proven that using scrum practice in (GSD) promotes communication and collaboration, ensures frequent delivery of product, reduce some challenges. Bannerman, Hossain and Jeffery, 2012). Case study The case organisation is an IT company that operates global software development. The company’s main activities are distributed between two countries, Norway and Malaysia. Before adapting scrum, the development process cost capital investment for planning activities contained large amounts of documentation. Any change in requirement caused a lot of re planning. The company developed software product for oil and energy companies by adapting scrum. The company achieved many benefits by applying scrum practices. Firstly, the company can discover the potential problem before it happens. Secondly, scrum daily meetings encourage communication between the project team and provide good ways to get an overview of the project situation. Thirdly, the short sprints brought transparency between two locations, provided frequent monitoring opportunities and revealed problems earlier. Extreme programming method: Extreme programming is an agile methodology that guides the organisation to build software products by offering effective guidelines and capturing the best practices of software engineering (SE) disciplines. It aims to reduce software development risks and increase the predictability of software intensive systems. Juric (2000) defines extreme programming as " incremental planning approach and concrete and continuing feedback from short cycles of the software development to allow an evolutionary design process that lasts as long as its system". XP methodology on its core involves programming activities that include values, principles, activities and practices. XP use values as guarantee for successful software solution. XP basic values are communication, simplicity feedback and courage. The communication value includes the practices that require communication which is unit testing that requires communication between two programming or between programmer and customer, pair programming that requires communication between two programmers and the task estimation which encourages the interaction between the programmer and customer and between the programmer and manager. The simplicity in XP means that using the simplest method of planning, designing and programming that could possibly work. The immediate feedback is essential value in XP programming and required from the programmers team about the state of the system and from the project manager to giving feedback if the project is running within a predictable time. Courage "means reviewing the existing system and modifying it so that future changes can be implemented more easily" ( Konovalov and Misslinger, 2006). There are 13 core practices that describe Extreme programming which include the following: 1. Whole team: represents all the contributors to the software project and include the customer who sets and prioritizes the requirement and steer the project. The team also includes analysts to help the customer to define the requirements. The XP team usually has a coach who facilities the development process and help the team to keep its track. The team will surely have programmers and it may include a manger to coordinate the activities (Lindstrom and Jeffries, 2004). 2. Planning Game: is a meeting for the project team at beginning of each iteration in order to address two questions: What will be achieved by the deadline and what to do next? The planning game in XP is divided into two parts namely: : Release planning : is meeting to produce release plan for each iteration. In this meeting, the customer presents the features of the product and the highest priority to be completed. The programmers then estimate the difficulties and the cost for each feature (Lindstrom and Jeffries, 2004). Iteration planning: Lindstrom and Jeffries (2004) define iteration planning as a " practice whereby the team is given direction every couple of weeks". In this part of planning game, the programmer divides the software feature into tasks and estimates their cost in more detail than release planning (Lindstrom and Jeffries, 2004). 3. Customer test: this test is critical to ensure that the desired features are implemented correctly. In this test, the customer defines the acceptance test for one or more feature to ensure that it is working correctly (Lindstrom and Jeffries, 2004). 4. Small Releases: in each iteration, XProgramming team release small working software that delivers business value for the customer in order for evaluation or even for release to end users. The essence in this practice is that the software is visible and given to the customer in each iteration to evaluate it (Lindstrom and Jeffries, 2004). 5. Simple Design: this means that XP team builds only the code that is required to accomplish current functionality. The emphasis is to keep the software simple and improve it through programmers testing. 6. Pair Programming: refers to the interaction between two programmers in order to build software codes. That verifies that all software codes are reviewed by at least one programmer. This leads to better designing, coding and testing. 7. Test-Driven Development: Lindstrom and Jeffries (2004) State that Test-Driven Development is "working in very short cycles of adding a test, then making it work. Almost effortlessly, teams produce code with nearly 100 percent test coverage, which is a great step forward in most shops". 8. Design Improvement: in order to deliver well designed software in each iteration, XP team uses improvement process called refactoring which is the way to remove all duplication codes and increase the cohesion while decreasing the coupling (Lindstrom and Jeffries, 2004). 9. Continuous Integration: in this practice, XP developer keeps the system completely integrated every few hours and that will help the team to detect problems early (Lindstrom and Jeffries, 2004). 10. Collective Code Ownership: this practice encourages the developer to contribute new ideas by changing any line of the code to increase code quality, reduces defects add more functionality (Lindstrom and Jeffries, 2004). 11. Coding Standard: XP team should formulate the code to be agreed by high coding standard. The emphasis here is that all code looks familiar (Lindstrom and Jeffries, 2004). 12. Metaphor: it is the way to develop a vision of how the program works. Lindstrom and Jeffries (2004) define a metaphor as "a simple, evocative description of how the program works, such as “this program works like a hive of bees going out for pollen and bringing it back to the hive”. 13. Sustainable Pace: this means that the project team will work hard to maximize productivity. This may involve working overtime when it is required. Many studies have shown the successful use of extreme programming in distributed software development like white horse. For example, by applying extreme programming values and practices in Lattice® Trading System reengineering project which is a project distributed software development in Boston worked with the offshore development in Hangzhou, the communication quality is improved and the expensive cost of on-site customer is reduced (Xiaohu et al ,2004). As I stated earlier, White Horse will face many challenges such as culture distance and the difficulties in coordination and communication. The main strengths of extreme programming include the following: reduced cost, improved customer satisfaction, reduced error and adapt easily with changing requirement. However, extreme programming focuses on coding rather than designing. The main strength for scrum practice is high project management capabilities. However, scrums development life cycle lack in engineering of a software ( Rizwan, 2012). Since XP does not support concrete guidelines for project management, the integration of scrum and extreme programming in White Horse Company can make it achieve benefits from both worlds. Conclusion: There are many software development methods that can be suggested to be used in White Horse Company. However, as the company that develops global software, both XP and Scrum models contain good features and strengths that are appropriate to it. I suggest that the combination of software management of the Scrum methodology and engineering practices of XP practices are the most suitable system development methods that overcome the limitations of both methodologies in order to reduce the risk in project. Read More
Cite this document
  • APA
  • MLA
  • CHICAGO
(Software Development Methods for White Horse Company Case Study Example | Topics and Well Written Essays - 2250 words, n.d.)
Software Development Methods for White Horse Company Case Study Example | Topics and Well Written Essays - 2250 words. https://studentshare.org/information-technology/1831437-system-development-methodology
(Software Development Methods for White Horse Company Case Study Example | Topics and Well Written Essays - 2250 Words)
Software Development Methods for White Horse Company Case Study Example | Topics and Well Written Essays - 2250 Words. https://studentshare.org/information-technology/1831437-system-development-methodology.
“Software Development Methods for White Horse Company Case Study Example | Topics and Well Written Essays - 2250 Words”. https://studentshare.org/information-technology/1831437-system-development-methodology.
  • Cited: 0 times

CHECK THESE SAMPLES OF Software Development Methods for White Horse Company

Corporate Training Methods

Topics can vary from the use of new software applications to new business processes that a company wishes to embrace.... Topics can vary from the use of new software applications to new business processes that a company wishes to embrace.... Coaching activities and the development of the “coaching mentality” are far less costly to a company and will further enhance the communications between managers, employees, supervisors and department heads....
2 Pages (500 words) Essay

What Is Quality

nbsp;… Any organization or a company can satisfy the stakeholders and the customers only if it provides them with quality in the products that they use.... Importance of quality management in an organization or a company can never be denied.... Quality management is an ongoing process of building and sustaining relationships between the company and its customers by providing the customers with quality products.... Kantner (2000) found that the target of growth of business and gaining the trust of customers in the competitive market can be achieved if we implement a proper quality management system in a company....
8 Pages (2000 words) Case Study

Was Outsourcing the A/P Project the Right Move for Tegan Given the Other Possible Alternatives

nbsp; Generally, it does not happen that a project is assigned to the same company that has conducted the requirement analysis.... For Tegan, it was a matter of saving hefty cost on the project if some other company's bid had been accepted.... It could have eased the work of Hrad, the bidding company to perform a requirements analysis and guess the workload to offer a bid reasonably cost-effective for Tegan to agree on the terms and conditions of Hrad to finish the project....
6 Pages (1500 words) Assignment

Motivation Workforce in Ocado

They include issues such as company car and house, status, salary, relationship with supervisors and subordinates and security among other fringe benefits.... Ocado according to Hobson, (2012) has several methods that it uses to motivate its employees including the basic allowances and others....
4 Pages (1000 words) Essay

Public Key Infrastructure

The management is convinced to implement Public Key Infrastructure (PKI) as a framework to ensure integrity, confidentiality,… Subsequently, the company would be using digital certificate to sign software to demonstrate authenticity of software to their clients.... Subsequently, the company would be using digital certificate to sign software to demonstrate authenticity of software to their clients.... By issuing the digital certificates the company will be able to ensure their authentication and non-repudiation at a larger extent....
2 Pages (500 words) Research Paper

JP Morgan Chase Proposal Analysis

This essay talks about the in-house software development process to solve one of JP Morgan Chase challenges in cyber security.... The essay "JP Morgan Chase Proposal Analysis" talks about the in-house software development process to solve one of JP Morgan Chase challenges in cyber security.... Through research and development, the technology team at JP Morgan Chase will come up with a system that will use in protecting the intrusion of hackers....
7 Pages (1750 words) Essay

Whats in IT For Me

In addition, the development of technology has created a number of business opportunities that businesses should capitalize on.... The author of this essay "What's in IT For Me?... analyzes the importance of IT.... this paper outlines the role of data collecting, Internet access, presentations and documents, inventory management, multi-site network, human capital, and communication....
6 Pages (1500 words) Essay

A New Housing Development in the North Essex

This paper “A New Housing Development in the North Essex” will aim to provide the company with the detailed logistics of proposing that property based on the economic and demographical situation of the areas under consideration.... The equation was done through the software based on R programming language (Wessa, 2014)....
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