Any opinions, findings, conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of UKEssays.com.
This paper introduces software development methodologies (SDM) and compares three approaches that are suitable for an e-commerce system. The three approaches of SDM selected in this paper were based on the proliferation of web based information system or e-commerce. Since the popularity and commercialisation of the Internet in the 1990’s, software development has been evolving and brought new ways of doing and building software using the web technology environment and tools available.
Software development methodology was popularised by the software development life cycle (SDLC) for building information systems in the late 60’s. Currently, modern and advanced software tools are being used to exploit the rich resources of the Internet in building systems. The web now offers more complex, distributed, concurrent and connected applications (Surcel, 2009). Web information systems exploit web applications and other non-web components to deliver information and services to other systems and users via the Internet. Traditional SDLC methodologies can still be used in building e-commerce and web applications for the Internet. However, the traditional SDLC approach may not work for different object oriented design methodology for the web,like web site design methododlogy (WSDM), relatioshipship navigational analysis, MacWeb approach, hypermedia flexible modelling, and other object oriented and software engineering pattern approach (Masrek,et.al, 2008). As the web intially started from static pages and eventually to a more dynamic and complex rich information and transaction based application, the software development processes and methodolgies present greater challenges and opportunities to software developers.
2. Software Development Methodologies
There have been a lot of software development methodologies investigated by researchers of software systems in the past four decades. Elliott (2004) considered the SDLC as the oldest formalised model for building information systems. According to Silberberg (2006) “these prescriptive process models bring useful structure to software development work and provide a roadmap for software teams.” The prescriptive models include the waterfall model, incremental process models, rapid application design (RAD), spiral model, and concurrent development models. Agile processes for software development are focused more on the early delivery of software and customer satisfaction. Most of the web-based applications like e-commerce have characteristics that are network intensive, and have a high level of concurrency that is right for agile process models. Agile process models inlcude extreme programming, adaptive software development (ASD), dynamic systems development method (DSDM), scrum, crystal, and agile modelling (Silberberg, 2006).
2.1 The Software Development Methodologies in E-commerce
Surcel (2009) suggests that “IT professionals, web designers, IT managers and executives and all involved in the e-commerce software development must understand how to apply software engineering concepts for e-commerce systems, for better integrate their software with the needs of their business. IT professionals need to establish a methodology that resolves all the problems of e-business applications. Software developers, who understand the concepts of analysis, architecture and design, will have the success in developing the e-commerce systems.” The traditional SDLC is not enough to get the job done in e-commerce systems. Building information system is far more different with e-commerce systems because there are distinctive characteristic of the web application like creative design, advertising, marketing concepts and software engineering (Surcel, 2009).
According to Coda et.al (1998) “The web infrastructure is going beyond the mere distribution of information and services towards the development of platform for generic distributed applications in the world-wide setting. This promising scenario is endangered by the weakness of the current methodologies that support the development of web-based applications.”
With the advent of Web 2.0, social networking and media, innovative approach of doing software development methodologies are needed in order to sustain the needs of the growing interests of users on the Internet that is not just doing online transactions but consuming most of the applications and services beyond what is being offered by e-commerce.
2.2 Agile Methodologies
Agile methodologies are the best candidates for e-commerce systems that incorporate the innovative and dynamic nature of the web. Agile web development is a development model for web applications that follow the same concept as the agile methodologies. This approach is more efficient and powerful to ensure every piece of functionality is delivered early in the development stage and improves throughout the life of the web application.
Agile web development has the following characteristics according to Clark (2008):
Iterative and incremental development methods that is aimed to deliver the application at shorter period of time;
The production progress is measured based on the complete and tested features during the schedule release of the application;
Tasks are broken down into smaller increments that make it more adaptable to some changes;
A working application is the principal measure of the development progress.
This methodology follows planning, requirements analysis, designing, coding, testing and documentation in parallel during the stage of production process. Customer involvement during the development process by getting their feedback improves the confidence of making changes, error free, and customer-oriented approach.
Agile web methodologies also cover the following approaches that are presented in this paper: feature driven development (FDD), adaptive software development (ASD), and dynamic systems development method (DSDM).
2.3 Feature Driven Development (FDD)
FDD is a model-driven short-iteration process that consists of five activities was described by Luca (no date) as “patterns of play that brings success.” The five basic activities of FDD are:
“Develop an overall model” described as the high-level walkthrough of the scope of the system. These are composed of meta-models that are pieces of the model in the domain and combined to form an overall model based on the consensus of the peer review and discussion of the development team.
“Build a feature list” are the ideas generated from the overall model and decomposing the domain into subject areas.
“Plan by feature” is using the list from the second activity to produce the development plan.
“Design by feature” is a design package made from the third activity.
“Build by feature” is the task that generated the completed client-valued function state.
According to (Martin, 2003), FDD can be used in web development. However, web development covers a lot of project types and it is dependent to the nature of the project where FDD can be applied. The effective way to get the development process done right is to start it with the FDD approach. “FDD understands, embraces, and accepts software construction as a human activity. Process is needed, as is technology, but it is knowing of where to specify what should be done and where what to do. That is the essense of a well-bounded process in recognition of people and thier role in software construction projects, and knowing what needs to be written down (as a process) versus what ius simply delegated to the right role. The patterns of play that brings success” (Luca, no date). Almost all projects can use FDD regardless of the size and technology. Defining and mapping the features in a web development project can be described into requirements and specifications. The requirement should establish the concise project objective that put everything in place. Then document the specifications that defines the project itslef like, interaction design (frontend and backend), page flow and logic, page wireframes, database schema, class diagrams, and feature list. Features can be described as the the view/add/edit/delete functionality relevant to the users/customer needs. The features are mapped according to the interactions of the screen design. Technical implementation where a specific technology is used to describe business logic of model-view-controller (MVC) to separate data and layers of the interface (Martin, 2003).
2.4 Adaptive Software Development (ASD)
ASD software development approach use the continuous adaptation and learning that described the dynamic “speculate-collaborate-learn life cycle” (Highsmith, 2000a). ASD approach is dedicated to constant change, re-evaluation, and collaboration among all members of the development team and clients. The conceptual notion of ASD was based of complex adaptive systems (CAS) that is designed for complex, high-speed, high-change, and uncertain projects. The change-oriented life cycle has a direct relation to speculate-collaborate-learn concept. Speculate is to have a clear realization of understanding the plan. Speculation is recognizing the uncertainty of the problem that needs to be explored. Collaboration is the giving importance to teamwork that encompasses the development team, customers, suppliers, vendors, and others that is directly and indirectly involved in the process. Learning is the product of acknowledging the course and the result of the development process. The learning process is test of knowledge and can be derived from the organizational practices, being committed and adaptive to retrospective and focus group discussions.
According to (Arthur, 1996) ASD addresses the “economy of increasing returns”. The Internet and the dot com markets are characterized by the “high-speed, high-change economy”(Arthur, 1996). This approach makes the market unpredictable and unplanned developmental process in the normal or traditional way of controlling the project (Riehle, 2001).
CAS model as described by (Highsmith,2000a) in software development that explain the world of agents, environment, and emergence is translated to the development organization as the environment; members as agents; and the product as the emergent result of competition and cooperation within the uncertain and unpredictable world of software development (Riehle, 2001).
ASD lifecycle has six characteristics: mission focused, component based, iterative, timeboxed, risk driven, and change tolerant (Highsmith, 2000b).
In e-commerce projects mission focused projects are guided by the boundaries of the mission statements. Application components are the result that defines the group features. During the iteration cycle the components are developed and the documentation are deliverables which are secondary to the software feature that is needed by the client. Timeboxing are deadlines or fixed delivery times for the iterative processes and project itself. Then this is analysed according to the risks associate during the adaptive cycles. Change tolerance is the ability to view and incorporate change in the process that take advantage of the make it more error-free and compliant with the set requirements (Highsmith, 2000b).
2.5 Dynamic Systems Development Method (DSDM)
DSDM is a model that has the resemblance of project management. This model is the convergence of software development and process engineering that makes DSDM a good tool for complex problem solving (Voigt, 2004). DSDM is the best approach for projects that are charcterised by tight schedules and budgets. It is composed of three phases: pre-project, project life-cycle, and post-project phase. The project life cycle has five stages that includes: feasiblity study, business study, functional model iteration,design and build iteration, and implementation. Other software methodologies can be used and allowed to mix with the DSDM practices.
The DSDM nine principles are essential in any type of software project and departure from any of the nine principles will have a significant risk of failure. The nine principles are:  active user involvement is imperative;  teams must be empowered to make decisions;  focus on frequent delivery;  fitness for business is criterion for accepted deliverables;  iterative an dincremnetal development is mandatory;  all changes during the development must be reversible;  requirements are baselined at higher-level;  testing is integrated throughout the lifecycle;  collaborative and co-operative approach (Voigt, 2004). To make DSDM successful the nine principles should be followed and the interactivity with the project team, end user as well as the higher management should be realised. Finally, DSDM projects should be decomposed into smaller parts to use iterative approach. Recommended core techniques for DSDM are timeboxing, MoSCoW (Must have, Should have, Could have, Want to have), prototyping, workshop, modelling, and configuration management (Voigt, 2004).
Key success factors based on the DSDM experinces of its members from the DSDM consortium are compiled and was published. Most of the key success factors are pointing to leadership and executive responsibilities, that reflects the advance corporate culture that should be practiced. More importantly, acceptance of the DSDM nine principles, commitment of senior management, incremental delivery, esy access by developers and end-users,stability of the team,size and development team skills, development of technology, and lastly supportive commercial relationship (DSDM consortium, 2010).
This study adopted an exploratory approach and search of available published articles and journals on the Internet on the theme of agile software methodologies in e-commerce and web systems. Literature review, survey methods and case studies were selected from the pool of articles and journals. An exemplar of the agile software methodology and its application to e-commerce and web systems was also presented to define the advantages and disadvantages of the selected methodology.
3.1 Literature Review
Agile software development returned 1.8 million searched items in Google and 57,200 in Google scholar. The rich resources of agile methodology have been exploited in the 90’s and until the present saturation of Internet, e-commerce and web systems.
According to Meso and Jain (2006) agile software development methodologies allow organisations to rapidly evolve systems, primarily the Internet and web software development. ASD must be considered in heavy weight methodologies rather than integrating and hacking approaches.
Successful web development methodologies (Bauer 2005) are going agile and are best suited to FDD. Bauer was able to get FDD working in his several web development projects and refine the process to come up with successful approach that worked effectively from his experience. His high-level overview of FDD was described in his article that successfully launched completed web projects ranging in size from 2 weeks to 6 months (Bauer 2005).
For DSDM (Voigt, 2004) concluded that the model is straight forward based on the best practices, strength in simplicity, extendibility, and has proven successful work in the past and albeit not a solution for all projects. The disadvantages, like other structured methodology has a high barrier to entry, significant cultural paradigm shift is not as fast and cheap.
The investigation survey that was conducted by Silberberg (2006) suggests that some applications of agile methodologies were used as a tool to speed up the development process that was being developed under prescriptive approach for organisations that developed their own software. The organisation groups surveyed was in financial services, mining, healthcare, communications, transport and construction that have heavy weight use of software development and the build versus buy approach. DSDM was identified in use in the construction sector, where cost effective and rapid relevant results were needed by most of its users.
Another survey made by Lim and Venable (2001) is the web information system survey usage by the Australian Web Site consultants reported that low methodology usage when it comes to applying any web information system methodology. This survey failed to present the value of formal development methodologies.
Information systems development in Australia as reported in a survey (Dawson and Gibson, 2007) concluded that there is an increasing research activity and the growing interest in the area of software development methodologies primarily in web-based development, including portal and intranet development.
Shine Technologies (2003) conducted an online global survey about agile methodologies to measure the interest of several organisations using the said approach. The survey consisted of 10 questions using closed-ended questions. The survey was available from the Shine Technologies website from November 2002 to January 2003. The survey results highlighted the following: lower costs; better productivity; better quality; and better business satisfaction. Most of the respondents, 95% of them are in favour of the agile methodologies. The most used agile methodologies are the Extreme Programming (XP) with 59%, followed by FDD, scrum and others.
3.3 Case Study
DSDM Case study (DSDM consortium, 2010) presents several case studies that were used by organisations dealing with software development activities.
A sample case from the DSDM case study “The National Packaging Waste Database (NPWD) is an online system that tracks how much packaging has been put into the UK market and much packaging waste has been recovered and recycled” (DSDM consortium, 2010). This project was able to utilise DSDM and implemented the electronic evidence of reprocessing and doing away with the paper-based process bringing online or web-based approach.
The DSDM consortium (2010) has published a method suitability filter covering three areas such as business, systems and technical aspect. Adoption consideration of DSDM can be found in the DSDM manual. The e-DSDM version that is customised for e-commerce and e-business projects are available from the consortium for the public review and reference.
From the gathered literature, articles, case studies and surveys the comparison of the three agile methods (FDD, ASD and DSDM) is based on the following components: general features, adoption of the methodology, and successful implementation to e-commerce and web-based systems.
FDD and ASD are the most recognised software development methodologies in software development market while DSDM is recognised for being well documented since the DSDM consortium is in collaboration with the PRINCE2 which is adopted in UK. According to Abrahamsson, et al., (2002) the agile software development method status can be “nascent, building-up, and active”. The method can be “nascent” if it has been available less than a year and the no research and experience were identified and reported. “Building up” phase is a method that is recognised by many of its community of users and publication of the report and research were identified. The “active” method has been identified in several places, and there is a wide community base of research and reports that publish their experiences and interest on agile methods. DSDM is categorised as “active”, FDD and ASD belongs to “building up” status (Abrahamsson, et al., 2002).
The general features of FDD’s main selling points are the five activities and the short iteration of features. However it falls out of support for visual design, testing and deployment, which does not provide the all-in-one solution for software development. However, it was successful in e-commerce implementations as reported by Bauer (2005) and the FDD community group.
ASD’s main key points are: adaptive approach, collaboration, and mission-based iterative development labelled as speculate-collaborate-learn cycle. The special features seen in adaptive systems are the emergent creation of order from the interconnected individuals. This methodology covered more discussions about principles rather than software practice.
In DSDM main approach is more on the extensive application of rapid application development (RAD). There is an active consortium of experts who stands for the steering of the methodology development. Main features of DSDM is being a true agile method and the nine practices that are innate with the activities that strongly followed by its members. The shortcoming for DSDM is the availability of the resources which is exclusive only to members of the consortium, that makes the use of the model only restricts to its members.
The strongest candidate for the agile methodology is FDD. According to Bauer (2005) the strongest selling point of FDD is that it really worked on his projects that were refined according to the approach of core FDD methods. However the trade off of not having the complete answer to requirement gathering, visual design, testing and deployment that are significantly needed in the project can be amenable to some by tweaking some of the processes. It is important to acknowledge that doing the way software developers do their job in the software development process without any formal methodologies can be described as shooting the bird in target without the pellet. Software development working teams usually had a history of adopting and adapting from an existing methodology or inventing their own informal methodology. Bauer’s experience showed FDD had a positive effect since getting everybody on board made their team more responsive to the project that was put in place using FDD. FDD was able to provide solutions for their software development issues, constant over-time, over-budget and underestimation of the work required to complete the project that makes worse scope creep, low staff morale, and unrealistic deadlines. With FDD, the solutions are clear from the plan. The reports were excellent, clear and disciplined customer-focused approach. The reduction risk was measured based on the iteration of design and build approach; clarity of requirements, better understanding of building the system; and no wiggle room for decisions.
The agile methodologies presented in this paper provides a better deal of understanding what approach should be used depending on the type of software development project at hand. For web development or e-commerce system, the traditional software methodologies are not enough to describe the dynamic and complex nature of web systems and its relative activity on the Internet. The nature of software applications running on the web space is simple to develop yet too complex that different technologies are competing with one another. However, the technology is only a tool that has been exploited by the developers themselves. The agile methodologies put more importance on the role of people, its interaction, collaboration, change and adaptive approaches. ASD is primarily much more focused on principles, while FDD is more on simplicity of its five step process and DSDM is excellent in the strong support of its consortium. The agile methodologies are effective in utilizing iterative development and every phase of the development processes has its own unique application that fits the needed development strategy. In summary, the agile methods are more inclined to the people who are working behind the software itself. The person building the software is the main point of how the methodology becomes successful. Human capital and strategic skills that complements the software development process leads the best production of software and ways to improve how to solve the problem in this information age.
Cite This Work
To export a reference to this article please select a referencing stye below:
Related ServicesView all
DMCA / Removal Request
If you are the original writer of this essay and no longer wish to have your work published on the UKDiss.com website then please: