USER STORIES FOR PROPOSED WEB APPLICATION USING AGILE APPROACH

: Agile means quick moving and agility means the ability to think and draw conclusions quickly. The Agile methodology focuses on the delivery of valuable software. Even small IT software organizations are directing towards agile methodologies for better performances as these methods were especially designed for new start-up organizations. IT project management according to the agile principles will be less effective if the space where the teams work is not arranged. This Research Paper focuses on the use of Scrum and with the help of extreme programming; we have tried to find the user stories for the project ONLINE PRINTING SERVICES which will be useful for further project estimations


I. INTRODUCTION
"Agile" is able to move rapidly, easily and responding swiftly to change. Agile software development is a group of software development methodologies based on iterative and incremental development. Agile methods entirely require team involvement basically for better enhancements during project development in small IT firms. Agile methods have been both criticized and advocated, and research has shown that accommodating change may be a factor in both success and failure [1]. Comparatively, agile methods focus more on customers and their participation during the development. Not only customers but software developers involvement is also very vital as they personally responsible for deploying their product [2].Traditional software development methods are not always feasible in rapidly changing business environment. Traditional methods focus on up-front planning and strict management of change, but agile methods were designed to accept and efficiently manage change. In traditional methods solution and requirement are clearly defined, large changes in scope are not expected; the projects are routine and repeatable, using a proven template. Main objective of Agile is to make process short and fast software module delivery rather than focusing on maintaining various documentations. Traditional methodologies preference was brief documentation must be available .Traditional methods of project management would not find defects as early because they do not test as often. [3] Agile principles give more significance to the agility by satisfying customer needs, greeting change in requirements, delivering working software, collaborative working of customers and development team, motivating individuals, faceto-face communication, progressive nature of working software, sustainability during development process, Continuous monitoring technical aspects of project, Simplicity, efforts of self-organizing teams and to focus on effectiveness rather than doing adjustments [4].

II. SCRUM
Scrum is a method focusing on the project management viewpoint of agile development prescribing time boxing, continuous tracking of project progress, and customer centricity. Scrum method can be supportive and in rapid action when requirements are at initial stage and incomplete [1] [3]. Scrum begins with the Scrum Team, a small, cross functional team consisting of approximately seven software engineers. Here, team is independent, self-organizing and working for specific task. The management representative on the team is the Scrum master. The primary responsibilities of the Scrum master are to remove obstacles to the team and to ensure that Scrum practices are followed [5].The team has to follow scrum process as shown in Figure 1 below: Figure1. Scrum process [5] The portion of the product backlog is translated into an objective called the sprint goal. Then, the Scrum Team meets internally and uses the sprint goal to derive a list of requirements necessary to accomplish the objective. Sprint Backlog is the repository of all the useful requirements. Success of the Sprint is dependent on whether the Sprint Goal has been achieved. During the Sprint, the Scrum Master facilitates the 15-minute meeting daily with Scrum Team to review progress but not to provide the solutions [4]. Each member of the team answers three questions: "What has been accomplished since the last meeting?" "What will be done before the next meeting?" "What obstacles are in the way?"[4] [5] The term 'scrum' has been introduced by Ken Swaber in 1995. Scrum methodology a process framework to deliver product with highest priority values and handles complex problems or situations (Schwaber and Sutherland, 2011). It helps team in understanding how project is planned and organized. It has been used by various IT Giants for commercial software applications, in-house development, financial applications, fixed size applications, ISO 9001 certified applications, embedded systems, contract development and so on. It allows to rapidly and repeatedly inspecting actual working software (every two weeks to one month). Our teams self-manage to determine the best way to deliver the highest priority features. Every 2 weeks to a month anyone can see working tested software application and later on it can be released on local or production servers. Then, it can be decided whether to keep it as it is or to continue to enhance it during upcoming iterations. [5]

