





Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
This is another solution file for the subject of SRE
Typology: Assignments
1 / 9
This page cannot be seen from the preview
Don't miss anything!






Azhar Mehmood [Ms…] Department of Computer Science, Virtual University of Pakistan, Lahore Pakistan Email: [email protected]
development. Documentation is concept or way of moving forward and written correctly its valued guide for understanding how (procedure) and why (need) a system is built and how to behave with the system. III. Customer association over contract conciliation. Only stakeholders can define what they required exactly. They may not have the right skills to closely stipulate the system attributes, they likely won’t get it accurate at first attempt, and they may change their thoughts during design. Working with product users/customers is really hard, but that’s the realism of the job. Keeping a contract with users/client is much significant, but a contract is not a substitute for communication. IV. Answering to changes over subsequent a plan. Change may be arising by customers, so software process should reflect it in plan. People change their minds and priorities for different reasons, their understanding of the problem area variations when clients check the developer’s work, the business situation fluctuations, as does technology. B. Agile principles- Customer satisfaction by quick delivery of working software. Frequent delivery of working modules (Can be weekly) Measure of progress will be working software. Continuous development, able to keep rhythm. Cooperation between customers and programmers Best way for communication is face to face Credible and motivated persons to be detailed for project. Simplicity is core of Agile Individually organized teams Adopt changing requirements Permanent attention to constant and good design and techniques Accept changes according to specification if they happened very late. C. Benfits of using Agile- Due to guiding principles , flexibilty and deliving quality software according to client requirments is key benefit of Agile. Additionaly, realtively lower development costs, creating resuable code are basic motivations of Agile techniques and methods. Few other benigits from agile are 1) improved software quality b) produciton increased. C) High team morale. C) knowledge sahrng and transfer d) low risk of project failure [16]. A majority of prgrammers almost 75 % using agile in their whol development. Most of client organiztions are happy due to its quick delivery with precise and accurate working requirements. It is very important to use appropriate Agile model according to environgment of current project [16]. III. AGILE MODEL VS. TRADITIONAL MODELS Agile process uses adoptive software development whereas conventional uses like waterfall that are relying on predictive approach. In traditional models, software development team works on a complete plan begging from requirements to integration phase once and this may take few months. These predictive methods totally relying on requirements if those are done well that system will be good. If change is required on this method that have to process from change control management strictly. However, there are various models being used by organizations for their own way of manipulating. Testing is critical part of software development so it has high impact on model so select model considering the testing in most. Al models have their own pros and cons so organizations must choose this carefully according to their needs. these are few widely traditionally development models are: Agile model Waterfall model Iterative model V model RAD model (Rapid Application Development) Incremental model Spiral model Agile base development is relying on adoptive approach which is not very detailed like traditional not having future plan as well. Agile team takes changes dynamically in product requirements. The product can be tested quickly to minimize future risks of major faults. Client interaction is core point in agile where documentation and communication is open. Teams are located geographically on same place and coordinate closely. Agile methodology is good for small and medium projects where as for complex and large projects SDLC is still a better choice. So, it is highly important to to select SDLC where is suited for project. Follow the criteria which
is used to clarify and identify the dimensions of project. Include size of team and complexity of project, location by geography, project type and business and engineering capabilities and strategies. It is very important to do work on advantage and disadvantages of SDLC well before decision [5]. Although Agile methods are achievement over traditional ones in various characteristics and there are many difficulties to manage them appropriately. Main reduction is about documentation of software so here is source code is itself documentation if well commented. Most of developers indent the code and comment with description of function. It is difficult for new team members or beginner programmers to complete the project if they did not understand the functions completely. They asked lot of queries form experienced developers and it can waste the time while handling their queries [4]. On the other hand, traditional development methods emphasize on documentation of complete tasks to explain well to whole team members. So, there is no need of expert developers to explain the project as it is already well documented. Agile is well known due its communication and collaboration with client. When a iteration is delivered, client and development team will organize a meeting to discuss feedback of software and understand each other’s concern [3]. Most of the time developers held this meeting bi weekly and found it boring and irritating due to the reason of putting same product to clients and giving presentations to new members repeatedly [4]. The time frame for each iteration is usually very short like 1-2 weeks. Programmers may have tight schedule of delivering the iteration even that modules are complex and difficult to develop in short time. This may lead to delay and lag in communication between developers and clients, and schedule of projects is disturbed. On the other hand, traditional methodologies have well defined documents for each phase of design and implementation. Clients don’t participate in this process of software development life cycle. the development team do the coding according to business analysis until its fully ready and then it will be presented to client for testing. [5]. In traditional methodology, developers have no concern about meetings and have much time to concentrate on product that’s why they can deliver a good product finally. Reality of agile to allow changes in requirements can lead to dependency problems in design: mobility and rigidity. Rigidity means once change can be occurring such way that change to be made on each module, while mobility means that system is unable to use the reusable components as a whole and requires lot of efforts and risk while implementing. If we have to face these problems of dependency that can lead to restructuring of whole system [5]. In below table I have tried to summed up in details difference between agile and traditional. Table traditional vs Agile Traditional Agile Fundamental conventions These Systems are completely specifiable, foreseeable, and can be constructed complete thorough widespread planning High excellence, adoptive softhearted can be industrialized using slight teams based on quick feedback and requirement change Control Procedure centric People centric Administration stylishness Command and control Leader ship and teamwork Information management Obvious tactic Role assignment Specific favors specialization Self-organizations teams, inspires interchangeable roles Communication official casual Customers role important Critical Project sequence Directed by tasks or happenings Absorbed by product feature Progress modal Life cycle modal like waterfall, spiral or about distinctions The evolutionary- delivery model Wanted organizational form/structure Automatic Carbon-based Technology No constraint Favors object- oriented technology Objective High safety Quick value remodeling costly Not costly Requirements Stable Emergent, with quick changes Architecture Design for predictable and current requirements Only for current requirements design size For large projects and team Small projects and small teams developers Can access external skills, Plan oriented Agile, advanced skills trained IV. AGILE SOFTWARE DEVELOPMENT MODELS we will discuss here many Agile models here with details of each. Every model has unique strategy and approach but according to agile manifesto. They all involve permanent planning, integration , communication and testing. Agile development is characterized according to attributes like adoptive, straight forward, cooperative and incremental. Incremental means small iterations with quick SDLC [5] [6].
This framework of ISD focuses on business oriented and management for project. ISD was drawn from Microsoft approach from synch and stabilize. Its purpose is to cope with fast development in business. Finally, the development is compromised, capricious and negotiated as opposed to mutually agreed, planned and predefined. I. Pragmatic programming- [13] It introduces set or practices based on programming. It brings forward the same agile practices which are being used by other methods of agile. It covers many of programming practicalities. It focuses on day to day problems with short tips of collection, are 70 in total. These practices take a practical perspective and do focus on rigorous testing, iterative development, incremental and user- centered design. V. DATA AND INFORMATION’S IN LAYER IN ASP In order to this layer system is a different support of a stand deportment the asp system. though conformist artifact management systems center on any basis codes or well-planned design detail of data such as information run diagram and condition transaction diagrams. []. moreover, such types of data that we searched there are large number of design data that are huge quantity of design information that should not good organized but semi organized or un organized [2]. In ASP applications missions at to organzie not only best structured data but also semi organized data and information’s that always along with software evaluations process. As a base system we evaluated large area network system which is to be well organized and semi unorganized design information’s on the company or internet [4]. VI. ASP AND RELATED PROCESS MODELS Because this show, the ASP system is just like a brain child of disseminated synchronized evaluation system and could be observe as a complex kind of “Japanese” software unit. though, the ASP system will not ignore the instruction learn in the Japanese software units and can be independently synchronized progress system. It must be famous that the circulated simultaneous advance assist to revelation possible issues in the software development and forced to manage with the software development [2]. This is comparable to the practice in the completion system while the early goal of the spread simultaneous growth is to condense the improvement iteration interval, we establish that the final objective is to alter the technique of improving software systems. Although we require to obtain possibility to realize the circulated synchronized improvement, the remuneration is too vast. The key remuneration expands comprise the followings limitation the improvement iteration intervals by 65% superior constancy of work-load, privileged exploitation of of mediatory work, that is, to be improved and developed in major, software systems with a preset quantity of developers. Advanced elasticity to the alter of growth graph, and elevated eminence by prior reaction from the clients. VII. DISCUSSON Software improvement iteration cycle in various agile techniques addresses the other steps of the software progress iteration cycle. The explanation of segment enclosed was, but, lost. The query that have to, so, be elevate is there is extra gainful to wrap additional and to be extra general, or face fewer and to be other defined. nothing of the techniques are be developed that were both general or accurate. But the practitioners, presently, have limited explanation to the issues that face in a large domain rather than the techniques do. It is recommended that technique that developers focus further on interest than generality in the domains of their capability. while, techniques that are face very difficult like, every company, evaluation phase and state, are too universal or trivial for the purpose of use. While techniques that are properly handled are also miniature that might be limited or need an association to extra techniques. In other way the incorporated software development is crucial to realize and operate the ASP systems. The environment has to supply an impartial maintenance to processes and product management. A. Development organization : Software engineering is a nearly leaning ground. However, as the majority like five out of 9 of agile methods do integrate sustain for development organization, true hold is limited. consider this perception from a technique possibility end of analysis, competent development organization is of highest significance when agile values for example day by day construct, short liberate iterations, and etc. are pursue. furthermore, the highly, the idea of, like liberate and routinely make change from one technique to an additional. This request further uncertainty than simplicity. It looks that the technique developers are aspire by their position by with the decisively conflicting expressions. Practitioners, particularly development managers, are in a difficult location when a result of the majority appropriate loom must be managed. The prepared achievement of any technique relay on its capability to be included in the software project’s routinely beat. To maintain such types of project organization thought require to be deal with openly to
guarantee the arrangement among a developer and the project organization. B. Conceptual standards vs. concrete leadership : merely three out of nine agile techniques suggested to actual management. conceptual standards emerge to control the agile processes literature and developers’ points. The agile population is additional anxious about receiving getting to planned principles than in donation control on how to manage the working description of these standards. presently, concrete leadership survive frequently in techniques that are very shorted in their range like AM or intensity like PP. extra work is wanted in formative how the maintain experiences, actions and work yield are complete to work in various connection and circumstances so that practitioners have a hard base on the basis to comprise their conclusion. C. Generally predefined vs. circumstances right : several of the advanced and best agile methods like FDD were originate to be generally knower with building questions. however, the few techniques like Crystal that identify the reality of one dimension don’t healthy to all circumstances till now they have no explain any supervision on how this appropriate procedure may be done. This being the container, accommodating techniques and studies must be shell out in meticulous thought to state suitability, and offer management on how the techniques must be used in unlike agile software development circumstances. This also need the capacity to recognize the exacting condition in that such fitting or change activities require to be. VIII. CONCLUSION Agile software development has enough amount of literature discussed in this paper, however still research on this topic for new technologies and growing organizations needs to be considered. Many organizations are yet using Agile in their organizations and delivering work with agile. The objective of this paper is to figure out agile models and their analysis so that practitioner can better understand results and can apply accordingly. We observed all methods, without explanation, cover various phases of development life-cycle. Many of them have not provided enough support project management and current methods literature to dominate them. New agile emerging methodologies had to show the applicability range and interfaces support to part of software development life cycle to get full advantages of Agile. The current trend on agile methods has focused on constructing a quantity of conceptual methods. Instead of rushing to present yet more agile methods, the method developers should pay particular attention to fix the described problems. The field is asking loudly for sound methods, i.e. methodological quality - not quantity of methods. REFERENCES [1] Mikael Lindvall Fraunhofer Center for Experimental Software Engineering, Maryland “Agile Software Development in Large Organizations” [2] MiXio Aoyama “Agile Software Process Model” Department of Information and Electronics Engineering Niigata Institute of Technology 17 19 Fujihashi, Kashiwazaki 945- 11, Japa. [3] Mikio Aoyama “Web-Based Agile Software Developmen” Niigata Institute of Technology [4] Mikio Aoyama “Agile Software Process and Its Experience” Department of Information and Electronics Engineering Niigata Institute of Technology 1719 Fujihashi, Kashiwazaki 945-11, Japan [5] Marian STOICA, Marinela MIRCEA, Bogdan GHILIC-MICU “Software Development: Agile vs. Traditional” Bucharest University of Economic Studies, Romania [6] Juhani Warstab, Mikko T. Sipone , Pekka Abrahamsson, Jussi Ronkainen” New Directions on Agile Methods: A Comparative Analysis” Department of Information Processing Science P.O.Box 3000, FIN-90014 University of Oulu, Finland [7] S. Bayer and J. Highsmith, "RADical software development," American Programmer, vol. 7, pp. 35-42, 1994. [8] S. Ambler, Agile Modeling: Effective Practices for Extreme Programming and the Unified Process. New York: John Wiley & Sons, Inc. New York, 2002. [9] A. Cockburn, Writing Effective Use Cases, The Crystal Collection for Software Professionals: Addison-Wesley Professional, 2000. [10] J. Stapleton, Dynamic systems development method The method in practice: Addison Wesley, 1997. [11] S. R. Palmer and J. M. Felsing, A Practical Guide to Feature-Driven Development, 2002. [12] M. A. Cusumano and D. B. Yoffie, "Software development on Internet time," IEEE Computer, vol. 32, pp. 60-69, 1999. [13] A. Hunt, Thomas, D., The Pragmatic Programmer: Addison Wesley,
[14] K. Schwaber and M. Beedle, Agile Software Development With Scrum. Upper Saddle River, NJ: Prentice-Hall, 2002. [15] K. Beck, Extreme Programming Explained: Embrace Change, 2000. [16] leo r. vijayasarathy “agile software development: a survey of early adopters” colorado state university [17] J. Grenning, "Extreme Programming and Embedded Software Development," presented at Embedded Systems Conference 2002, Chicago, 2002. [18] P. Schuh, "Recovery, Redemption, and Extreme Programming," IEEE Software, vol. 18, pp. 34-41, 2001. [19] A. Anderson, R. Beattie, K. Beck, D. Bryant, M. DeArment, et al., "Chrysler Goes to "Extremes". Case Study.," Distributed Computing, pp. 24-28, 1998. [20] J. R. Nawrocki, B. Walter, and A. Wojciechowski, "Comparison of CMM level 2 and eXtreme programming," presented at 7th European Conference on Software Quality, Helsinki, Finland, 2002 [21] M. N. Aydin and F. Harmsen, "Making a method work for a project situation in the context of CMM," presented at Product Focused Software Process Improvement (Profes 2002), Rovaniemi, Finland,
[22] R. Jeffries, A. Anderson, and C. Hendrickson, Extreme Programming Installed. Upper Saddle River, NJ: Addison-Wesley, 2001.