Agile Software Development Practices

Verified

Added on  2020/03/15

|13
|3488
|158
AI Summary
This assignment delves into the realm of agile software development methodologies. It encompasses a comprehensive exploration of prominent frameworks such as Scrum and Extreme Programming, dissecting their core principles, advantages, and potential obstacles encountered during implementation. The document aims to provide a thorough understanding of how these agile practices contribute to effective project management in the software development lifecycle.

Contribute Materials

Your contribution can guide someone’s learning journey. Share your documents today.
Document Page
Running head: System Analysis and Design 1
System Analysis and Design
Name
Affiliate institution

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
Running head: System Analysis and Design 2
Table of Contents
Introduction......................................................................................................................................3
Scrum...............................................................................................................................................3
Advantages of Agile Scrum.............................................................................................................3
Disadvantages of Agile Scrum........................................................................................................4
Extreme Programming (XP)............................................................................................................4
Advantages of Extreme Programming.............................................................................................5
Disadvantages of Extreme Programming........................................................................................5
Adaptive Software Development (ASD) Methodology..................................................................6
Advantages of ASD.........................................................................................................................7
Disadvantages of ASD.....................................................................................................................7
Conclusion.......................................................................................................................................7
Recommendation.............................................................................................................................7
Memorandum...................................................................................................................................7
Event Table....................................................................................................................................10
FFSL Domain Model Class Diagram............................................................................................10
FFSL Design Class Diagram for Customer and Sales...................................................................11
References......................................................................................................................................12
Document Page
Running head: System Analysis and Design 3
Introduction
Scrum, Extreme Programming (XP), and Adaptive Software Development (ASD) are the three
adaptive methodologies that could be used by Free Feet Socks Limited (FFST). Scrum is a
popular method used to perform things on agile methodology. Apart from Scrum being a
methodology, it is also a framework developed as needed by the organization using it. Extreme
Programming (XP) on the other hand is a development methodology of agile software which
aims to improve software responsiveness and quality to changing client needs. Lastly is the
adaptive software development (ASD) methodology which is a new system in agile software
development. ASD aim is development of products that are complex, systems that are large and
repetitive development with same prototyping. (Jaško & Marinković, 2016)
Scrum
Scrum is a framework of agile for accomplishing innovative projects. Scrum performs well for
complex, innovative or new work product development scope. As such, FFSL can use this
methodology to expand further activities like selling underwear and home goods such as scented
candles. The framework of Scrum is simple. The owner of the product generates a wish list that
is prioritized known as product backlog. During sprint planning the staffs dealing with the
system picks a small portion in the descending order of that wish list, a sprint backlog, and
determines how implementation of those pieces will be done. FFSL team will have specific
amount of time for a sprint to accomplish the work normally 2-4 weeks but arrange daily
meetings to analyze the progress of the work. FFSL scrum master will keep the team focused on
the objective. Upon completion of the sprint, the work done should be ready to be handed over to
the client, kept on storage shelf, or shown to a stakeholder. Finalization of the sprint is done
through it reviews and retrospective. The team then selects another portion of the backlog and
starts the operations again. The cycle is repeated until the arrival of deadline is reached, budget
depletion is reached or adequate items in the product backlog are completed. (Hall, 2014)
Advantages of Agile Scrum
Agile scrum will help FFSL to save money and time. It will help the organization to successfully
develop the project especially where the documentation of business needs is difficult to quantify.
Document Page
Running head: System Analysis and Design 4
Using this methodology fast codes and testing is easily done since mistake are easily corrected.
Clear visibility of the development of the project is achieved as this technique stress on regular
updates of the work progress through frequent meetings. It is also needs constant response from
the user. It is easy to adapt with the changes since it involves short sprint and continuous
feedback. Team members’ productivity and issues identification is enhanced through daily
meetings. And it minimizes the cost of process and management of the project thus resulting to
cheaper and faster output. (Satzinger, Jackson & Burd, 2008)
Disadvantages of Agile Scrum
The stakeholders of project management might demand for delivery of new functionality if an
exact end date is not set. Estimation of cost may not be correct if duties are not well defined. The
project may fail if the team lacks commitment. It requires short projects as it functions well with
few staffs. All teams need to be involved till the accomplishment of the project otherwise it may
fail. Test team are required to carry out regression testing after every sprint otherwise the quality
manager of the project will find it hard to quantify and implement it. (El & Alnoukari, 2012).
Extreme Programming (XP)
XP first insists on business output and then takes an incremental. FFSL is focused on developing
and implementing application of customer management. Customers such as retail store are
required to fill an application before being supplied with products of FFSL. As such FFSL will
use XP to build the product by constant testing and reviews of this new implementation.
(Kaschek, 2008). This methodology strongly supports regular releases in short cycles of
development and focus on improving productivity and checkpoints introduction at which new
client’s requirements can be owned. XP quickens and simplifies new software development
process enhancing the launching of new product faster. (Qasaimeh & Abran, 2011). It also brings
about effectiveness in the code process and offer maximum value to customers. In addition, it
enhances strong involvement of the customer into the process of software development, good
interactions among the teams and development of iterative cycles. it enhances customer
collaboration on negotiation of contracts, and change responses on the plan. It is based on
respect, simplicity, courage, communication and feedback values. XP brings the team together in

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
Running head: System Analysis and Design 5
the existence of easy practices, with adequate responses that help them see their current situation
and use the practices to their special condition. (Sutherland, 2016)
Advantages of Extreme Programming
This methodology will help FFSL save time and costs for the realization of the project. It
removes unproductive operations. XP also minimizes risks involved in programming or threats
related to the failure of the project. (Lee, 2012) It is a simple methodology that developer uses to
generate simple programs that can be improved anytime. Processes involved in XP are
accountable and reliable. It contains continuous responses that help to make changes as early as
possible. XP helps increase employee retention and satisfaction. (Bennedsen, Caspersen &
Kölling, 2008)
Disadvantages of Extreme Programming
Some experts say that XP aims on code more than the structure. This is a problem since good
structure is essential for applications of software. A good design aids in selling the organization
in the software market. In addition, XP lacks a good defect documentation which may cause
Document Page
Running head: System Analysis and Design 6
occurrence of same bugs in future. XP also fails to measure quality assurance of the code which
may bring defects in the initial code. (Moran, 2014).
Adaptive Software Development (ASD) Methodology
ASD methodology develops large systems and complex products. RAD (Rapid Application
Development) is used to produce a good system and product. It involves developing recurrence
and constructing prototype. FFSL can use this methodology to see how the application process
will operate. RAD consists of two strategies; it requests the manager to put focus on the product
and it offers techniques and tools for promotion of teams’ self-organization and the need for
large scale. (Cantone & Marchesi, 2014)
Characteristics of adaptive development; it is mission-driven for instance FFSL will use this
methodology to ensure it mission for retail store applications is implemented, run monthly sales
and report and obtain information in every sales visit. (Cobb, 2015). This methodology is
component-based, it is iterative, in ensures enough time is taken to make decisions on the
project, it is change tolerant, and it is risk-driven. ASD involves three concepts; the agent, that is
the group members and other stakeholders, environments; development, executive and
technology, emergence; development of the product such as the underwear and home goods that
FFSL is planning to introduce. (Madeyski, 2010).
ASD consist of 3 cycles for development of large systems;
Speculation; FFSL requires a few days or weeks to plan on the system they need to meet their
goals, the project team to be involved, and the customers’ advices and guide like requirements of
the systems, objectives and scope. (Moran, 2015)
Collaboration; FFSL needs team members that are motivated, willing to help, hardworking, ever
present in the field and enhance communication to generate efficient solutions. Team members
should work together in order to meet their objectives. (Haag & Cummings, 2008).
Learning; team developers should always be ready to receive knowledge on new expertise of the
system. (Hazzan & Dubinsky, 2014).
The Process of ASD
Document Page
Running head: System Analysis and Design 7
When FFSL developers want to show specific parts of the project used by sessions of JAD (Joint
Application Development) the customers will be used to discuss the system of the project.
Processes of ASD help users and customers provide comment to the software, perform
appropriate procedure review and carry out postmortems. (Vogel & Giese, 2013).
Advantages of ASD
It facilitates discussion to ensure there is agreement with the plans made to develop the system.
From the discussions carried out, more ideas can be obtained from customers or anyone dealing
with project. Demonstrations are performed to ensure that the objective is met. It involves
iterative cycles that enhance good quality work. (Mirandola, Gorton & Hofmeister, 2009)
Disadvantages of ASD
It consists of many workers who can cause problems in the project planning and ideas conflict
among them. It is a time consuming methodology since it involves discussion till a common
point is agreed. (Eckstein, 2013)
Conclusion
Every methodology has its advantage and disadvantage. As such, it depends on the agreement of
the work team involved for the methodology that is appropriate to aid in meeting the goals and
objectives through the system to be developed. In developing the system time, planning and
suitable technique is of great importance.
Recommendation
If FFSL needs a quality system that involves all the stakeholders it will require to utilize scrum
methodology. This is because it helps everyone to be informed on the progress through the daily
meetings. This will help in the management of expectations. However, if FFSL needs a quick
system then the best methodology to use is the Extreme programming where it works on quick
responses.
Memorandum
To: Executive

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
Running head: System Analysis and Design 8
From: Alan Masters
Date: October, 11, 2017
Subject: Acceptance of the New System
I have noticed that over the time we have been using the software system currently in place, it
has been really taking time to navigate through the system. In essence we can say that the
software has a complicated user interface. For this reason, a new user interface will be developed
so as to aid and ease the interaction between you and the system. This will increase satisfaction
and efficiency and thus increase your satisfaction. To achieve this, we will need your input on
how you would want the interaction window to look like. It is important if it is you to state the
general outlook of the interface both for the customer interface and back end interface which will
be used by the review team. The interface will be aid the retail stores to easily navigate through
the system and fill in their details. Also the back end interface for that matter the admin interface
should be very simple to use when rating and either approving or rejecting a particular retail
store. We concentrate on developing the an HCI system that will not affect the functionality of
the software currently in place but rather to increase the efficiency of the software. (Rogers,
Preece & Sharp, 2015).
One of the approaches that will be used to attain a user friendly interface is by use of user-centric
design (UCD). This approach puts users’ requirements above any other aspects for instance
technical factors. The key distinguishing feature among the competing applications is the user
interface. Before implementing the user interface, we will continuously try to understand the
needed experience of the user in terms of competency ad tasks. Our area of more concertation is
the systematic user research, graphic design and interaction design. Continuous user testing will
also be carried out order to ensure that the development team is coming up with an accepted final
product. This enhances the development of an interface that meets the objectives in a manner that
user acceptance, learning ability and adoption is optimal. It is also important to note that, a
software without a good UI is expected to affect the company’s brand name. the priority of the
development team is to ensure that best HCI practices are used in order to develop a simple and
friendly interface. (MacKenzie, 2012).
Document Page
Running head: System Analysis and Design 9
When a software is out in the market, it is perceived not only as a product, but even as a brand. A
customized software with a less user friendly approach is bound to influence your brand name
directly. Hence, our priority is to make the UI as simple as possible using the best HCI practices
to meet this objective.
User acceptance is a very important aspect in this development. The theory of reasoned action
makes a definition of the relationships among attitudes, behaviors, beliefs, intentions ad norms
for instance rejection or acceptance of a particular technology is based on the outcome of an
intention which is influenced by attitudes and beliefs on the particular objective. Theory
acceptance model however concentrates on the reasons why a user accepts or rejects a system
and how to enhance their acceptance. This theory will help us understand the external factors that
affect user acceptance, the actual use of the system and their relation. This theory further asserts
that the user accepts or rejects a system based on how the system will increase his / her
performance at work. However, the user may understand how well the system will be of help but
its complexity ruins that intended purpose. Every little detail about how a user will interact the
system really matters because that’s what will lead to them accepting it or rejecting it. (Naik &
Tripathy, 2011).
The development team will therefore, consider all the user requirements during the development
of the user interface. It is through these requirements and other internal and external factors that
come with it. This system will be used by the main customers of the company, that is, the retail
stores and the review team to enhance their interaction online. A good interface can be achieved
by utilizing the user centric design which focuses on user opinions to improve satisfaction. The
theories above especially the theory of acceptance modelling clearly states that a system no
matter how good and sophisticated it is, but without a good interface then is doomed to fail.
Therefore, it is important to make sure that at every stage of development the users get involved.
This will result in producing an all-round accepted system, both by the customers and the
company stake holders
Document Page
Running head: System Analysis and Design 10
Event Table
Figure 1: Free Feet Socks Limited (FFSL) Event Table
FFSL Domain Model Class Diagram
Figure 2: Free Feet Socks Limited (FFSL) Domain Model Class Diagram

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
Running head: System Analysis and Design 11
FFSL Design Class Diagram for Customer and Sales
Figure 3: Free Feet Socks Limited (FFSL) Design Class Diagram for Customer and Sales
Use Case Description
The customer registers, then looks for an order, creates a new order, waits for approval, if
approved proceeds to finalized transactions, else decline
The admin reviews the order, approves or rejects, gives feedback to customer.
Document Page
Running head: System Analysis and Design 12
References
Jaško, O., & Marinković, S. (2016). Reshaping the Future Through Sustainable Business
Development and Entrepreneurship: Symposium proceedings. Belgrade: Faculty of
organizational sciences.
Hall, G. M. L. (2014). Adaptive Code Via C♯: Agile Coding with Design Patterns and Solid
Principles. Upper Saddle River: Microsoft Press [Imprint.
Satzinger, J. W., Jackson, R. B., & Burd, S. D. (2008). Systems analysis and design in a
changing world. Cambridge Mass: Course Technology.
Smith, G. (2016). Agile marketing: The incomplete guide. [Bristol] : Bunny Picnic
El, S. A. A. R., & Alnoukari, M. (2012). Business intelligence and agile methodologies for
knowledge-based organizations: Cross-disciplinary applications. Hershey, PA: Business
Science Reference.
Sutherland, J. (2016). Scrum - The Art of Doing Twice the Work in Half the Time: Book
summary.
Bennedsen, J., Caspersen, M. E., & Kölling, M. (2008). Reflections on the teaching of
programming: Methods and implementations. Berlin: Springer.
Moran, A. (2014). Agile risk management. Cham : Springer
Cantone, G., & Marchesi, M. (2014). Agile Processes in Software Engineering and Extreme
Programming [recurso electrónico]: 15th International Conference, Rome, Italy,
Proceedings.
Madeyski, L. (2010). Test-driven development: An empirical evaluation of agile practice.
Heidelberg: Springer-Verlag.
Moran, A. (2015). Managing Agile: Strategy, implementation, organisation and people. Cham :
Springer
Haag, S., & Cummings, M. (2008). Information systems essentials. Boston: McGraw-Hill/Irwin.
Document Page
Running head: System Analysis and Design 13
Vogel, T., & Giese, H. (2013). Model-driven engineering of adaptation engines for self-adaptive
software: Executable runtime megamodels. Potsdam: Univ.-Verl.
Mirandola, R., Gorton, I., & Hofmeister, C. (2009). Architectures for adaptive software systems:
5th International Conference on the Quality of Software Architectures, QOSA 2009, East
Stroudsburg, Pa, USA: proceedings. Berlin: Springer-Verlag.
Eckstein, J. (2013). Agile software development in the large: Diving into the deep. New York,
New York : Dorset House Publishing
Kaschek, R. H. (2008). Information systems and e-business technologies: 2nd International
United Information Systems Conference, UNISCON 2008, Klagenfurt, Austria, April 22-
25, 2008 : proceedings. Berlin: Springer
Cobb, C. G. (2015). The project manager's guide to mastering agile: Principles and practices
for an adaptive approach. Hoboken, New Jersey Wiley
Hazzan, O., & Dubinsky, Y. (2014). Agile anywhere: Essays on agile projects and beyond.
Cham : Springer
Lee, R. C. (2012) "The Success Factors of Running Scrum: A Qualitative Perspective," Journal
of Software Engineering and Applications, Vol. 5 No. 6, pp. 367-374.
doi: 10.4236/jsea.2012.56043.
Qasaimeh M. and Abran A. (2011) "Extending Extreme Programming User Stories to Meet ISO
9001 Formality Requirements," Journal of Software Engineering and Applications, Vol.
4 No. 11, pp. 626-638. doi: 10.4236/jsea.2011.411074.
Rogers, Y., Preece, J., & Sharp, H. (2015). Interaction design: Beyond human-computer
interaction. Chichester: Wiley.
MacKenzie, I. S. (2012). Human-computer interaction. Burlington: Elsevier Science.
Naik, S., & Tripathy, P. (2011). Software Testing and Quality Assurance: Theory and Practice.
New York, NY: John Wiley & Sons.
1 out of 13
circle_padding
hide_on_mobile
zoom_out_icon
[object Object]

Your All-in-One AI-Powered Toolkit for Academic Success.

Available 24*7 on WhatsApp / Email

[object Object]