III. EXTREME PROGRAMMING
This method is quite simple as it focuses on customerdeveloper relationship. Both customer and developers work together to understand each other's problem and try to resolve issues based on the similar problem. Here, customer could be business analyst or marketing professional in the same product development organization or customer could be one the representative from other organization mainly available for user requirements. This method is first proposed by Kent beck in (2004) and basically supports object oriented approach. He suggests one iteration takes maximum 14 days to complete. As compare to SCRUM, XP offers various advantages such as: (a) It avoids documentation (b) Provides more choices for enhanced learning (c) Quick product development (d) Low charges for defect removal. XP uses story point method for all the iterations. [6]

IV. ABOUT USER STORIES
For estimating the size of projects, we have various estimation methods such as Function Point Analysis, Measuring Source Lines of Code, Object Points, Use Case Points, and Mark-II Function Point Analysis. Each of these methods has their own advantages and disadvantages. But for Agile, Story point is the size estimation method which follows bottom-up approach for estimation and estimating size means we are measuring the quantity of software to be developed [7]. The word 'story' doesn't mean any descriptive line of statements or any case study. It means some important functionality or feature to be extracted from the user requirements which can be used for measuring size of product. Each of these features then can be transferred to development team for further processing during iteration phases which may took duration of 2 weeks to 2 months. Later on, it can be delivered to customers in the form of functional component of software. From all the product stakeholder(s) point of view, user stories must be very simple and easy to understand. [2] Short description of features your customer would like to see in their software. Seek to combine the strengths of written and verbal communication, where possible supported by a picture. User stories are can be written on sticky notes, white boards on walls or tables to smooth the progress of iteration planning and further discussion. Just like we use sticky notes application in our computer systems for remembering about a specific task, user stories can also be written on stick notes or some special type of cards for remembering or discussion about the feature to be implemented in software. It is a feature request from a user's point of view. It is not a bug report or a functional specification. Stories are: • User's needs Now a days, users and development team works together to get useful and productive user stories using INVEST principle.

V. CASE STUDY WITH USER STORIES
Proposed application will be developed to provide good printing service to users. Exactly there will be three type of user who can register on site: • Normal user(Guest/registered) • Reseller • Administrator Normal user is user who is looking for some printing service. Reseller is a user who is a Print Broker, Copy house, Designer or marketing Agency. Administrator, who is monitors overall application and will have all rights to manage the application via admin panel. Application will help users to go for various provided pre-designed product templates which will be available for different categories/sub-categories; it may be for business/personal need. There will be one another facility to user, they can browse all such available product templates and can select from this available templates. If user wants to customize then he/she must have the customization option but only design and UI point of view. As well they can re-design template using available online editing tool into the application. Application will facilitate users with different offers in each category/subcategory products and also monthly specials. User can subscribe themselves for such special offers, discounts and voucher code. Site admin revenue generation will mainly from order processing of product template & printing service, percentage commission on order/s sends to resellers for printing services. Application will have a shopping cart module through which users can add product templates to their shopping cart and do checkout. Guest user can browse the product, choose them, redesign, generate proof and add product to their shopping cart.
• Normal / Reseller user can register themselves in application by completing the registration process.
• Registered user can access the application only once the site admin has approved them. Only registered user will be able to do checkout and place order. Online payment of order/s can be done via PayPal payment gateway using PayPal or credit cards.
• Reseller user will register on site to use the application services for his business or he can also get orders from site admin to fulfill the printing order/s placed by normal user/s. Site admin will deduct his commission from order total and remaining amount will be paid to reseller for printing services.
Following User Stories drawn for the above requirements: Process of identifying story point is quite simple.Once writing of all user stories completed then in next process customer reads all the stories one by one. Then, team starts estimation by assigning points in the form of 1, 2, 3, 5, 13… (Fibonacci series) [9].Then, after discussion and negotiation, if all estimations are aligned then we are finalizing recording the story point for the current story. Then, we go for next story. In the same manner, all the new user stories can be assessed and recorded with some story point. Finally, record the summation of all the story points for all iterations.

VI. CONCLUSION
If you focus on how and when to use Agile methods, it will help your software development process takes a motion and can become a productive. We have discussed two important agile methodologies i.e. Scrum and Extreme Programming.
We have also identified user stories for a proposed web application which is to be developed using agile project management. After finding all the user stories, we have suggested the procedure to evaluate size estimation of overall project.
VII. REFERENCES