Agile and Iterative systems development
VerifiedAdded on 2023/06/11
|13
|2483
|364
AI Summary
This article discusses Agile and Iterative systems development, its methodologies, advantages, and disadvantages. It covers Feature Driven Development (FDD), Dynamic systems development method (DSDM), Extreme Programming (XP), and Scrum. The article also recommends Scrum for the development of a system for AFD. Desklib provides study material with solved assignments, essays, dissertations, etc. for various subjects, courses, and universities.
Contribute Materials
Your contribution can guide someone’s learning journey. Share your
documents today.
Agile Software Dev Methodologies
<Name>
<Institution>
Question 1: Agile and Iterative systems development
<Name>
<Institution>
Question 1: Agile and Iterative systems development
Secure Best Marks with AI Grader
Need help grading? Try our AI Grader for instant feedback on your assignments.
1.0 Introduction and Background
Agile and Iterative systems development is a method of managing software projects which
accommodates unplanned changes to the project’s requirements. The methods are highly
interactive, iterative and flexible in gathering the requirements of the system to be developed
(Moran, 2015). Agile methodologies are championed by the agile movement which sets
guidelines on basic requirements and characteristics of an agile methodology; defined in the
twelve principles outlined in the Agile Manifesto (Beck et Al, 2013). Currently, there are a
number of agile methodologies that are commonly used globally, they include; Feature Driven
Development (FDD), Dynamic systems development method (DSDM), Extreme Programming
(XP) and Scrum (Moran, 2015). All the methodologies under the agile umbrella have some
common characteristics such as the encouraging participation of all stakeholders at every phase
of the project, use of objective metrics, accommodation of feedbacks and establishment of
effective control over the project (Moran, 2015). The methods are also characterized by
interactive and incremental development. With this approach, the requirements of a given project
evolves systematically as the project takes shape, through the cooperation between self-
organizing, cross-functional teams (Beck et Al, 2013).
With Agile methodologies, evolutionary development is used, supported by a time-boxed
iterative approach and an adaptive planning; which encourages rapid and flexible adoption of
changes to the project. Interaction between project stakeholders and the requirements helps to
shape the project’s life cycle. Agile Manifesto puts more priority to a customer’s satisfaction,
effective communication, cooperation between stakeholders, iterative development and
flexibility in the development process among others.
A project managed using an Agile methodology has three main stakeholders; the project team,
the owner and the agile project manager (Moran, 2015). The project owner has overall oversight
over the business aspects of the project; this includes assessment of the product being developed
to ensure that it meets the business needs and making decisions on aspects related to the product.
On the other hand, the organization and management of the project team is the prerogative of the
project manager. The manager is tasked with the duty of optimizing the productivity of the team
and deal with issues that may affect the delivery of the project. The role of the project team is to
built the actual deliverables of the project (Moran, 2015).
Agile and Iterative systems development is a method of managing software projects which
accommodates unplanned changes to the project’s requirements. The methods are highly
interactive, iterative and flexible in gathering the requirements of the system to be developed
(Moran, 2015). Agile methodologies are championed by the agile movement which sets
guidelines on basic requirements and characteristics of an agile methodology; defined in the
twelve principles outlined in the Agile Manifesto (Beck et Al, 2013). Currently, there are a
number of agile methodologies that are commonly used globally, they include; Feature Driven
Development (FDD), Dynamic systems development method (DSDM), Extreme Programming
(XP) and Scrum (Moran, 2015). All the methodologies under the agile umbrella have some
common characteristics such as the encouraging participation of all stakeholders at every phase
of the project, use of objective metrics, accommodation of feedbacks and establishment of
effective control over the project (Moran, 2015). The methods are also characterized by
interactive and incremental development. With this approach, the requirements of a given project
evolves systematically as the project takes shape, through the cooperation between self-
organizing, cross-functional teams (Beck et Al, 2013).
With Agile methodologies, evolutionary development is used, supported by a time-boxed
iterative approach and an adaptive planning; which encourages rapid and flexible adoption of
changes to the project. Interaction between project stakeholders and the requirements helps to
shape the project’s life cycle. Agile Manifesto puts more priority to a customer’s satisfaction,
effective communication, cooperation between stakeholders, iterative development and
flexibility in the development process among others.
A project managed using an Agile methodology has three main stakeholders; the project team,
the owner and the agile project manager (Moran, 2015). The project owner has overall oversight
over the business aspects of the project; this includes assessment of the product being developed
to ensure that it meets the business needs and making decisions on aspects related to the product.
On the other hand, the organization and management of the project team is the prerogative of the
project manager. The manager is tasked with the duty of optimizing the productivity of the team
and deal with issues that may affect the delivery of the project. The role of the project team is to
built the actual deliverables of the project (Moran, 2015).
As stated earlier, under the Agile umbrella are numerous variations of agile methodologies. In
this section we discuss 4 of the methodologies; Feature Driven Development (FDD), Dynamic
systems development method (DSDM), Extreme Programming (XP) and Scrum.
1.2 Extreme Programming (XP)
Extreme Programming falls under the agile development methodologies. XP has all the
characteristics of a convectional agile methodology; such as accommodation of evolving
requirements, incremental and iterative approach to development and a continuous cycle of testing
and revising (Kniberg, 2015). XP is best applied to project with unclear requirements at the start
(Rumpe & Schröder, 2014).
1.2.1 Advantages of Extreme Programming
With XP, a project can experience time and cost savings through elimination of
unproductive activities that are common in convectional software development
methodologies; this leaves the team to only focus on developing the desired product
(Rumpe & Schröder, 2014).
XP adopts simplicity and continuous feedbacks, resulting in a product that is simple and
easy to maintain. Continuous feedbacks from sprints enables the project team to remain
on course to the desired goal.
The team spirit brought through collaboration ensures stakeholders focus and work as a
team, to deliver quality products.
1.2.2 Disadvantages of Extreme Programming
XP puts more emphasis on coding at the expense of designing a good software (Kniberg,
2015).
Software is not adequately documented.
The approach requires developers to work in pair, causing redundancy and code
duplication.
Since planning is not given sufficient time, quality controls may not be adequate.
1.3 Feature-driven development (FDD)
A second agile methodology is Feature-driven development. FDD borrows techniques from a
number of development best practices to create a new approach. FDD focuses on the features of
a system that core to a customer (Firdaus, Ghani, & Jeong, 2014). As such FDD is considered a
this section we discuss 4 of the methodologies; Feature Driven Development (FDD), Dynamic
systems development method (DSDM), Extreme Programming (XP) and Scrum.
1.2 Extreme Programming (XP)
Extreme Programming falls under the agile development methodologies. XP has all the
characteristics of a convectional agile methodology; such as accommodation of evolving
requirements, incremental and iterative approach to development and a continuous cycle of testing
and revising (Kniberg, 2015). XP is best applied to project with unclear requirements at the start
(Rumpe & Schröder, 2014).
1.2.1 Advantages of Extreme Programming
With XP, a project can experience time and cost savings through elimination of
unproductive activities that are common in convectional software development
methodologies; this leaves the team to only focus on developing the desired product
(Rumpe & Schröder, 2014).
XP adopts simplicity and continuous feedbacks, resulting in a product that is simple and
easy to maintain. Continuous feedbacks from sprints enables the project team to remain
on course to the desired goal.
The team spirit brought through collaboration ensures stakeholders focus and work as a
team, to deliver quality products.
1.2.2 Disadvantages of Extreme Programming
XP puts more emphasis on coding at the expense of designing a good software (Kniberg,
2015).
Software is not adequately documented.
The approach requires developers to work in pair, causing redundancy and code
duplication.
Since planning is not given sufficient time, quality controls may not be adequate.
1.3 Feature-driven development (FDD)
A second agile methodology is Feature-driven development. FDD borrows techniques from a
number of development best practices to create a new approach. FDD focuses on the features of
a system that core to a customer (Firdaus, Ghani, & Jeong, 2014). As such FDD is considered a
pragmatic client and architecture-centric approach (Firdaus, Ghani, & Jeong, 2014). The
approach has a number of core processes, which includes;
Model Development; an object model is developed to model the problem.
Features List: the project team identifies core features of the system and develops a
features list.
Planning by features: a work plan is developed which creates a schedule, resource plan
and risk management (Firdaus, Ghani, & Jeong, 2014).
Design by features: the chief programmer selects the main features and develops the
domain classes.
Building by features; the final step is implementing the design to build the features.
1.3.1 Advantages of Feature Driven Development
FDD is product focused; focusing on main features required by the client, thus it leads to
quality software that meets the client’s needs (Firdaus, Ghani, & Jeong, 2014).
1.3.2 Disadvantage of Feature Driven Development
One disadvantage is that the product may not be in line with market demand, as the
approach does not carry feasibility studies (Firdaus, Ghani, & Jeong, 2014).
1.4 Scrum
The third agile method is Scrum, which is primarily designed for managing smaller projects.
With Scrum a customer puts forward requirements of the software to be developed. The key
stakeholders include the project Team, Scrum Master and the Product Owner.
The requirements are ordered according to their priority and the list is called a “Product
Backlog”.
The project team is divided into smaller teams; all the teams are managed by a Scrum
Master who keeps the project team focused on attaining the goal.
The deliverables are divided into sprints and assigned to different teams; each team
works on a given deliverable from the product backlog.
At the end of each sprint, the outputs of the sprint are sent to the customer, followed by a
review of the print by the project team, before the next sprint starts.
1.4.1 SCRUM advantages
The project deliverables are clear and it is easy to measure the progress of the project
with coverage of the products backlog.
Short sprints make it possible for the project to deal with changes.
approach has a number of core processes, which includes;
Model Development; an object model is developed to model the problem.
Features List: the project team identifies core features of the system and develops a
features list.
Planning by features: a work plan is developed which creates a schedule, resource plan
and risk management (Firdaus, Ghani, & Jeong, 2014).
Design by features: the chief programmer selects the main features and develops the
domain classes.
Building by features; the final step is implementing the design to build the features.
1.3.1 Advantages of Feature Driven Development
FDD is product focused; focusing on main features required by the client, thus it leads to
quality software that meets the client’s needs (Firdaus, Ghani, & Jeong, 2014).
1.3.2 Disadvantage of Feature Driven Development
One disadvantage is that the product may not be in line with market demand, as the
approach does not carry feasibility studies (Firdaus, Ghani, & Jeong, 2014).
1.4 Scrum
The third agile method is Scrum, which is primarily designed for managing smaller projects.
With Scrum a customer puts forward requirements of the software to be developed. The key
stakeholders include the project Team, Scrum Master and the Product Owner.
The requirements are ordered according to their priority and the list is called a “Product
Backlog”.
The project team is divided into smaller teams; all the teams are managed by a Scrum
Master who keeps the project team focused on attaining the goal.
The deliverables are divided into sprints and assigned to different teams; each team
works on a given deliverable from the product backlog.
At the end of each sprint, the outputs of the sprint are sent to the customer, followed by a
review of the print by the project team, before the next sprint starts.
1.4.1 SCRUM advantages
The project deliverables are clear and it is easy to measure the progress of the project
with coverage of the products backlog.
Short sprints make it possible for the project to deal with changes.
Secure Best Marks with AI Grader
Need help grading? Try our AI Grader for instant feedback on your assignments.
1.4.2 Disadvantages of Agile SCRUM
May lead to scope creeps
Requires the team to be very cohesive and experienced
1.5 Dynamic systems development method (DSDM)
The fourth agile methodology is DSDM. The method embraces all the agile principles.
Additionally, DSDM creates a cost, a schedule and quality baseline at the start of the project.
The scope of the project is prioritized using the MoSCoW prioritization into musts, should and
could and won’t.
1.5.1 Advantages
Deliverables from the development are clear and promptly visible.
Users are involved in the development phases, ensuring that they embrace the product.
The project is completed within budget and schedule.
Users have a say on the project and can affect the direction of the project.
1.5.2 Disadvantages
Adoption of the method requires a shift in the organizational culture.
1.6 Recommendations
For the development of the system for AFD, an agile methodology would be ideal for the
development of the software. This is partly due to the fact that the requirements for the system
may change as the project progresses. The specific methodology recommended is Scrum
approach. With scrum, AFD will list the most critical features of the system, which will then be
implemented first and other features implemented progressively.
May lead to scope creeps
Requires the team to be very cohesive and experienced
1.5 Dynamic systems development method (DSDM)
The fourth agile methodology is DSDM. The method embraces all the agile principles.
Additionally, DSDM creates a cost, a schedule and quality baseline at the start of the project.
The scope of the project is prioritized using the MoSCoW prioritization into musts, should and
could and won’t.
1.5.1 Advantages
Deliverables from the development are clear and promptly visible.
Users are involved in the development phases, ensuring that they embrace the product.
The project is completed within budget and schedule.
Users have a say on the project and can affect the direction of the project.
1.5.2 Disadvantages
Adoption of the method requires a shift in the organizational culture.
1.6 Recommendations
For the development of the system for AFD, an agile methodology would be ideal for the
development of the software. This is partly due to the fact that the requirements for the system
may change as the project progresses. The specific methodology recommended is Scrum
approach. With scrum, AFD will list the most critical features of the system, which will then be
implemented first and other features implemented progressively.
Task 2: Memo
Memo on Plan for the development of the Human Computer Interaction (HCI)
To: AFD Employees
From:
Date:
Subject: Plan for the development of the Human Computer Interaction (HCI)
With the ongoing development of a new system at AFD, the management is striving to better
how the AFD community interacts with computers. For that reason, a User Centered Design
approach will be used in the development of the proposed system. The goal is to first identify
what needs to be done to improve the usability, learnability and efficiency of the proposed
system to the end users. For that reason, Human Computer Interaction (HCI) principles will be
used, based on a User Centered Design.
Facts About User Centered Design
This is an iterative design approach where a system is designed with a focus on the needs of the
users. As such, the design involves the engagement of the user at every phase of the design;
resulting in a highly accessible and usable system. Although the design approach involves many
other professionals, the user is the center stage and the main focus in designing the system.
Facts about HCI
Human–computer interaction (HCI) is an engineering and psychology domain that aims to
research and design computer systems that enhances the interaction between the user and the
machine. End User Computing Satisfaction is a key component of HCI. The domain borrows
widely from other fields, particularly from psychology, programming and computer graphics.
Implications of UCD principles on CRM
Where systems have been developed without user’s needs being taken into consideration, the
systems have failed, as user acceptance lacks. Use of UCD principles comes to eliminate this
problem, by ensuring users are consulted at every phase of the design and development. The
Memo on Plan for the development of the Human Computer Interaction (HCI)
To: AFD Employees
From:
Date:
Subject: Plan for the development of the Human Computer Interaction (HCI)
With the ongoing development of a new system at AFD, the management is striving to better
how the AFD community interacts with computers. For that reason, a User Centered Design
approach will be used in the development of the proposed system. The goal is to first identify
what needs to be done to improve the usability, learnability and efficiency of the proposed
system to the end users. For that reason, Human Computer Interaction (HCI) principles will be
used, based on a User Centered Design.
Facts About User Centered Design
This is an iterative design approach where a system is designed with a focus on the needs of the
users. As such, the design involves the engagement of the user at every phase of the design;
resulting in a highly accessible and usable system. Although the design approach involves many
other professionals, the user is the center stage and the main focus in designing the system.
Facts about HCI
Human–computer interaction (HCI) is an engineering and psychology domain that aims to
research and design computer systems that enhances the interaction between the user and the
machine. End User Computing Satisfaction is a key component of HCI. The domain borrows
widely from other fields, particularly from psychology, programming and computer graphics.
Implications of UCD principles on CRM
Where systems have been developed without user’s needs being taken into consideration, the
systems have failed, as user acceptance lacks. Use of UCD principles comes to eliminate this
problem, by ensuring users are consulted at every phase of the design and development. The
approach will ensure that all user needs are factored into the design, and that the resulting system
will serve the needs of the end users.
Implementation Plan for UCD informed HCI
To ensure HCI is implemented through UCD, the following steps will be followed;
Review current processes
Establish needs of the end users
Prototype the design informed by the requirements
Get feedback on the prototypes from end users
Improve the design.
Recommendation
We recommend the application of the Technology Acceptance model (TAM) in setting the plan
for the implementation of UCD informed HCI at the organization. In particular, the metrics to be
used from the TAM are Perceived ease-of-use (PEOU) and Perceived usefulness (PU); to
measure the acceptance of the resulting system.
References
will serve the needs of the end users.
Implementation Plan for UCD informed HCI
To ensure HCI is implemented through UCD, the following steps will be followed;
Review current processes
Establish needs of the end users
Prototype the design informed by the requirements
Get feedback on the prototypes from end users
Improve the design.
Recommendation
We recommend the application of the Technology Acceptance model (TAM) in setting the plan
for the implementation of UCD informed HCI at the organization. In particular, the metrics to be
used from the TAM are Perceived ease-of-use (PEOU) and Perceived usefulness (PU); to
measure the acceptance of the resulting system.
References
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Asghar, A. R., Bhatti, S. N., Tabassum, A., Sultan, Z., & Abbas, R. (2016). Role of
Requirements Elicitation & Prioritization to Optimize Quality in Scrum Agile
Development. work, 7(12).
Beck, K., Beedle, M., Van Bennekum, A., Cockburn, A., Cunningham, W., Fowler, M., ... &
Kern, J. (2001). Manifesto for agile software development.
Firdaus, A., Ghani, I., & Jeong, S. R. (2014). Secure feature driven development (SFDD) model
for secure software development. Procedia-Social and Behavioral Sciences, 129, 546-
553
Kniberg, H. (2006). Scrum and XP from the Trenches. How we do Scrum.
Moran, A. (2015). Agile project management. In Managing Agile(pp. 71-101). Springer
International Publishing.
Rumpe, B., & Schröder, A. (2014). Quantitative survey on extreme programming projects. arXiv
preprint arXiv:1409.6599.
Satzinger, J. W., Jackson, R. B., & Burd, S. D. (2011). Systems analysis and design in a
changing world. Cengage learning.
Requirements Elicitation & Prioritization to Optimize Quality in Scrum Agile
Development. work, 7(12).
Beck, K., Beedle, M., Van Bennekum, A., Cockburn, A., Cunningham, W., Fowler, M., ... &
Kern, J. (2001). Manifesto for agile software development.
Firdaus, A., Ghani, I., & Jeong, S. R. (2014). Secure feature driven development (SFDD) model
for secure software development. Procedia-Social and Behavioral Sciences, 129, 546-
553
Kniberg, H. (2006). Scrum and XP from the Trenches. How we do Scrum.
Moran, A. (2015). Agile project management. In Managing Agile(pp. 71-101). Springer
International Publishing.
Rumpe, B., & Schröder, A. (2014). Quantitative survey on extreme programming projects. arXiv
preprint arXiv:1409.6599.
Satzinger, J. W., Jackson, R. B., & Burd, S. D. (2011). Systems analysis and design in a
changing world. Cengage learning.
PART B
Question 3: Event Table
Event Event Type Trigger Source Activity/Use Case
System
Response/
Output
Destination
A store applies to
be a customer External
New
Customer
Application
Customer Apply to be a
customer
Customer
Application
Management
Team
Management team
approves a
customer
External Customer
Approval
Management
Team
Approve
customer’s
application
Customer
Approval Customer
Management team
creates a customer
record
External
New customer
record
creation
Management
Team Create Customer A customer
record
Management
Team
Management team
defines a
geographical sales
area
External
Request to
define a
Define
geographical
sales area
Management
Team
Define sales
area A sales area Management
Team
Management team
a sales person to a
geographical sales
area
External
Assign sales
person
request
Management
Team
Assign a sales
person to a
sales area
Assigned
area for the
sales person
Sales Person
A sales person
creates a Potential
Customer record
on the system
External
Potential
customer
record
creation
Sales Person
Create a
Potential
Customer
Record
A potential
customer
record
Sales Person
Date to run a sales
report Temporary “last day of
the month”
Run Sales
Report Sales Report AFD
management
A sales person
records a sales
visit
External Recording of a
sales visit Sales Person Record Sales
Visit Sales Record Management
Team
Question 3: Event Table
Event Event Type Trigger Source Activity/Use Case
System
Response/
Output
Destination
A store applies to
be a customer External
New
Customer
Application
Customer Apply to be a
customer
Customer
Application
Management
Team
Management team
approves a
customer
External Customer
Approval
Management
Team
Approve
customer’s
application
Customer
Approval Customer
Management team
creates a customer
record
External
New customer
record
creation
Management
Team Create Customer A customer
record
Management
Team
Management team
defines a
geographical sales
area
External
Request to
define a
Define
geographical
sales area
Management
Team
Define sales
area A sales area Management
Team
Management team
a sales person to a
geographical sales
area
External
Assign sales
person
request
Management
Team
Assign a sales
person to a
sales area
Assigned
area for the
sales person
Sales Person
A sales person
creates a Potential
Customer record
on the system
External
Potential
customer
record
creation
Sales Person
Create a
Potential
Customer
Record
A potential
customer
record
Sales Person
Date to run a sales
report Temporary “last day of
the month”
Run Sales
Report Sales Report AFD
management
A sales person
records a sales
visit
External Recording of a
sales visit Sales Person Record Sales
Visit Sales Record Management
Team
Question 4: Domain Model Class Diagram
Secure Best Marks with AI Grader
Need help grading? Try our AI Grader for instant feedback on your assignments.
Question 5: Design Class Diagram
Question 6: Use Case Diagram
Question 7: Use Case Description
Use Case Name: Takes Order
Primary Actor: Staff at HQ
Secondary Actors: Sales People
Other Stakeholders:
Business Goal: To take a new order from a sales person
Precondition None
Success Condition A new order is placed
Main Path
1. A sales persons calls the head
office staff
2. The staff at HQ takes order
details through call and places the
order
3. The staff at HQ creates the order 4. The system saves the record
Variant Paths
Use Case Name: Takes Order
Primary Actor: Staff at HQ
Secondary Actors: Sales People
Other Stakeholders:
Business Goal: To take a new order from a sales person
Precondition None
Success Condition A new order is placed
Main Path
1. A sales persons calls the head
office staff
2. The staff at HQ takes order
details through call and places the
order
3. The staff at HQ creates the order 4. The system saves the record
Variant Paths
1 out of 13
Related Documents
Your All-in-One AI-Powered Toolkit for Academic Success.
+13062052269
info@desklib.com
Available 24*7 on WhatsApp / Email
Unlock your academic potential
© 2024 | Zucol Services PVT LTD | All rights reserved.