Agile And Iterative Methodologies In Developing A Customer Relationship Management Application

Agile Methodology

Discuss about the Customer Relationship Management App.

Save Time On Research and Writing
Hire a Pro to Write You a 100% Plagiarism-Free Paper.
Get My Paper

System development techniques is a way of specifying the activities to be done and the manner in which these activities are to follow each other. For successful completion of systems, these techniques must be used in a proper and efficient manner (Royce, 1987).  This report will examine and give a recommendation to the Australia Fashion and Design management the relevance of agile and iterative software methodologies to be used in developing a Customer Relationship Management (CRM) application. The methodologies to be discussed i.e. agile and iterative methodologies, will provide enough insight to the management of CRM the best manner in which the application is to be built, with minimum resources to be incurred and also saving on costs and time. It will discuss what the methodologies entails and the processes that will be taken during the development of the system and give the advantages and disadvantages of each. It will discuss in details how these methodologies will take into account the requirements of the CRM application as well as meeting the needs of the users.

The agile methodology makes use of agile teams that work directly with customer’s in order to appreciate the objectives and give a result without much delay and in an incremental manner (Cockburn, 2002). Major problem in software development is the changing technology. Agile methodology takes into consideration the rapid change versus the hunt for complete, rigid specifications (Wells, 2002). Unlike traditional development methods, where they relied mostly on phases, the agile methodology unveils the first cycle after some weeks and the whole piece of software in a number of months after.

The iterative methodology on the other hand uses a complete different path as compared to agile methodology. In this method the software is developed through recurrent cycles and in lesser portions at a time (Basil et al. 1975). At each iteration, design alterations are made and new functional abilities are added. It has four phases namely, the requirement phase whereby the requirements of the software are collected and examined, the design phase in which a software is designed to achieve its objectives, an implementation and testing phase and finalizing with a review phase (Royce, 1987).

It is a framework that assists people can solve intricate problems while delivering products of high value creatively (Schwaber et al. 2002). Since the AFD management will always present new views on how they want the application to be, there will be unpredictable problems therefore, scrum adopts an evidence based empirical approach, this is to make sure that a team’s efforts to convey swiftly is maximized, reply to developing requirements, and to familiarize with changing technologies and fluctuations in market conditions. During the development of CRM scrum will consist of the following interlocking steps and components:

Save Time On Research and Writing
Hire a Pro to Write You a 100% Plagiarism-Free Paper.
Get My Paper
  • Product backlog creation

Iterative Methodology

These are the requirements of the CRM system. Here the requirements are to be ordered by priority and each requirement must get a unique ID. For example, a requirement such as, for every retail store to become a customer of AFD, they must fill in an application is given an ID a-001.

In this step it is recommended the management and the development team to cooperate. It should determine the most important user story (requirement) and the scrum team defines the appropriate labor cost. A sprint duration of 2 weeks is defined and it allows the team to issue an operational form of the product more often.  Customer feedback will be obtained frequently and all likely faults will be revealed earlier.

  • Working on the sprint: sprint meetings

The team completes their sprint backlog task, assess the progress and address roadblocks in a daily scrum.

  • Tests and demonstration

The outcome of each and every sprint is known as product demonstration. The Scrum team comes up with an analysis and presents the outcomes of their work. Based on the outcomes stakeholders decides about other changes that might occur to the project.

  • The team completes the sprint with a review and begin a fresh sprint until the application is complete.

Advantages of Scrum

  1. Increased return on investment- there is regular feedbacks directly from the management which enables early corrections during sprint reviews which is less costly.
  2. Improved customer satisfaction- the CRM is delivered faster to the management. The management is also involved and engaged throughout the development process.
  • Increases team morale- use of teams enable members to be creative, innovative and acknowledged for their expertise.

Disadvantages of Scrum

  1. It is only effective for small projects but no for large projects.
  2. There can be delays if there are inexperienced members of the scrum team.
  • There is a high reliance on the efficiency of the team members.

In this methodology short and frequent parts of the system under development are released. The customer is involved during unit testing and reviewing the code. (Beck, Gamma 2000). In the CRM system, the team will build a list of requirements from the management, then build a software release plan. The software will be deployed in cycles also known as iterations after every number of weeks from the beginning of the system. The team will work in a group of two and hold meeting from day to day in order to remove any challenges. The management will give response if more requirements will be needed. This process continues until the software is completed.

