Agile and Iterative Methodologies for Software Development: A Comprehensive Analysis

Verified

Added on  2024/06/04

|22
|5055
|413
AI Summary
This report provides a comprehensive analysis of agile and iterative methodologies for software development, exploring their principles, advantages, and disadvantages. It delves into popular methodologies like Scrum, Unified Process (UP), Extreme Programming (XP), and Adaptive Software Development (ASD), highlighting their key features and suitability for different project contexts. The report also examines the implications of User-Centered Design (UCD) and Human-Computer Interaction (HCI) principles on the development of a Customer Relationship Management (CRM) application for Australian Fashion Designs (AFD). It outlines a plan for integrating UCD and HCI principles into the CRM application design, emphasizing the importance of user feedback and iterative development. The report concludes with recommendations for AFD to adopt a hybrid approach combining Scrum and UP methodologies, ensuring flexibility and adaptability in their software development process.

Contribute Materials

Your contribution can guide someone’s learning journey. Share your documents today.
Document Page
ICT700 - SYSTEMS ANALYSIS - TASK 2

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
Table of Contents
Part A...........................................................................................................................................................3
Task 1: Report..........................................................................................................................................3
General Introduction to the agile and iterative methodologies..........................................................3
Scrum...................................................................................................................................................3
Unified Process (UP)............................................................................................................................4
Extreme Programming (XP).................................................................................................................6
Adaptive Software Development (ASD)...............................................................................................7
Recommendation................................................................................................................................8
Task 2: Memo........................................................................................................................................10
1. Description of UCD and HCI.......................................................................................................10
2. Implications of UCD principles on the CRM application.............................................................10
3. Plan for a UCD informed HCI for the CRM application...............................................................11
4. Recommendation......................................................................................................................11
Part B- Modeling and Diagramming..........................................................................................................13
Task 3: Events Table..............................................................................................................................13
Review the AFD case study and prepare an event table for the information system to support the
business processes................................................................................................................................13
Task 4: Domain Model Class Diagram....................................................................................................14
Review the AFD case study to prepare a domain model class diagram for the supporting
information system...............................................................................................................................14
Task 5: Design Class Diagram.................................................................................................................16
Prepare a Design class diagram for the Sales Representative and Order classes ONLY. These classes
should be part of the Domain model class diagram solution for the previous task...............................16
Task 6: Use Case Diagram......................................................................................................................18
Review the AFD case study and your event table solution from Task 3 to prepare a Use Case
diagram for the supporting information system....................................................................................18
Task 7: Use Case Description (intermediate).........................................................................................20
1
Document Page
Prepare a Use Case intermediate description for the 'Takes Order' use case, as documented in the
event table solution and the use case diagram solution.......................................................................20
Flow of activities for scenario of Takes order in AFD information system.........................................20
References.................................................................................................................................................22
Table of Figures
Figure 1 Scrum Methodology......................................................................................................................4
Figure 2 UP lifecycle phases........................................................................................................................5
Figure 3 XP Lifecycle....................................................................................................................................6
Figure 4 ASD lifecycle phases.......................................................................................................................8
Figure 5 Domain model class diagram.......................................................................................................14
Figure 6 Class Diagram for Sales Representative and Order classes..........................................................16
Figure 7 Use case diagram for information system of Australian Fashion Designs....................................18
2
Document Page
Part A
Task 1: Report
General Introduction to the agile and iterative methodologies
Agile and iterative development has been bought into existence over traditional methodologies to
get new ways of software development which are flexible, lightweight, and efficient and team-
oriented. After the discussion over introducing agile methodologies, better ways have been
uncovered with four basic principles of agile which includes- Interactions and individuals will be
given priority over development tools and process, the working software that is created is prioritized
over the complete documentation of the software, collaboration with customer is chosen over
negotiation of contract, and responding to real-time changes are chosen over sticking to a particular
plan. The iterative approach has been used in programming this software. The iterative development
means the whole lifespan of software development is composed of iterative processes in sequence.
Iteration will perform the complete process of analysis, designing, programming, and testing. The
result of iteration will be a subset of final product and the combined product iteration will be a
partially completed product (Larman, 2004).
The different agile methodologies used for software development are:
Scrum
Scrum has been designed by Ken Schwaber and Mike Beedle in 1990s with a perspective that
changes exist throughout the lifecycle of a software development process and it attempts to manage
and solve the problems caused by these changes. It is an agile and incremental development process
that adds focus, clarity in each iteration process and work in close observation to increase the speed
of development process and evolution of the software system. Work has been classifying into cycles
called sprints, which focuses on the development of software as per customer requirements and at
the end of each sprint, a potential product is developed that is ready to be shipped. Scrum iteration
takes two to four weeks duration and it can complete a useable product with its complete
functionality demonstration within 30 days on average. It can be implemented at the start of the
project, in middle, or when a project has encountered a risk or trouble (Cobb, 2015).
3

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
Figure 1 Scrum Methodology
Advantages
Simple to use and manage work products.
Openness and flexibility.
Customer involvement and steering.
Team communication and working together builds strong team values.
Can be easily combined with other working methods.
Focus.
Disadvantages
Require daily update on Sprint Backlog by either trackers or members.
Can’t change the requirements of iteration as stability is required for constant changes.
Bad documentation can result in bad designing of the system and eventually, a bad product
will be delivered (Cobb, 2015).
Unified Process (UP)
The Unified Process follows an object-oriented approach for software development. It has been
designed to incorporate six practices that a system should have which includes iterative
development, defining and managing system requirements, using component architecture for
overall development, visual models have been created for simplifying the development process,
quality verification is done, and damage and change control system is enabled to handle such issues.
The UP modeling constitutes four phases- inception phase in which a feasible study of requirements
is done to decide whether the project is worth to invest in or not, elaboration phase consists of
requirement analysis of one sub module and then designing its development and implementation
4
Document Page
strategies by designing use case, class, and other UML diagrams, Construction phase in which the
actual implementation of the software starts with the iterative approach including testing of each
module and resulting in multiple releases of the system, transition phase when system is delivered
to end user (Satzinger, Jackson, Burd, 2011).
Figure 2 UP lifecycle phases
Advantages
Can be customized easily.
Guidelines have been offered in many disciplines from requirement analysis to configuration
management.
Focuses on risk and value-based priorities.
Can be used on small scale and large scale projects.
Emphasis on building an early cohesive architecture.
Learning resources are available as a widely adopted methodology.
Disadvantages
Iteration process can be too long and can last up to several months.
Iteration period is increased when deadline not met which makes iteration out of time.
5
Document Page
The development case of the system is too complex to handle.
Uses lots of planning and designing UML diagrams (Cobb, 2015).
Extreme Programming (XP)
One of the most common and well-known methodologies used for agile development is Extreme
programming. It focuses on early system creation and collaboration along with skillful practices for
development. The four basic underlying principle of this methodology are communication, feedback
process, simplicity in the process, and courage. Apart from these four main principles, there are 12
other core practices that have been defined in this methodology to fight against any changing
environment and technology. The approach used in XP is to release smaller subsystem with various
functionality test code before actually writing specific code for each functionality or feature. This
methodology strongly recommends knowledge sharing among customers and developers just like
RAD approach. It is very distinctive and doesn’t require detailed work products. Extreme has been
used to imply that this methodology provides many good things in a software system like good
testing, coding, iteration and integration processing and communication with customers and team
members (Larman, 2004).
Figure 3 XP Lifecycle
Advantages
Communication emphasis among all stakeholders.
Quality emphasis by using high impact practices such as continuous integration, test-first
development.
Regular and detailed review of what has done.
Customer acceptance done is performed to clarify what system is acceptable.
6

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
Disadvantages
It is just a combination of iterative development with minimum documentation and unit
testing process.
Applying uncompensated subset practices before completing the whole of XP will result into
an error. Hence no customization can be added in the middle of the process.
No standard way of defining the document structure.
Adaptive Software Development (ASD)
Adaptive Software Development (ASD) has been grown out of RAD (Rapid application development)
that embodies the solutions for problems in designing large and complex system. It emphasizes on
constant prototyping along with iterative and incremental development. This process has been
carried out in three-phase – speculate, collaborate and learn. Speculation is used in place of planning
because planning views uncertainty as a weakness and any kind of change or deviation will result in
failure. Collaboration emphasizes the power of communication and teamwork for the development
of any complex system. Learn focuses on the need to acquire knowledge and learn from mistakes to
respond to problems in future. ASD is not task oriented but component oriented methodology and
each component has its own sets of processes with a predefined timeline. It focuses on the end
result and quality of generated product instead of the undergoing tasks and processes
(Abrahamsson, Salo, Ronkainen, et.al, 2017).
Figure 4 ASD lifecycle phases
Advantages
It does not imply the use of co-located teams.
ASD offers inter-team collaboration technique for sharing of information, strategies over
social, cultural and skill boundaries.
7
Document Page
Disadvantages
Building a complex system will require extensive knowledge and hence, a team of experts on
the subject will be required.
It features to build an adaptive culture in the organization instead of focusing on the
specifics, which makes it less popular to use in organizations as other methods need to be
used along with it for the development of a system.
Recommendation
The agile and iterative systems development is more widely used in industry from last two decades
because of its more flexibility and openness achieved in the system. The different methodologies
used to execute agile development have been discussed here. Now if we consider the case of
Australian Fashion Designs (AFD), their business needs to incorporate sales and customer
relationship management system. The current computer usage of the brand is negligible, hence they
need a system at their basic level which can be customized and enhanced later. The product
requirements are simple and can be achieved using Scrum methodology as it is simple to implement
at the starting stage of a system. As scrum is the customer oriented approach, it will be helpful in
designing Customer relations management system. Once the basic system is implemented and
delivered to them and they require any enhancement in the system or wanted to add other features
to the system or prepare any other system for salary management then the Unified process model
can be used as it provides better facilities in customization and responds efficiently to changing
requirements. The basic requirements of AFD, for now, are to create a CRM application, a review
application for the stores that become its customer and their management, and a monthly sales
report. Scrum model will be effective in designing the system as in its first phase the developers will
contact the AFD stakeholders to discuss their requirements and what changes they want in it, then
they can present a prototype to them depicting the functionalities of the final product. The whole
process will be steered by AFD employers and they can ask to change anything that doesn’t fit their
requirement during the development process only so that they can get desired product at the time
of delivery.
8
Document Page
Task 2: Memo
From:
To: AFD Management Team
CC: Australian Fashion Designs
Subject: Adopting a plan with the principle of UCD and HCI.
1. Description of UCD and HCI
User-centered design is a designing process based on an iterative approach that interacts
with the user in each phase to focus on their needs while designing the system. UCD involves
users throughout their designing process to include a variety of designing techniques
suitable to users for high usability and accessibility of products. UCD requires that the
system designer needs to include investigative and generative approach and tools to get
most of the user needs. It is regarded as a multi-stage platform that not only envisions user
needs but also validates their needs by putting the system to test in the real world.
Human-Computer Interaction is a research field that deals with the communication and
interaction between humans and computer technologies. The theories used in HCI aims to
understand the various ways in which humans try to communicate with computer systems
and design new ways to create interactive user computer interfaces for improving usability
and user experience. HCI incorporates many other disciplinary fields such as psychology,
computer science, sociology, behavioral science and communication to get the best output
for human-computer interaction. This way the developers designing a system can relate to
what the end user needs and can design a system that suits all the end users.
2. Implications of UCD principles on the CRM application
For designing a customer relationship management system, user-centered design approach
will be befitting the most. The UCD framework is based on six main principles that need to
be implemented in the CRM system to the server for individual techniques. Firstly, the
business target is determined and the characteristics of these customers are identified to
reach out to a solution that maximum of them can use efficiently. Later the target audience
needs to be contacted o understand their requirements and needs. This is the main driving
force of a UCD framework. The third principle is to design a total customer experience that
includes everything a customer needs to see and hear. The whole system is designed in a
way that the customer actually wants. Then the system design is evaluated by getting
9

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
frequent feedback from the targeted audience. The fifth principle deals with the market
competitiveness and focuses on giving a unique experience to their customers. The design
that they are implementing needs to be unique to stand out in the market. A thorough
examination of other competitor’s products will help in evaluating one’s own design. The
last principle that UCD follows is how to manage users. This principle is most important as it
manages users and their feedbacks that are an integral part of the designing process. If this
process is not implemented properly, then the design will not be integrated into the system
and the user will not be able to use the design it was expected.
3. Plan for a UCD informed HCI for the CRM application
The implementation of the Customer relationship management system with the help of UCD
approach involving the HCI principles will help in attaining the best results for the system.
Human-computer interaction will help in an effective communication between the computer
system and the users. Thus the implementation of UCD principles with HCI will ease out the
designing process for the developers. The combined use of both these technologies will
result in a fully operational and user-friendly system. Interactivity is the main concept in
designing the user interface and communicating online. Hence various interactive features
are included in a system where the user can interact with the computer system. The HCI
deals with the psychology and behavioral science of humans that helps the developers in
gaining the knowledge of what kind of product with what features the user wants. This will
help in providing a customized interface for each user as per their needs and requirements
by implementing a single system. Different psychological theories are proposed for achieving
different interactivity and this can be gained by receiving responses from a large number of
users. Hence customer feedback is always important to a brand as it helps in improving their
services and managing users (Matharu, 2015).
4. Recommendation
As we have discussed the principles of User-centered design and human-computer
interaction, it is clear that the use of these two approaches in a project will gain higher
outputs that will be beneficial to any organization. I will recommend the combined use of
both these approaches as Australian Fashion Designs is new to computer technology and
they don’t have strong reliance in a computer system, hence they will be least aware of what
a user likes over the internet. That is why it is important for them to introduce HCI in their
system along with UCD which will help their customers as well as their employees to be well
versed with the system and can be able to interact with it in a more efficient way. This way,
10
Document Page
chances of misleading and misusage of a system is least. This will also help them in
developing a system that can easily manage their sales record and the customers’ records
such as their basic information along with their orders. It will also provide AFD an
opportunity to review the customer application without any difficulty. Hence the use of
these approaches will enhance their system functionality (Meena, 2015).
11
Document Page
Part B- Modeling and Diagramming
Task 3: Events Table
Review the AFD case study and prepare an event table for the information system to support
the business processes
Table 1: Events table
Event Event Type Trigger Source Activity/Use
Case
System
Response/
Output
Destination
Request by
the store to
become a
member of
AFD
Request
approval
The store
fills the
application
form
Salesman Confirmation
Request
Application
Approved
Store
Customer
raises order
Order
placement
The agency
initiating
the order
Custome
r need
Order
placement
The order is
confirmed
The agency
will receive
the order
Salesman
visited the
store
Sales visit The
salesman
visits the
store
Salesman
need
Salesman
informs about
AFD brand
Store entry
made in the
system
Store either
confirms to
become a
customer or
refuses it
Sales report Monthly
report
Month-end AFD
stores
Sales record Entry of sales
amount per
sale area and
per salesman
Sales record
established
12

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
Task 4: Domain Model Class Diagram
Review the AFD case study to prepare a domain model class diagram for the supporting
information system.
Figure 5 Domain model class diagram
Table 2: Domain model class diagram description
Components Description
Customer Class for current customers
Name Name of the customer as enrolled in the application form
Address Store address of retail store customer or delivery address for wedding
individual as enrolled in the application form
Telephone Telephone number or another contact number of the customer as enrolled
in the application form
Email Email address of the customer as enrolled in the application form
Sales area The sales area in which the store is located or the wedding customer
resides
Application date The date when the application to become a customer is submitted
Date last visited The date on which the salesman last visited the store
13
Document Page
Discount level The discount provided to the customer based on the number of items
ordered and the convenience of sales area
customerId The unique Id given to each customer once enrolled in the system
Retail Store The retail store that is the customer of AFD
Australian Business
Number
The Australian business number of that store as given in the application
form
Wedding Individual The individual customer ordering for weddings
Discount level The fixed discount rate for wedding orders
Sales Representative The salesman allocated to a particular area
Name Name of the salesman
Telephone Telephone number or another contact number of the salesman
Email Email address of the salesman
Sales area The sales are that he has been allocated to
Sales type What kind of sales he makes- retail store or wedding individuals
Date joined The date when he started working for AFD
Sales till date The total amount of sales he made till current date
salesman The unique Id gave to the salesman
Order The order that has been given to the AFD office
ordered The unique Id gave to an order
orderDate The date on which the order is initiated
border area The sales area from which the order has been requested and where it has
to be delivered
customerId The id of the customer to whom the order has to be delivered
salesman The Id of the salesman who initiated the order from that sales are
Sales Report The monthly sales report created in the record
reported The Id of the monthly report
monthName Entry of the month name for which the report is generated
sales in amount The total amount of sales in that month
sales per sales area The total amount of sales per sales area calculated for all sales area
sales per salesman The total amount of sales per salesman calculated for all salesman
14
Document Page
Task 5: Design Class Diagram
Prepare a Design class diagram for the Sales Representative and Order classes
ONLY. These classes should be part of the Domain model class diagram solution for
the previous task.
Figure 6 Class Diagram for Sales Representative and Order classes
Table 3: UseCase Diagram Description
Components Description
Sales Representative The salesman allocated to a particular area
Name Name of the salesman
Telephone Telephone number or another contact number of the salesman
Email Email address of the salesman
Sales area The sales are that he has been allocated to
Sales type What kind of sales he makes- retail store or wedding individuals
What kind of sales he makes- retail store or wedding individuals
Date joined The date when he started working for AFD
Sales till date The total amount of sales he made till current date
salesman The unique Id gave to the salesman
15

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
Wedding salesman Salesman allocated for a wedding, one salesman can be allocated to more
than one sales area
Sales type What kind of sales he makes- retail store or wedding individuals
Store salesman Salesman allocated for retail stores, more than one salesman can be
allocated to one sales area
Sales type What kind of sales he makes- retail store or wedding individuals
Order The order that has been given to the AFD office
ordered The unique Id gave to an order
orderDate The date on which the order is initiated
orderArea The sales area from which the order has been requested and where it has
to be delivered
customerId Id of the customer to whom the order has to be delivered
salesmanId The Id of the salesman who initiated the order from that salesarea
Delivered The order has been delivered or not
Order Item The list of the item contained in an order
number of items The number of total items in the order
list of items The list of items in the order
items price Price of items in the list
check Availability of
Stock()
Function to check the availability of items in the stock
Sales area The city is divided into the various sales area
sales area Id Unique Id of each sales area
salesman allocated Salesman who is allocated to each sales area
salesmanId Unique Id of salesman allocated to the sales area
16
Document Page
Task 6: Use Case Diagram
Review the AFD case study and your event table solution from Task 3 to prepare a
Use Case diagram for the supporting information system.
Figure 7 Use case diagram for the information system of Australian Fashion Designs
Table 4: UseCase Diagram Description
Components Description
Store visit The salesman visits the store
Entry of the store The entry of store visit is made in the system
Fill application form Stores fill an application form to become AFD’s customer
Approve or
disapprove store
The system reviews the application and on the basis of this review, decides
whether to approve or disapprove the store
Places order The customer store will place an order
Checks Stock The AFD will check the availability of stocks that have been ordered
Approves order If the stock is available the order is approved
17
Document Page
Delivers order The order is being delivered to the store
Order Received The store receives the order.
18

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
Task 7: Use Case Description (intermediate)
Prepare a Use Case intermediate description for the 'Takes Order' use case, as
documented in the event table solution and the use case diagram solution.
Table 5: Use Case intermediate description for takes order scenario
Data entity/ class CRUD Resulting use case
Customer Store Create The application form is filled
The application form is
approved
A new customer is added
Read/Report View the store data
View order list
Places new orders
Update Update store information
Delete Delete inactive store
AFD store Create Create new retail store as a
customer
Read/ Report View orders list
View customers list
View sales report
View available stocks
Update Update available stock list after
completing an order
Update store information
Update orders list
Update sales report
Delete Delete inactive stores
Delete unavailable stocks
The flow of activities for the scenario of Takes order in AFD information system
Main flow:
1) Retail store customer and wedding customer calls salesman to order new stocks.
2) If it is a new retail store customer then, he will fill a form and become a member of the AFD
brand.
3) Salesman gives the order report in the AFD store.
4) The clerk will initiate the process of order placement.
5) The clerk checks the items that are listed in the order to be available in the stock.
6) Clerk finalizes order when all the items listed in order list are available in the stock.
7) The stock is released for delivery as per delivery date.
19
Document Page
8) The system is updated with the new available stock.
9) The system is updated with the sales report, amount of sales per sales area and per
salesman.
Exception Condition:
1) If an item that is listed in the order list is not available in the stock then
a) Item can be removed from the list
b) The item can be added for future delivery when it is available
2) If wedding customer is in a sales area to which salesman is not allocated
a) The customer can be allotted a salesman
b) The customer can contact the store directly (Abrahamsson, 2017).
20
Document Page
References
Larman, C., 2004. Agile and iterative development: a manager's guide. Addison-Wesley
Professional.
Satzinger, J.W., Jackson, R.B. and Burd, S.D., 2011. Systems analysis and design in a changing
world. Cengage Learning.
Abrahamsson, P., Salo, O., Ronkainen, J. and Warsta, J., 2017. Agile software development
methods: Review and analysis. arXiv preprint arXiv:1709.08439.
Cobb, C.G., 2015. The project manager's guide to mastering Agile: Principles and practices
for an adaptive approach. John Wiley & Sons.
Matharu, G.S., Mishra, A., Singh, H., and Upadhyay, P., 2015. An empirical study of agile
software development methodologies: A comparative analysis. ACM SIGSOFT Software
Engineering Notes, 40(1), pp.1-6.
Rodriguez, M.J.G., Montequin, V.R., Baisera, J.M.V. and Suarez, R., 2017. Comparing Agile
and Traditional Methodologies of Project Management for Software Engineering. Scientific
Publications/University of Economics in Katowice, pp.64-75.
Power, J., 2017. User Centred Design.
COlEmaN, R., ClaRkSON, J.O.H.N. and Cassim, J., 2016. Design for inclusivity: A practical
guide to accessible, innovative and user-centred design. CRC Press.
Salah, D., Paige, R.F. and Cairns, P., 2014, May. A systematic literature review for agile
development processes and user-centered design integration. In Proceedings of the 18th
international conference on evaluation and assessment in software engineering (p. 5). ACM.
Meena, K. and Sivakumar, R., 2014. Human-Computer Interaction. PHI Learning Pvt. Ltd.
Waddell, T.F., Zhang, B. and Sundar, S.S., 2016. Human-Computer Interaction. The
International Encyclopedia of Interpersonal Communication.
Karim, S., Liawatimena, S., Trisetyarso, A., Abbas, B.S. and Suparta, W., 2017, November.
Automating functional and structural software size measurement based on XML structure of
UML sequence diagram. In Cybernetics and Computational Intelligence (CyberneticsCom),
2017 IEEE International Conference on (pp. 24-28). IEEE.
Attias, R., Cisco Technology Inc, 2017. System and method for dynamic domain-specific
sequence diagram visualization. U.S. Patent Application 14/796,289.
Dennis, A., Wixom, B.H. and Tegarden, D., 2015. Systems analysis and design: An object-
oriented approach with UML. John Wiley & Sons.
21
1 out of 22
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]