Thursday, November 7, 2019
Agile Methodologies In Mobile Software Development Information Technology Essay Essays
Agile Methodologies In Mobile Software Development Information Technology Essay Essays Agile Methodologies In Mobile Software Development Information Technology Essay Essay Agile Methodologies In Mobile Software Development Information Technology Essay Essay Traditional package development design methodological analysiss included the Systems Development Life Cycle ( SDLC ) ( Fowler, 2005 ) . This was besides known as the Waterfall and there were many different versions. Fowler ( 2005 ) explains that it contained several phases from the start to complete of a undertaking including initial thought choice, induction and planning, analysis, design and execution. H explains that several pieces of certification frequently had to be produced for each phase and each phase was treated as a milepost that needed to be signed off before the undertaking was allowed to go on. This type of attack was all right when it was foremost introduced but since the early 1990 s engineering has advanced at a rapid rate and disbursement so much clip on each phase would do the undertaking about disused by the clip it was delivered ( Holler, 2006 ) . There are still a batch of undertakings that this attack would be suited to. They would be un dertakings that require a high sum of proof such as governmental or regulative systems where each phase needs to be to the full documented and signed off but this type of attack would be improbable to accommodate nomadic package development where platforms and demands quickly evolve ( Holler, 2006 ) . Such a undertaking would be more suitable to an Agile attack which would let the client more engagement in the design of the undertaking and let the undertaking to accommodate to any alterations that may be required between the initial design stage and the execution ( Holler, 2006 ) . This paper looks at package procedures for nomadic applications development. The nomadic market is really competitory at the minute due to immense technological progresss in recent old ages. It is now possible and more low-cost to hold a high powered nomadic device with an ever on internet connexion and entree to an application shop to download applications on the spell. This makes it a really moneymaking country for package developers and there are a figure of different runing systems and application shops they can develop for and showcase their work on. Due to such rapid progresss at that place has non been a batch of formal research into the best patterns for nomadic application development. This paper will look at the assorted Agile methodological analysiss and how they perform in relation to mobile application development. Traditionally systems took longer to present due to the deficiency of technological progresss and the cost of engineering ( Fowler, 2005 ) . Fowler ( 2005 ) suggests that developing package was by and large a helter-skelter activity without much of an implicit in program. The design was frequently formulated from a series of short term determinations made by the development squad ( Fowler, 2005 ) . This can work good for smaller undertakings but as the system grows it becomes progressively hard to keep or add characteristics ( Holler, 2006 ) . Such systems frequently contained a batch of bugs that needed to be removed before concluding execution, taking to a long trial stage ( Fowler, 2005 ) . This caused major issues with the undertaking bringing agenda because the clip taken to execute extended testing and debugging can non be estimated accurately ( Fowler, 2005 ) . Due to this there was a motion to present a more standardised attack to package development ( Fowler, 2005 ) . These procedures were called methodological analysiss and they imposed a disciplined procedure upon package development with the purpose of doing the package development procedure more predictable and efficient ( Fowler, 2005 ) . This was done by developing a elaborate procedure with heavy accent on planning. These methodological analysiss are known as plan-driven methodological analysiss and the Software Development Life Cycle falls into this class ( Fowler, 2005 ) . This methodological analysis allowed project squads to specify the demands at the beginning of the undertaking with a grade of certainty that the system would run into its ends even after an extended design and development stage ( Fowler, 2005 ) . There would be several paperss produced after each stage and a codification freezing was frequently implemented until the old stage had been signed off by all major stakeholders ( Fowler, 2005 ) . This attack may hold been sufficient 30 old ages ago but since the early 1990 s engin eering has progressed at a rapid rate ( Fowler, 2005 ) . It is no longer possible to specify exact demands at design stage as by the clip the system is delivered the market may hold changed and the original demands may now be disused ( Abrahamsson et. al. , 2003 ) . This has created the demand for undertaking directors to present systems faster and for the undertaking plans to accommodate to alter along the manner where necessary ( Ihme A ; Abrahamsson, 2005 ) . Fowler ( 2005 ) states that several methodological analysiss including Rapid Application Development ( RAD ) and Object Oriented Analysis Design ( OOAD ) have attempted to turn to this issue nevertheless this paper will concentrate on Agile methodological analysiss and how they lend themselves to mobile package development undertakings. Agile is a term used to depict several extremely iterative package methodological analysiss which include Extreme Programming ( XP ) and Scrum ( Holler, 2006 ) . Each methodological analysis may follow different patterns and rules but they have the same nucleus values in that they focus on heavy client engagement, on a regular basis let go ofing production quality package and being adaptable ( Ihme A ; Abrahamsson, 2005 ) . Fowler ( 2005 ) explains that they try to be adaptative to the market instead than prognostic and seek to happen a balance between no procedure and excessively much procedure ( which means less of an accent on certification and bureaucratism ) . He besides explains that they are person-oriented instead than process-oriented ( the procedure should suit around the squad instead than the squad suiting around the procedure ) . This is immensely different to traditional methodological analysiss where the client was merely involved at the initial demands phase and where each phase was completed before traveling onto the following phase, non taking the precedence of the characteristic into history. These methodological analysiss have grown in popularity o ver recent old ages as quickly altering engineering has put project squads under increasing force per unit area to bring forth package faster ( Holler, 2006 ) . 2.1 Agile Methodologies 2.1.1 Extreme Programming ( XP ) XP is one of the most popular agile methodological analysiss and the thought was foremost introduced by Kent Beck and Ward Cunningham in the late 1980 s ( Fowler, 2005 ) . They wanted an attack that was adaptative instead than prognostic and people-oriented instead than process-oriented ( Fowler, 2005 ) . Harmonizing to Fowler ( 2005 ) this attack was refined throughout the 1990 s and the construct was foremost referred to as Extreme Programming during the Chrysler C3 undertaking ( Kent Beck, Ward Cunningham and Martin Fowler wholly consulted on this undertaking ) in 1997. XP spread throughout the late 1990 s with several books and documents being published on the topic. Kent Beck s White Book is mostly credited as the inspiration ( Fowler, 2005 ) . The methodological analysis is based on five cardinal values. These values are communicating, feedback, simpleness, bravery and regard. These five values are so divided into 14 more rules and once more divided into a farther 24 patterns. This breaks the five key values ( which are abstract ) into concrete patterns that a squad can adhere to on a day-to-day footing ( Fowler, 2005 ) . Knowledge and apprehension of these patterns is the key to successfully implementing XP within an administration ( Holler, 2006 ) . There is a strong accent on proving which is why XP is frequently referred to as Test Driven Development ( TDD ) ( Fowler, 2005 ) . Every developer must compose trial instances to prove their production codification and this is done during the development stage. These trials are so integrated into a uninterrupted physique procedure which produces a extremely tested and stable platform ( Fowler, 2006 ) . The client is extremely involved and the client or a representative of the client is frequently on site to supply feedback ( Abrahamsson et al. , 2004 ) . The system is released in loops which include working functionality to a production criterion ( Abrahamsson et. , al 2004 ) . The undertaking director must specify the demands and the precedence of each piece of functionality with the client ( Fowler, 2005 ) . The functionality with the highest precedence is so passed onto the development squad and this is developed foremost ( Fowler, 2005 ) . This ensures that the system meets its nucleus demands, dropping lesser characteristics and functionality should the undertaking go over agenda or over budget. The loops besides act as paradigms for the client to prove and supply feedback to the development squad so they can include alterations in the following loop if required. Fowler ( 2005 ) suggests that XP s strong influence on package development is down to uniting the rules of agile development with a solid set of regulations and techniques that allow them to be carried out and that until XP came along Agile was abstract and did nt hold a set of regulations that could be used to implement the Agile doctrine. XP provided the tools by which the hopes of legerity could be achieved. 2.1.2 SCRUM SCRUM was besides developed in the early 1990 s. Ken Schwaber, Jeff Sutherland and Mike Beedle were all early adoptive parents and released documents based on their acceptance of SCRUM ( Fowler, 2005 ) . The methodological analysis is implemented in stages and loops across a cross functional squad ( Fowler, 2005 ) . It is a procedure that contains a set of patterns and pre-defined functions ( Sutherland, 2004 ) . The functions include the SCRUM Master who ensures the procedure runs efficaciously, the Product Owner who represents the major stakeholders and the Team who are responsible for the analysis, design and development of the undertaking ( Sutherland, 2004 ) . The undertaking is delivered in increases which are referred to as dashs and normally range between 2 hebdomads and 4 hebdomads in length ( Sutherland, 2004 ) . The SCRUM Master and Product Owner decide during a SCRUM meeting which demands from the Product Backlog ( a set of pre-defined prioritised demands ) should be incl uded in the following dash and by the terminal of the dash the developer must bring forth these demands to production criterion ( Fowler, 2005 ) . If a demand is non developed to a sufficient criterion in clip it is returned to the Product Backlog and may be considered for execution once more during the following dash ( Fowler, 2005 ) . The developer can discourse the advancement of their dash and rede whether or non all demands are on agenda to be delivered with the SCRUM Master during their day-to-day dash meeting ( Sutherland, 2004 ) . SCRUM promotes the thought of a ego organised squad with a SCRUM Master guaranting the procedure runs efficaciously and suggests that the squad should be co-located to help communicating ( Sutherland, 2004 ) . It besides accepts that client demands will alter throughout the class of the undertaking and that it is impossible to specify all major demands at the beginning of the undertaking. The Team should be able to recognize and accommodate to reac t to emerging demands ( Sutherland, 2004 ) . The Scrum attack to project direction is frequently used in concurrence with XP s technology patterns ( Fowler, 2005 ) . 2.2 Benefits of Agile Fowler ( 2005 ) suggests that Agile doctrines are adaptative instead than prognostic. In fast moving environments it is impossible to foretell the major demands at the beginning of the undertaking ( Fowler, 2005 ) . Technology continues to better at a rapid rate so it is of import to be able to recognize technological progresss and adapt consequently throughout the class of the undertaking. Many undertakings fail because the demands outlined at the beginning of the undertaking become disused while the undertaking is being developed taking to a system that no longer serves a intent ( Fowler, 2005 ) . This is why Agile does nt necessitate as much certification as traditional methodological analysiss. The demands and paperss are produced throughout the class of the undertaking through changeless interaction and feedback from the client ( Fowler, 2005 ) . It is extremely iterative and the most of import functionality is prioritised. This ensures that if a piece of functionality does nt r un into the demands of the client or if the demands change merely one deliverable needs to be amended ( Fowler, 2005 ) . This is better than gaining this at the terminal of development rhythm and holding to restart the undertaking. The deficiency of bureaucratism besides increases the velocity at which the undertaking can be delivered ( Holler, 2006 ) . Developers spend more clip working on production degree codification than composing certification ( Holler, 2006 ) . The methodological analysis is person-oriented instead than process-oriented which means the accomplishment of the squad is respected and the procedure fits around the squad instead than the squad suiting around the methodological analysis ( Fowler, 2005 ) . Based on these advantages the Agile doctrine looks as though it will impart itself good to mobile development. 2.3 Disadvantages of Agile Agile has many advantages and suits a batch of modern development undertakings but there are disadvantages excessively ( Holler, 2006 ) . Certain systems will necessitate a big sum of certification to be produced. This is frequently the instance on big undertakings for big administrations or when developing a system for a governmental or regulative authorization ( Holler, 2006 ) . Each phase of a undertaking frequently has to be signed off by the major stakeholders and if some stakeholders are nt involved straight with the development squad they may necessitate big sums of certification to be produced for each stage of the undertaking and the undertaking is frequently non allowed to come on until the old stage has been to the full accepted and signed off by all major stakeholders ( Fowler, 2005 ) . This increases the sum of clip it takes to finish a undertaking and such undertakings are non likely to be nimble or be able to accommodate to altering demands from the clip the original d emands were defined to the clip the system has been implemented ( Holler, 2006 ) . An nimble methodological analysis would non accommodate such a system ( Holler, 2006 ) . These outlined disadvantages should nt hold a major impact on the development of nomadic package applications which will be discussed in more item below. 3 Mobile Software Development Up until late nomadic devices have been comparatively closed environments ( Abrahamsson et al. , 2004 ) . It was really hard to develop individualized applications for them and handset makers did really small to promote developers ( Abrahamsson et al. , 2004 ) . Handset makers developed their ain basic applications to let their clients to utilize the basic characteristics of the French telephone. In the last three old ages nomadic phones have gone through a major development. They are now at the phase where they are fundamentally nomadic computing machines and makers have moved towards a more unfastened attack to the extent of promoting independent developers to develop applications for their platform ( Hall A ; Anderson, 2009 ) . The earliest illustration of this was the Symbian operating system which was used by several French telephone makers and is presently owned by Nokia ( Hall A ; Anderson, 2009 ) . Developers can develop for Symbian utilizing Java ME, CLDC 1.1, MIDP 2.0 and MIDP 2.1 ( Gronli et al. , 2010 ) . This led to many nomadic applications looking in the public sphere but there was no option for developers to upload their applications to a Symbian market topographic point to let other users of the platform to buy them. Apple launched the iPhone in January 2007 which came pre-installed with the iPhone OS ( Hall A ; Anderson, 2009 ) . They released an SDK and an application market topographic point where developers could upload their applications and other users of the iPhone could buy them ( Hall A ; Anderson, 2009 ) . This greatly increased the demand for nomadic applications and made it easier and more rewarding for developers to showcase their work. Google and the Open Handset Alliance released Android in 2008 with the purpose of supplying unfastened beginning Mobile package which ( unlike iPhone OS ) can be used across different French telephone makers ( Hall A ; Anderson, 2009. They besides released an SDK and an application market topog raphic point to let developers to publicize their applications ( Hall A ; Anderson, 2009. Microsoft has been fighting to vie with Nokia, Apple and Google in this country with Windows Mobile 6.5 but have been phasing this out over the last twelvemonth ( Gronli et al. , 2010 ) . In October 2010 they announced the launch of a new platform called Windows Phone 7 which they expect to vie strongly in this country. They have besides released an SDK and market topographic point to do the development procedure easier for developers ( James, 2010 ) . Hardware for nomadic devices has besides improved greatly over the last three old ages ( Gronli et al. , 2010 ) . Mobile developers are traditionally faced with many barriers such as little sums of memory available on the device, little screen size, decelerate treating power and a deficiency of input devices ( Holler, 2006 ) . Recently phone makers such as HTC, Samsung and Apple have produced phones with more powerful processors which are able t o director more powerful applications, more antiphonal touch screens and capacity to accept memory cards up to 32 GB which allows users to utilize the device as a nomadic music or picture ( Gronli et al. , 2010 ) . These recent developments have increased the demand and wages for nomadic application developers. Nokia, Apple, Microsoft and Google represent four of the largest engineering companies in the universe and they have identified the nomadic industry and nomadic application development as markets that they want to be involved in. They continue to put in engineering and selling to better growing in this country ( Hall A ; Anderson, 2009 ) . These companies have made great advancement in the consumer market and are now get downing to look at the concern market ( Ihme A ; Abrahamsson, 2005 ) . Microsoft have advertised Microsoft Office integrating on Windows Phone 7 ( James, 2010 ) . Businesss are get downing to look for better ways to pull off their work load from their nomad ic devices while they are out of the office. This creates a possible new country of package development and as of yet there has been no major research into what type of development procedure should be used when developing such applications. The platforms mentioned above and whether or non an Agile development attack suits nomadic application development is discussed is discussed in more item below. 3.1 Development Platforms Symbian applications can be developed utilizing the Java ME platform ( Gronli et al. , 2010 ) . This is a set of different profiles. Some of the most common Java ME profiles are CLDC1.1, MIDP 2.0 and MIDP 2.1 ( Gronli et al. , 2010 ) . These were designed to work on lower terminal devices with limited memory capacity and treating power ( Gronli et al. , 2010 ) . They besides work across a assortment of different platforms and devices including set-top boxes and PDA s ( Gronli et al. , 2010 ) . Gronli et Al. ( 2010 ) suggest that this attack has proved to be really popular in the past but with recent betterments in nomadic hardware many makers have looked for better package solutions. iPhone applications are developed utilizing Objective C. An SDK is provided but will merely run on an Apple computing machine and the developer needs to register as an Apple Developer Connection Subscriber in order to download it ( Hall A ; Anderson, 2009 ) . Apple besides requires that all applications are submitted to them for blessing before they are made available on their market topographic point ( Hall A ; Anderson, 2009 ) . Android applications use the Java scheduling linguistic communication with a particular Google library ( Gronli et al. , 2010 ) . Google besides supply an Android development plugin for Eclipse every bit good as a freely available SDK that can be downloaded and installed on many different runing systems ( Hall A ; Anderson, 2009 ) . Windows Mobile allows users to develop applications utilizing the.NET compact model. This included linguistic communications such as Visual C # , Ocular Basic.NET and Visual C++ ( Gronli et al. , 2010 ) . These linguistic communications allowed the developer to to the full use the devices hardware ( Gronli et al. , 2010 ) . Gronli et Al. ( 2010 ) suggest that this worked in a similar manner to how the Common Language Runtime ( CLR ) works for desktop development. Microsoft have announced that developing for Windows Phone 7 will be a batch different to any of their old nomadic releases. They have released an SDK and confirmed that development for this platform will be to a great extent based around C # ( XNA ) and Microsoft Silverlight ( James, 2010 ) . There are many development platforms to see when developing nomadic applications and there are advantages and disadvantages to all of them. Some are more unfastened and some are more restricted than others. Some hold a higher market portion while some are advanced with plentifulness of possible for growing. 3.2 Using Agile to Mobile Software Development The demands associated with the rapid bringing of nomadic applications and the of all time altering environment makes many traditional package development methodological analysiss un- acceptable picks when developing for Mobile platforms ( Holler, 2006 ) . Mobile developers need to pass the bulk of their clip authorship and proving working package so it would nt be practical for them to pass a big sum of their clip composing certification ( Fowler, 2005 ) . The rules of agile development align good with the demands for nomadic package development undertakings ( Fowler, 2005 ) . Simplicity, low concern operating expense, adaptability, rapid bringing and client feedback are the chief properties of an nimble doctrine ( Abrahamsson et al. , 2004 ) . The XP and SCRUM methodological analysiss offer the development patterns, technology rules and the model to bring forth an agile undertaking ( Fowler, 2005 ) . Agile favours lightweight undertakings with uninterrupted be aftering as opposed t o elaborate undertakings with long term planning ( Holler, 2006 ) . The bringing of package in dashs every two to four hebdomads ensures that production codification is produced for the client on a regular footing. This allows the client to utilize the loops as paradigms and they are so able to give the development squad critical feedback ( Fowler, 2005 ) . If an loop or dash fails to run into the demands so it s merely a instance of the development squad looking at that loop once more and re-working it instead than holding to re-work the full undertaking which is what frequently happened utilizing less client focussed methodological analysiss ( Fowler, 2005 ) . Abrahamsson et Al. ( 2004 ) expression at a specific Mobile development undertaking and what design doctrine should be used. Due to the above traits associated with nomadic development they decided to follow an Agile attack but due to a deficiency of extended research in this country they were diffident how to continue. They decided to utilize their ain version of Agile called Mobile-D which adopted the Agile traits they felt they needed to let the undertaking to run into its ends. It was based on XP and optimized for a squad of less than 10 developers working in a co-located office. Their end was to bring forth a to the full functional nomadic application in a short period of clip. This attack was tested across four instance surveies and in all instances systems were delivered successfully within 8 10 hebdomads with squads of changing ability accommodating to new nomadic phone extensions of database systems ( Abrahamsson et al. , 2004 ) . This shows that Agile methods can be successful when seeking to present little systems in a short sum of clip when bureaucratism and certification are less of import than acquiring a working system delivered on clip and accommodating to alterations to demands and criterions along the manner ( Abrahamsson et al. , 2004 ) . 4 Decision Agile methodological analysiss tend to accommodate fast paced environments where accommodating to alter and velocity of development is more of import than documenting the procedure. Documents are still produced but affecting the client throughout the undertaking helps cut down the sum of certification needed for the undertaking to run into its demands. Iterations of production quality codification are made available at regular intervals leting the client to utilize the loops as paradigms and supply feedback which can be added into the system for the following loop if necessary. This doctrine suits nomadic undertakings in peculiar due to the rapid development of nomadic technological inventions. More and more people want to be able to entree the cyberspace, their paperss and their applications on the spell. Mobile hardware and package has improved dramatically in the last three old ages and continues to better. Platforms have become easier to develop for. This is in big portion to maj or companies such as Nokia, Apple, Microsoft and Google establishing nomadic runing systems and promoting developers to develop for their platform by supplying SDK s and market topographic points for developers to showcase their creative activities. These factors mean that Agile or a fluctuation of Agile would be a good doctrine to follow when working with a little development squad developing package for a fast paced, of all time altering environment such as nomadic application development.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.