Advantages

  1. Cost reduction – costs increases as the software advances in it life cycle. Extreme programming makes amends at the development stage hence less costs are involved.
  2. It copes up well in changing technology. When requirements change, extreme programming in-builds accommodation through getting proper requirements at the beginning of the iterations, results from the management at the rest of the iterations.
  • Employee satisfaction – the breakdown of project scope into subcomponents and the constant customer feedback prevented buildup of much work to be finalized over a tight deadline(Beck, Fowler 2001)

Disadvantages

  1. User involvement in extreme programming is minimal and the success of the application will depend data that will be collected at every stage of the development process since the management might not be much involved or even dislike the involvement.
  2. It focusses on code rather than design. A good design is important since it helps in user interaction.

It main focuses on doing thing s at the right time to save on time and deliver products quickly. This improves productivity, lowers cost and improve quality. Lean incorporates Deming’s belief that the system within which people work is as significant as the people. It also focusses on experienced people to build great systems and yield great results. In order for the CRM to be delivered quickly, Lean suggests that; the most valuable work must be done, the team should avoid building what is not needed, create collaboration within the team by giving them work in a manner that allows them to work together, ensure the workflow is in order, create architectures that will not need to change by use of design patterns, refactoring etc., and finally manage workflow so that actions are load balanced.

Scrum Methodology

Advantages

  • Increased efficiency due to elimination of waste as a result this speeds up the process of software development.
  • Improves the decision making ability of the team improving their motivation.
  • Because the application is delivered early then it means the development team can deliver more functionality within a short period of time pleasing the management and also customers.

Disadvantages

  • Since lean allows requirements to evolve hence high flexibility meaning that the development team will lose sight of their original objectives and create an application that never ends.
  • The development will depend mostly on how unified the team is and individual commitments.

This is a methodology that insists on fast development cycles and assists the businesses with systems of a greater quality because they are developing at a constant rate (Palmer, Felsing 2001). In the development of the CRM five processes would have to be undertaken:

  1. An overall model will be developed. Models in a specific domain will be created by small groups and are then to be presented to the management for reviewing. The models are then to be combined to produce an overall model.
  2. Generates a features list that will include all the requirements which will be used to create the CRM. A features list is provided by disintegrating domains into subject areas that contain any material that relates to business activities.
  • Once the features list is complete, this process will involve assigning the various features to the programmers.
  1. The chief programmer should then select the most important features that are to be developed in two weeks’ time and also come up with summarized diagrams for each feature while reducing errors on the model.
  2. Once the design reviews are over, the designers put in place an activity for every feature and starts working on the code for their individual classes. Unit testing is carried out and the features taken to the main build.

Advantages

  • It allows the programmer to apply methods to manage projects at a lower level and allow other methodologies at a lower level.
  • It places attention on the individual engineering practices with lengthy feedback cycles and with a feature team that takes clearly recognizable duties.
  • The method is highly effective in that it provides solutions to problems that commonly conflict programmers.

Disadvantages

  • Iterations are not well defined as other agile methodologies.
  • There is no team ownership since only individual code ownership is promoted.

Agile methodologies is the top candidate for the development of the CRM. According to (Bauer 2005) most of the projects that were cultured conferring to the methodology of Feature Driven Development were successive. Bauer experience reveals that Feature Driven Development had a constructive effect since bringing everybody together made their teams more alert to the project that was put in place using FDD. It provided solutions to software development problems, constant delays, excessive waste of money and exerting minimum emphasis to the work needed to complete the project. With FDD, clarification are clear from the plan. The minimized risk was restrained based on the iteration of design and build approach; precision of objectives and good comprehension of building the system.

User interface is an important approach to the development of system products today. It is a means through which the user is connected to the software or system. A good interface is the one that enables users realize their goals faster and in an accurate manner. This leads to user satisfaction. User experience is connected to a wide category that dive pleasant involvements through the entire period the user is using a product, system, service or an object. However, Bad user interface may bring issues such as users rejecting the system, frustrations and issues to do with maintenance of the software also arise.

