StudentShare
Contact Us
Sign In / Sign Up for FREE
Search
Go to advanced search...
Free

End-User Development - Essay Example

Cite this document
Summary
From the paper "End-User Development" it becomes clear end-user development will keep growing due to the dynamic nature of computer users’ needs that professional software developers cannot meet wholly and an element of innovation and adventure with technology on the side of computer users…
Download full paper File format: .doc, available for editing
GRAB THE BEST PAPER95.7% of users find it useful
End-User Development
Read Text Preview

Extract of sample "End-User Development"

? End-User Development It is an accepted fact that many interactive applications in software technology are not from software developers who are professionals. Rather, they come from persons who have knowhow in other fields who use computation to achieve certain individual goals. Not long ago, research had projected that, by the year 2012, professional programmers in the United States would be less than three million. On the other hand, the research projected that, by the same year, nonprofessional computer users may go well over fifty five million. These nonprofessional software developers would be using new writing formulas, queries, databases and spreadsheets to help them in their work. Another research in 2011 foretold the possibility of nonprofessional developers having created twenty five percent business applications by the end of 2014. As for a fact, the number of computer users has increased, and so has the uses for which they need computers. The software needs of these increasing number of computer users are dynamic, complex and diverse. Professional software developers’ limited knowledge and slow development process hamper their capacity to beat the ever-growing applications backlog. This sparked a desire in computer users to look for ways of modifying, creating and extending software artifact on their own without involving professional software developers. This is what end-user development (EUD) is about (Barrie 2002, p.31). Using end-user development, computer users customize or come up with their own unique interfaces and functionality for their software. An advantage with this is the fact that end users have adequate knowledge of the contexts, needs and change in their individual domains. Besides, allowing end-users to tune software to meet required needs, end-user development has another advantage. Clearly, end-users outnumber professional software developers by far. End-user development scales out activities of software development by pooling the innovativeness and invention from different people. There exists a host of differences between end-user development and traditional software development. End-user development cannot be supported using traditional methods of software development. Many end-users who engage in end-user development lack sufficient training in professional programming languages, modeling, diagramming notations, and formal processes of software development (Clarker 2008, p.71). Their short-term and medium-term goals do not give them enough motivation to learn this traditional knowledge. This poses several challenges to those devoted to the course of supporting the end-user development. End-users need to develop processes that have ease of use, easy to learn, and that allows easy integration into end-users’ individual domains. End-user development goes hand in hand with tailoring, end-user software engineering, and end-user programming. An end-user who modifies a computer application to suit his or her contextual need does tailoring. Tailoring allows users to change their interaction with an application together with its functionality. This entails changing the behavior of an application by resetting the parameters of an application so as to change the level of detail of its set of data. Tailoring encompasses end-user programming when an individual manipulates an application so much so as to come up with a complete program (Mahmood 2003, p.43). For example, a person can come up with macros that can help him or her to change set graphical user interface items borne in an application. This can serve to either increase the usability of an application or extend it to have new functionalities. There is research that demonstrates the possibility of frameworks that are component-based, and that would allow easy application tailoring. Professional programming seeks to come up with programs and sell them out to people. End-user programming, on the other hand, seeks to create programs to satisfy the developers’ needs. End-user programming includes creating programs by either extending existing applications, or creating new applications. There are several ways in which end users can engage in end-user programming. Programming-by-demonstration involves inferring a program from a demonstration of a program’s logic. There are some programming-by-demonstration systems that infer part of the program from the logic and requests for help, and there are those that infer the whole program (Mahmood 2007, p.54). There are programming-by-demonstration instruments that can be used to make different programs and others that can be used in developing animations. Programming-by-demonstration lacks the ease to represent the final program that the end user can ingest with ease. It works together with other programming techniques like textual languages and programming using visual attributes. Programming using visual attributes is an interactive programming style that expresses some program semantics on the programs visual layout. For instances, the alignment of spreadsheet cells has semantics. The composite object defined by either the horizontal or the vertical cells comes out in the visual layout of those cells. Points of intersection, size, color, and position are all elements of a visual interpretation that define certain things about these semantics. Another way of using visual language is an interface which allows a user to make choices between pre-defined fields. Programming-by-specification involves describing a program to a tool that then comes up with the program (Sarmento 2005, p.37). Programming-by-specification works like programming-by-demonstration in that it allows the representation of the program to help the user customize and review it. In this style, the user is not sure of what program will result from given input. Similar to programming-by-demonstration, there is difficulty in representing the program. It requires the user to be conversant with both the language of input, and that of output. The programming tool used in programming-by-specification can only process inputs of a similar range. Users cannot be sure whether these tools process other inputs (Barrie 2002, p.32). Some of the systems used in this programming style use form-based visual interface that only allows choices that the tool can handle. End-user software engineering addresses software quality properties. Poor quality software writing can lead to physical harm, financial loss, breaches to security and data loss. Properties that concern end-user software engineering include security, privacy, reusability, performance, reliability and maintainability. Reusability and maintainability gain relevance only in programs that have been in use. End-user software engineering goes beyond creating software, and ensures that the software has the quality that lasts through its lifecycle. Software’s lifecycle includes its code reuse, verification, design, debugging, and implementation (Clarker 2008, p.72). Code reuse speeds the development of later programs. It is quite a task to support end-user programs’ reuse because end-user programs are low on reusability. Another disadvantage that hinders reusability of end-user programs is prevalence of errors which end-user developers make and reusing them replicates these errors. As much as end-user developers can deposit their programs in file servers and repositories for others to use, it is difficult for other users to assess programs’ reusability. There are models created to help users to check for reusable programs from file servers and repositories. Debugging involves the removal of errors noted in programs. End-user programmers borrow debugging methods used in the professional program development. End-users insert print statements that show the values of variables that programs execute, and systematically checks for incorrect operations. There are end-user programming tools that integrate debugging and testing. Assertions inserted into the program during development functions to test and debug during the failure of an assertion. The presence of a bug and the change of content and structure of a website can cause a web macro that was performing properly to stop performing. To avoid such macros from spoiling, assertions help detect errors and block their execution and even report them to the user (Mahmood 2003, p.44). Latest debugging tools use question asking. The elements of verification and validation in the lifecycle of software ensure that the software executes its functions. Testing helps check for validation and verification. Errors can hinder software’s validation and verification, and there is a need to have mechanisms that detect such errors. There are programming tools that can automatically search for errors using units, dimensions and types. In software, requirements have to do with what a program does. Software design, on the other hand, determines how a program does what it does. For instance, while a program’s requirement could be sorting mailing addresses, its design spells out the algorithm it uses to do that. In end-user development, requirements include computation, and automatic functions. Professional developers can help in investigating, documenting and refining program requirements before designing or coding the application. Many are times when end-user developers do not regard issues of software requirements and design so that they become apparent as the program evolves. User domains change leading to a consequent change in software’s requirements. This is what makes requirements of end-user programs’ requirements intertwine with their design (Mahmood 2007, p.55). End-user programmers have been trying to develop designs that allow exploratory and evolutionary approaches. For instance, DENIM allows some degree of ambiguity in designs so as to make room for future changes. Research into ways of helping end-user developers come up with innovative ways of creating need-specific programs is necessary. Emerging trends in end-user development include concerns of how to allow users of smart phones create their own applications. There is an android application called tasker. It allows users to perform certain tasks that are sensitive to their contexts using simple rules. Users create these rules so as to suit their context. Locale android application allows users to specify the situations in which their phone settings should vary. Recent mobile phones that have operating systems have some allowance for their users to modify their use. There is an ongoing study looking into how to enable users to develop context-sensitive applications. These applications will use workflows to manipulate the behavior of the application in lieu of a given context. These workflows will allow users to specify the conditions and events that will elicit the behavior change in the application (Sarmento 2005, p.38). There is a need to come up with mechanisms that will allow the development of such applications that will help in serious matters of the society. The goal of such initiatives is to reduce the gap between the opportunities imminent in available technologies, and the capacity of end-users to utilize these opportunities. In the growing power and the widening scope of end-user programming, quality is becoming an increasingly key issue. End-user development creates room for anonymous interaction, thereby creating chance for malicious attack on programs. This poses a challenge for there to be ways of guaranteeing end-users with high privacy and security. There are vast amounts of data available to users in websites (Barrie 2002, p.33). There is a need to develop ways of scaling out their programs without compromise. Professional development approaches of ensuring program security are a bit expensive, and many end-users may not afford them. Such approaches include big-o analysis and buffer-overrun analysis. They are also a bit complicated for end-user programmers. There is a need to have other approaches that are friendly to users. The phenomenal growth of end-user development has implications on how professional software developers relate with end-user developers. End-user developers have helped ease the application backlog for professional software developers. On another level though, professional software developers may never get to understand the diverse user requirements in their software development. The input from end-user software engineering enables end-users to make quality software. In the end, this will increase satisfaction with the use of software as the software made be specific to users’ needs (Clarker 2008, p.73). In conclusion, there is no doubt that end-user development will keep growing by the day. There are different motivations and reasons that account for this growth. These include the dynamic nature of computer users’ needs that professional software developers cannot meet wholly. There is also an element of innovation and adventure with technology on the side of computer users. Despite the many benefits that come with end-user development, there is a down side to it. It struggles with issues of ensuring quality in the programs it develops. There are also concerns with the risks that come with the free and anonymous interaction that end-user development creates. On the whole, there is a need to do everything to facilitate the growth of this endeavor. Whatever the efforts and resources that would go into this facilitation are worthy. References List Barrier, T. B. (2002). Human computer interaction development and management. Hershey, IRM Press. p. 31-33 Clarke, S. (2008). End-user computing: concepts, methodologies, tools, and applications. Hershey, PA, Information Science Reference. p. 71-73 Mahmood, M. A. (2003). Advanced topics in end user computing. Vol. 2. Harrisburg, PA, Idea Group Inc. p. 43 - 44 Mahmood, M. A. (2007). Contemporary issues in end user computing. Hershey, PA, Idea Group Pub. p. 54-55 Sarmento, A. (2005). Issues of human computer interaction: industry and applications. Hershey, PA, IRM Press. p. 37-38. Read More
Cite this document
  • APA
  • MLA
  • CHICAGO
(“It has been argued that end-user development has been driven by a Essay”, n.d.)
It has been argued that end-user development has been driven by a Essay. Retrieved from https://studentshare.org/information-technology/1498774-it-has-been-argued-that-end-user-development-has
(It Has Been Argued That End-User Development Has Been Driven by a Essay)
It Has Been Argued That End-User Development Has Been Driven by a Essay. https://studentshare.org/information-technology/1498774-it-has-been-argued-that-end-user-development-has.
“It Has Been Argued That End-User Development Has Been Driven by a Essay”, n.d. https://studentshare.org/information-technology/1498774-it-has-been-argued-that-end-user-development-has.
  • Cited: 0 times

CHECK THESE SAMPLES OF End-User Development

Causes of Information Systems Failure

Other factors include the use of extremely formal quality assurance processes, the use of computer-aided software and engineering tools, or even object-oriented systems development.... This paper ''Causes of Information Systems Failure'' tells that Many factors can influence the failure of a given information system....
6 Pages (1500 words) Essay

Managing Decision Making

Executive Summary End User development (EUD) is proving to be an important innovation for businesses.... Introduction The practice of End User development (EUD) was not thought of as viable in the early days of the Information Technology revolution.... Adopting EUD offers benefits in terms of cost, efficiency and relevance....
3 Pages (750 words) Essay

