System Analysis Report: Extreme Programming for Comfort Quilts Limited

Verified

Added on  2020/05/11

|14
|2632
|104
Report
AI Summary
Read More
tabler-icon-diamond-filled.svg

Contribute Materials

Your contribution can guide someone’s learning journey. Share your documents today.
Document Page
Running head: system analysis 1
system analysis
Name
Affiliate Institution
tabler-icon-diamond-filled.svg

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 2
Table of Contents
Introduction....................................................................................................................................................3
Extreme Programming (XP)..........................................................................................................................3
Extreme Programming Values.......................................................................................................................3
Extreme Programming Life Cycle.................................................................................................................4
Extreme Programming Practices....................................................................................................................6
Feedback of fine-scale...........................................................................................................................6
Continuous process................................................................................................................................6
Shared understanding.............................................................................................................................7
Programmer welfare...............................................................................................................................7
Conclusion.....................................................................................................................................................8
Event Table for Comfort Quilts Limited.......................................................................................................9
Domain Model Class Diagram Comfort Quilts Limited..............................................................................10
Design Class Diagram Comfort Quilts Limited...........................................................................................11
Use Case Diagram Comfort Quilts Limited.................................................................................................12
Use Case Description...................................................................................................................................12
Reference list...............................................................................................................................................13
Document Page
Running head: system analysis 3
Introduction
Extreme programming (XP) is the most suitable adaptive methodology that will help Comfort
Quilts Limited to develop a system that will deal with their issues such as managing applications
from their suppliers, and running reports on individual purchases and individual shipments
method. In this context, XP is well defined and its values, lifecycle and practices outlined.
Extreme Programming (XP)
XP is a development methodology of a system structured to improve system quality and its
ability to cope properly with changing requirements of the client. The objective of extreme
programming is to provide small releases that are frequent and iterative throughout the project.
This allows customers and team members to review and evaluate the progress of the project
throughout the whole system development life cycle (SDLC). As such XP will help Comfort
Quilts Limited to carry out reports on small purchases, shipping methods of their products and be
able to analyze whether the new project will be effective. (Stephens & Rosenberg, 2003)
Extreme Programming Values
XP methodology consist of five important values that offer the foundation on which the Extreme
Programming wholeness is built. These values allow involved team members to be confident on
the direction of the project and to understand the importance of individual feedback and insight.
Simplicity: this value allows the team members to carry out what is requested and needed and
nothing more. This maximizes created value for the investment generated to date. The involved
team perform small easy steps to their objective and eliminates failure as they occur. The team
ensures they build something commendable and facilitates its maintenance for long term at a
cheaper cost. (Becker, 2010).
Communication: everyone involved in the project of building the system is part of the team.
Communication within the team should be face to face on a daily basis. They should work in
unison from requirements to code. (Lassenius, Dingsøyr & Paasivaara, 2015)
Document Page
Running head: system analysis 4
Feedback: the team should be committed on every iteration by delivering a system that is
working. The team should display the system early, then listen carefully and modify any changes
that might be needed. The team should ensure they adapt to the processes.
Respect: team members should maintain respect among themselves. Everyone should feel valued
and offer value. Respect should be enhanced between the customers and developers. In addition,
the management should also show respect to the developers right to agree on responsibilities and
accept authority over their work. (Abrahamsson, 2008)
Courage: the team should be truthful on project estimates and progress. They should also avoid
documenting failures as the plan set is to enhance success. They should be ready to cope with
changes as they occur. (Holcombe, 2008)
Extreme Programming Life Cycle
The traditional process of system development is linear with each lifecycle stage requiring the
previous stage to be completed. XP on the other hand, rather than using the linear fashion of
planning, evaluating, and designing, it performs all the operations a little at a time throughout the
phase of development. XP methodology resembles a jigsaw puzzle where many small pieces are
developed which may not make sense at individual level but upon combination result to a
complete package. The greatest advantage of this methodology is the resilience it offers
enhancing easy change incorporation. (Lankhorst, 2012)
XP process of system development begins with planning, and all iterations involves 4 basic life
cycle stages. These phases include; designing, testing, coding and listening.
Planning- this is the first stage of extreme programming. In this phase clients meet with the team
developer to create requirements. Team developer of Comfort Quilts Limited will change the
requirements (a system that runs report for purchases and shipment methods) into iterations that
take a small portion of the feature or functionality needed. Combining iterations will offer the
client with the final product that is fully functional. Programmer team prepares the cost, plan and
the time needed to carry out the iterations and signing up of the iteration is done by individual
developers. One planning method is the crucial path approach. Iterations necessary for the
tabler-icon-diamond-filled.svg

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 5
progress of the project are grouped in a linear fashion and accomplishment of other iterations is
arranged to the critical path in parallel. (Bjornvig & Coplien, 2014).
Designing-XP programming iteration begins with designing. The following are some guiding
principles of this phase; the development team of Comfort Quilts Limited should advance on
simplicity by establishing a thing once and not supplementing functionality in expectation.
Secondly, the team should use system metaphors, technique and class names and agree on
formats and styles that are uniform to make sure there is compatibility among different team
members’ work. Thirdly, cards of system CRC (class responsibilities and collaboration) should
be used to eliminate the mindset of traditional processes and adopt technology of object oriented.
Such cards ensure that all project team members give their ideas, and sort collection into the
design using the best ideas. Lastly, simple programs or spike solution should be created that
allows exploring of the best solution for a particular problem, assuming all other concerns, to
control threats. (Baah, 2017)
Coding- coding is the most essential stage of the life cycle of extreme programming. Extreme
programming offers priority to the actual programming or coding over all other duties like
documentation to make sure that the client obtains something important in terms of value at the
end of the day. Some of the standard associated with coding include; a code based on the agreed
standards and metaphors should be developed, and collective code ownership policy should be
adopted. Secondly, pair programming (where a code is developed by two programmers) on a
single machine should be carried out thus enhancing production of a code of high quality at the
same or less cost. Thirdly, strict schedule of working 40 hours a week with no overtime should
be followed. This helps the team developers to perform the task in the peak of their physical and
mental faculties. Lastly, code integration to the dedicated repository should be done frequently,
with only integration of single pair at a time to avoid optimization and conflicts at the end.
(Ambler, 2013)
Testing- XP performs testing integration with the phase of development rather than at the end of
the stage of the development. All codes consist of units tests to eradicate bugs, and the code pass
through the unit tests before it is released. Another major test is the acceptance test by the
Document Page
Running head: system analysis 6
customer. This test runs after the code is completed, and the team developers demonstrate the
results to the customer. (Layton, 2012)
Listening- listening is a mechanism that is continuous in XP where a customer is involved
through feedback during the phase of development. The developer also gets responses from the
project manager. Acceptance test by the customer is based by the feedback. Every customer
response that indicate corrected requirements become the foundation of a fresh design and
design, coding, testing, listening process repeats itself. The iteration is completed if the client is
satisfied with the results and a fresh iteration begins which similarly follows the design coding,
testing, listening process. (Silva da Silva, Selbach Silveira, Maurer & Hellmann, 2012)
Extreme Programming Practices
The following are some best practices that should be followed during project implementation
using XP;
Feedback of fine-scale
Pair programming- pair programming is where two individuals are involved when developing a
production code. Team building and better communication is enhanced by interchanging team
partners regularly. (Al-Zewairi, Biltawi, Etaiwi, & Shaout, 2017)
Planning game- this is a way of meeting regularly with well-planed intervals such as every 1 or 2
weeks. Majority project planning takes place in these meetings. There exists stage of release
planning within this procedure where decisions are made with regard to the requirements of the
pending release.
Development of test-drive- in this case test are created for every project requirement, and only
then is development of code is enhanced that will pass those tests successfully.
Whole team- through the whole process, XP allows customers and clients to be included. The
developers use customer feedback to mold the project at all time. (Chaudhary, Hyde & Rodger,
2017)
Document Page
Running head: system analysis 7
Continuous process
Continuous integration- this is the practice where all developed code across the whole team is
combined into a single repository regularly in a day. This helps to identify and deal with any
issues that occur.
Code refactoring- this is where improvement and restructuring of the design of the current code
is done without changing its fundamental behavior. This involves activities like fixing
inappropriate name methods or variables, and minimizing redundant code to a single function.
(Rajput & Litoriya, 2014)
Small releases- this concept makes sure that the project will have small releases at a regular
basis. This helps the team and customers to understand how the system is developed.
Shared understanding
Coding standards- this is the best practices set within the code such as style and formatting which
the team follows throughout the project lifecycle. This gives a clear understanding of the code to
the current and future members.
Collective code ownership- this practice permits any team developer to modify any code section,
as required. This practice speeds up time of development.
Simple design- this practice ensures that all code and components are kept simple so as to help
the whole team to evaluate easier ways of doing things.
System metaphor- this is where every individual on the team is able to see the developed code of
high-level and have a better understanding of functionality performance of the code. (Fowler &
Beck, 2013).
Programmer welfare
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
Running head: system analysis 8
Sustainable pace- this practice allows everyone to work at the exact scheduled time in a week.
Nobody is allowed to work excessively or overtime.
Conclusion
Extreme programming is the best methodology because of the following reasons; it is simple, it
allows cost and time saving during the realization of the project, it allows customer involvement
and it enhances communication among team members. However, it is associated with some
limitations whereby it is said to focus on code rather than the design and also it fails to measure
the quality assurance of the code.
Document Page
Running head: system analysis 9
Event Table for Comfort Quilts Limited
Figure 1: Event Table for Comfort Quilts Limited
Document Page
Running head: system analysis 10
Domain Model Class Diagram Comfort Quilts Limited
Figure 2:Domain Model Class Diagram Comfort Quilts Limited
tabler-icon-diamond-filled.svg

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 11
Design Class Diagram Comfort Quilts Limited
Figure 3: Design Class Diagram Comfort Quilts Limited
Document Page
Running head: system analysis 12
Use Case Diagram Comfort Quilts Limited
Figure 4: Use Case Diagram Comfort Quilts Limited
Document Page
Running head: system analysis 13
Use Case Description
The employee and customer registers, updates his/her details. The customer initiates buy product
event which is received by the clerk/ employee. The clerk processes customer order and sends
feedback to the customer on the billing details. The customer makes payment and then the clerk
processes the shipping of the products. The shipping information is then sent to the customer,
containing the invoice and the expected time the product will take to reach to customer.
Reference list
STEPHENS, M., & ROSENBERG, D. (2008). Extreme programming refactored: the case
against XP. Berkeley, Calif, Apress.
BECKER, C. H. (2010). Using eXtreme Programming in a Student Environment A Case Study.
München, GRIN Verlag GmbH. http://nbn-resolving.de/urn:nbn:de:101:1-201011181845.
LASSENIUS, C., DINGSØYR, T., & PAASIVAARA, M. (2015). Agile processes, in software
engineering, and extreme programming: 16th International Conference, XP 2015, Helsinki,
Finland, May 25-29, 2015, Proceedings. http://dx.doi.org/10.1007/978-3-319-18612-2.
ABRAHAMSSON, P. (2008). Agile processes in software engineering and eXtreme
programming: 9th international conference, XP 2008, Limerick, Ireland, June 10-14, 2008 :
proceedings. Berlin, Springer. http://search.ebscohost.com/login.aspx?
direct=true&scope=site&db=nlebk&db=nlabk&AN=247710.
FOWLER, M., & BECK, K. (2013). Refactoring improving the design of existing code. Boston
˜[u.a.]œ, Addison-Wesley.
HOLCOMBE, W. M. L. (2008). Running an agile software development project. Hoboken, N.J.,
John Wiley. http://www.books24x7.com/marc.asp?bookid=29682.
LANKHORST, M. (2012). Agile Service Development [recurso electrónico] Combining
Adaptive Methods and Flexible Solutions. Alemania, Springer Healthcare Ltd.
BJORNVIG, G., & COPLIEN, J. O. (2014). Lean architecture: for agile software development.
Hoboken, N.J., Wiley. http://rbdigital.oneclickdigital.com.
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
Running head: system analysis 14
BAAH, A. (2017). AGILE QUALITY ASSURANCE deliver quality software- providing great
business value. [S.l.], BOOKBABY.
AMBLER, S. (2013). Agile database techniques: effective strategies for the agile software
developer. Hoboken, N.J., Wiley. http://rbdigital.oneclickdigital.com.
LAYTON, M. (2012). Agile project management for dummies. Hoboken, N.J., Wiley.
Silva da Silva, T., Selbach Silveira, M., Maurer, F., & Hellmann, T. (2012) "User Experience
Design and Agile Development: From Theory to Practice," Journal of Software Engineering and
Applications, Vol. 5 No. 10, pp. 743-751. doi: 10.4236/jsea.2012.510087.
Al-Zewairi, M. , Biltawi, M. , Etaiwi, W. & Shaout, A. (2017) Agile Software Development
Methodologies: Survey of Surveys. Journal of Computer and Communications, 5, 74-97.
doi: 10.4236/jcc.2017.55007.
Chaudhary, P. , Hyde, M. & Rodger, J. (2017) Exploring the Benefits of an Agile Information
System. Intelligent Information Management, 9, 133-155. doi: 10.4236/iim.2017.95007.
Rajput, G. and Litoriya, R. (2014) Corad Agile Method for Agile Software Cost
Estimation. Open Access Library Journal, 1, 1-13. doi: 10.4236/oalib.1100579.
chevron_up_icon
1 out of 14
circle_padding
hide_on_mobile
zoom_out_icon
logo.png

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

Available 24*7 on WhatsApp / Email

[object Object]