The most important method to realize user experience is through User centered design (UCD) and Human Computer Interaction (HCI). User Centered Design (UCD) is a user interface design manner that focusses specifically on making systems usable. During the development of the Customer Relationship Management application, it is of great importance to adopt the UCD since the users are new to the system and do not know how to use the system. The system, should therefore, be developed in accordance with the following principles:

  • Design for the users and their needs
  • Build a consistent design
  • Build a continuous communication between the design and the user.
  • Create an environment that will not make the user think too much.
  • Minimize errors and let users achieve their target needs.

According to the association for Computing Machinery, Human Computer Interface (HCI) is deals with designing, evaluating and implementing interactive input systems for human usage and the study of the major phenomena around them. In other words, HCI has been described as the way humans cooperate with computers. The CRM should be guided by the following HCI principles while developing the application:

  • The developers should establish a means by which the user is to perform the tasks.
  • Conduct an initial test involving the interface and the users who come into interaction with the interface daily.
  • Conduct an iterative design: model the user Interface, do various test, examine outcomes do a repetition of the iterative process until the interface is created.
  • By specifying the context of use the user will gain knowledge as to who will use the product, what is the application is going to be used for and under what condition will the application be used.
  • Users of the system will get quicker feedback.
  • Early involvement with the user in the design will help create ownership of the product and reduce future costs.
  • The CRM will have an easier platform where customers will complete their task without any errors.
  • A good UCD will help reduce the amount of time the management and users will be dealing with the software.

The following should be the minimum requirements to be involve in the development of the CRM system regarding UCD and HCI:

  • The arrangement of controls, menus, button should be in order i.e. buttons that perform similar task should be grouped together.
  • The use of graphics must be included in the system. This will make the application become interactive.
  • The application should be customized in a way that uses different languages to suit a user.
  • The ability to receive data in many forms e.g. through printed form, voice, finger print etc. should also be in consideration since this is a business oriented application.
  • Should be usable to people regardless of their cultural backgrounds, physical ability, religion etc.
  • The CRM system should include strict security measures in order to safeguard the organization.

Computer systems such as CRM system should be developed in a way that they achieve the needs and capabilities of the users. UCD aids to determine the degree to which the system will be usable. A good interface design catches the eye of the user and enables him/her use the system more. Due to the emerging trends in technology, there is an improved demand for fast and user friendly interfaces which not only fulfil the requirements of diverse kind users but also give them satisfaction with effectiveness. The CRM system user interface should therefore be developed using these frameworks

References

Basil, V.R. and Turner, A.J., 1975. Iterative enhancement: A practical technique for software development. IEEE Transactions on Software Engineering, (4), pp.390-396.

Beck, K. and Fowler, M., 2001. Planning extreme programming. Addison-Wesley Professional.

Beck, K. and Gamma, E., 2000. Extreme programming explained: embrace change. Addison-wesley professional.

Cockburn, A., 2002. Agile software development (Vol. 177). Boston: Addison-Wesley.

Don Wells 2002, Software Development: A gentle Introduction. Available from: https://www.agile-process.org

Palmer, S.R. and Felsing, M., 2001. A practical guide to feature-driven development. Pearson Education.

Royce, Winston W. “Managing the development of large software systems: concepts and techniques.” In Proceedings of the 9th international conference on Software Engineering, pp. 328-338. IEEE Computer Society Press, 1987.

Schwaber, K. and Beedle, M., 2002. Agile software development with Scrum (Vol. 1). Upper Saddle River: Prentice Hall.

Calculate your order
Pages (275 words)
Standard price: $0.00
Client Reviews
4.9
Sitejabber
4.6
Trustpilot
4.8
Our Guarantees
100% Confidentiality
Information about customers is confidential and never disclosed to third parties.
Original Writing
We complete all papers from scratch. You can get a plagiarism report.
Timely Delivery
No missed deadlines – 97% of assignments are completed in time.
Money Back
If you're confident that a writer didn't follow your order details, ask for a refund.

Calculate the price of your order

You will get a personal manager and a discount.
We'll send you the first draft for approval by at
Total price:
$0.00
Power up Your Academic Success with the
Team of Professionals. We’ve Got Your Back.
Power up Your Study Success with Experts We’ve Got Your Back.