Managing Decision Making

The objective of our project was to compile a report on End User development (EUD), which is a buzzing concept in the world of Information Technology.... Team development and its effect on Group Decision... Decision making is a complex process that involves giving consideration to numerous factors and perspectives....
4 Pages (1000 words) Essay

Development and Relevance of System Development Life Cycles

AD Model (Rapid Application development)Rapid Application development Model emphasizes a short development cycle with a "high-speed" adaptation of the model.... (Pressman)RAD achieves rapid development by using a component based construction approach.... AD employs tools, techniques, and methodologies designed to speed application development.... (Stair, 2001)RAD employs extensive use of JAD (Joint Application development) process for data collection and requirement analysis....
9 Pages (2250 words) Essay

DISCUSSION QUESTION RESPONSE

This research has been extensively carried out to include the various differences and similarities between the… In your outline, the four basic developmental stages include: End-User Development, agile development, component-based, and the object oriented development.... In your outline, the four basic developmental stages include: End-User Development, agile development, component-based, and the object oriented development.... In the End-User Development, the end user's develop their applications....
1 Pages (250 words) Essay

7.5 part 2 review questions

The move to the new framework will occur not long after everybody has trust of the… Should the new framework miss the mark concerning the clients desires, the old framework will even now be there. End client advancement is characterized "as a situated of techniques, systems, and devices that permit clients of programming frameworks, who are going development Process development Process In a situation like this, I would suggest parallel transformation....
1 Pages (250 words) Coursework

Information System Development

The other approach is the End-User Development, where an organization builds a system with less technical assistance, using the end-users.... In the paper “Information System development” the author analyzes various stages of the information system development.... hellip; According to the essay, the approaches to system development have their differences.... The System development Life Cycle uses stages of system development, and therefore requires a lot of time to implement....
1 Pages (250 words) Essay

Goals, Problems and Core Elements of the Design Thinking

The participatory design primarily focuses on user testing efficiency and End-User Development.... The user-centered design thinking stresses the significance of customers' needs and paints user as central to the service or product development.... The service design relates with the meta-design that advocates a collaborative, open source system and holistic community development to ensure social sustainability.... There is also a holistic engagement of the community development driven by empathy....
6 Pages (1500 words) Assignment
sponsored ads
We use cookies to create the best experience for you. Keep on browsing if you are OK with that, or find out how to manage cookies.
Contact Us