Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 2

Senangelo, Carl Adrian COMSCI 3100

BSIT 3-3 Assignment 3

Assignment No. 3 – Agile Software Development

Questions:
A. What is the difference between agile and plan driven development?
 In an agile approach, iteration occurs across activities. Therefore, the requirements and
the design are developed together, rather than separately. A plan driven software process
not necessarily waterfall model plan driven, incremental development and delivery is
possible. Agile software development framework that aims to produce higher quality
software, and higher quality of life for the development team. XP is the most specific of
the agile frameworks regarding appropriate engineering practices for software
development. While plan-driven processes are processes where all of the process
activities are planned in advance and progress is measured against this plan. In agile
processes, planning is incremental and it is easier to change the plan and the software to
reflect changing customer requirements. A style of development that attempts to plan for
and anticipate up front all of the features a user might want in the end product and to
determine how best to build those features. The work plan is based on execution of a
sequential set of work-specific phases. There is one major fundamental difference
between Plan-Driven and Agile development. Plan-Driven development tends to be
successful in an environment where all properties of the end product are specified in
detail and provides a clear model of a fixed end result.
B. Suggest four reasons why the productivity rate of programmers working as a pair might be
more than half that of two programmers working individually.
 Programming is about having insights. Insights into what’s causing the bug, insights into
what algorithms transforms this bit of data into that bit of data. Programming is setting
yourself up until you need the next insight. Then waiting for the insight to arrive, coding
it up and waiting for the next insight. With two people looking at the same problems you
get twice as much brainpower looking for each insight and sometimes just talking about
the insight with someone can help you find it faster. It’s quite plausible that two
programmers’ pair-programming in a good rhythm can actually find ten necessary
insights faster than each can individually find five.
Pair programming makes the code less defective. It increases the communication
in discussing the software before development result in fewer false starts and less rework.
The number of errors avoided by the formal inspection is such that less time is spent to
repairs bugs in the testing phase. All code to be sent into production is created by two
people working together at a single computer. Pair programming increases software
quality without impacting time to deliver. It is counter intuitive, but two people working
at a single computer will add as much functionality as two working separately except that
it will be much higher in quality. Pair programming encourages refactoring. The code is
prone to be edited and enhanced to increase effectiveness and testing the code will output
in a non-biased result. Partly, it depends on how you are doing pair programming. In
some instances, the driver of the pair is writing code, while the second member of the
pair is observing and discussing the design and implementation details of the system.
C. Suppose you were the software manager in a company that develops mobile applications and
web-based applications for online shopping. Present a draft on how you will create a new online
shopping app for a newly opened grocery store using the agile software development. (Draft
only, list only the important things your team will do to create the app).
 Internet technology is the newest and exciting technology in the world. With highly speed
development, it brings many conveniences to the people, also becomes the focus of
network application in present. This technology involves not only in the traditional
industry, but also in e-commerce, Online Shopping is a remarkable case. The system has
realized the function of shopping online, and the condition of shopping will not be
restricted by time and region, so it is convenient to understand the information of all
commodities. This development model has promoted the economic development greatly.
At the same time, the emergence of trading platform such as mobile payment, online
payment, these kinds of payment methods are convenient and quick.

In addition to the above discussion on the advantage of online shopping, and the
paper also realized the functions of online shopping system, it is divided into several
parts: the first part is detailed introduction of system relative technologies and principles.
And the system requirement is second part. In this part, it has described the hardware
environment and the requirements of system implementation in detail. Once these
requirements are clear, the third part is about to implement these functions, both
foreground and background functions are included. With regard to database, it also plays
a particularly role in system design, the part four is detailed database design, containing
relationships between entities, attributes of individual tables and relation of them. With
an emphasis on software implementation, and several classes are highlighted in this
chapter. Last but not least, system testing is crucial procession in development of
shopping system, in test part, lots of different types of test cases are scheduled to ensure
the correctness of system

You might also like