End-user development: Difference between revisions

Content deleted Content added
Reformatted.
Other aspects of end-user development: Rewrote paragraph surrounding Pliskin and Shoval reference.
Line 57:
<blockquote>It’s simply unfathomable that we could expect security... from the vast majority of software applications out there when they’re written with little, if any, knowledge of generally accepted good practices such as specifying before coding, systematic testing, and so on.... How many X for Complete Idiots (where “X” is your favorite programming language) books are out there? I was initially amused by this trend, but recently I’ve become uneasy thinking about where these dabblers are applying their newfound knowledge.</blockquote>
 
This viewpoint assumes that all end users are equally naive when it comes to understanding software, although Pliskin and Shoval argue this is not the case, that sophisticated end users are capable of end-user development.<ref name ACM_1987>{{cite journal |url=http://portal.acm.org/citation.cfm?id=1017817 |first=Nava |last=Pliskin |coauthors=Shoval, Peretz |title=End-user prototyping: sophisticated users supporting system development |work=ACM SIGMIS Database |volume=4 |pages=7-17|year=1987|issn=0095-0033|doi=10.1145/1017816.1017817|accessdate=2008-05-29}}</ref>
In response to this, '''end-user software engineering''' has been defined as a higher level of EUD, whereby end-users become motivated to consider security and verifiability when developing their solutions.<ref>{{cite web |url=http://eusesconsortium.org/findings.php |title=End-User Software Engineering: Empirical Findings|accessdate=2008-05-28 }}</ref>
 
In response to this, the study of '''end-user software engineering''' has beenemerged. definedIt asis aconcerned higherwith levelissues ofbeyond EUDend-user development, whereby end-users become motivated to consider issues such as reusability, security and verifiability when developing their solutions.<ref>{{cite web |url=http://eusesconsortium.org/findings.php |title=End-User Software Engineering: Empirical Findings| publisher=End Users Shaping Effective Software Consortium | accessdate=2008-05-28 }}</ref>
All the above approaches assume that the user is developing software using tools already approved by a central IT function, where "the user is naive, with little understanding of data processing.... but users should no longer be considered universally ignorant of information systems. Moreover, sophisticated information center veterans, as well as microcomputer users, can and do contribute to system development. They are capable of preliminary experimentation with system requirements, in particular those related to user interface."<ref name ACM_1987>{{cite journal |url=http://portal.acm.org/citation.cfm?id=1017817 |first=Nava |last=Pliskin |coauthors=Shoval, Peretz |title=End-user prototyping: sophisticated users supporting system development |work=ACM SIGMIS Database |volume=4 |pages=7-17|year=1987|issn=0095-0033|doi=10.1145/1017816.1017817|accessdate=2008-05-29}}</ref> In this case the assumption is that the tools have a high learning curve and require exceptional expertise to be deployed in a secure, reliable and scalable manner.
 
An alternative scenario is that end users (and/or their consultants) employ [[Declarative programming|declarative]] tools that support rigorous business and security rules at the expense of performance and scalability. Though this is a valid [[separation of concerns]], it can lead to a situation where [[requirements analysis]] and [[Software prototyping|prototyping]] are substantially completed and documented by end-users before [[Business analysis|business analysts]] have considered the limitations of a specific [[Application software|application]] or [[software framework]]. Senior management support for such end-user initiatives depends on their attitude to existing or potential [[vendor lock-in]].