Cohen, S., Dori, D., & Haan, U. D. (2010). A Software System Development Life Cycle Model for Improved Stakeholders’ Communication and Collaboration. International Journal of Computers Communications & Control INT J COMPUT COMMUN, 5(1), 20-41. doi:10.15837/ijccc.2010.1.2462
Kopliku, A., Pinel-Sauvagnat, K., & Boughanem, M. (2014). Aggregated search. CSUR ACM Comput. Surv. ACM Computing Surveys, 46(3), 1-31. doi:10.1145/2523817
Coming to the world of digital information systems as a complete novice and from a place of total ignorance as to how software is developed, I have to admit I found Shalom Cohen, Uzi De Haan, and Dov Dori’s article, “A Software System Development Life Cycle Model for Improved Stakeholders’ Communication and Collaboration,” somewhat horrifying. This isn’t because of anything the authors do or say in their explanation of their explanation of a new software system development model: By developing a software life cycle model that takes security into account and involves regular interactions with clients, they imply that previously, developers did not take security into account or pay much attention to user needs. They don’t answer the question, though, of why not. I can imagine a sector that encouraged elegant mechanistic solutions to theoretical problems, regardless of whether those solutions actually worked when messy humans started stumbling around the system, with their incoherent questions and negligent ways of leaving digital doors open. Though Cohen, De Haan, and Dori don’t get into the specifics of security in their article, their Lead Driven Development model does amply provide for user feedback and input into the development process. That means a potential client can more easily butt in with questions like, “Yes, that way of accessing information works for me, but how do I give access to the person I’m consulting for…and no one else?” Such a question makes the developer come face to face with a security issue he or she hadn’t considered when the software problem to be solved was just a pretty flow chart and examined only by fellow programers. The question is, why wasn’t this happening before?
It’s not the only question the article prompted in me. Mainly, I didn’t understand how all of this client interaction, particularly from different departments in the client’s company, their statement at the beginning of the article:
Two major trends dominate the software development world today. The first is the shift of organizations from fulfilling their own software requirements in-house to buying it on the market, either as an off-the-shelf packaged software product or from a company tailoring a specific solution. The second trend is the shift from developing tailor-made software to purchasing packaged software from vendors either in stores or directly from the vendors.
It sure sounds like their LDD model is for the development of “tailor-made software” for specific clients, what with all the client input looping back into the process as it goes from stage to stage. Perhaps the developers work with a particular client when the system is first being created, and then once both developer and client are happy enough with the results, the developer takes it public in an off-the-shelf form? Cohen, De Haan, and Dori don’t say that explicitly, but it does make a certain sense.
But while Cohen, De Haan, and Dori seem happy to take the human factor into account when developing software, Arlind Kopliku, Karen Pinel-Sauvagnat, and Mohand Boughanem seem to blithely ignore it when they write of efforts to develop more sophisticated results from user Web searches in their article, “Aggregated Search: A New Information Retrieval Paradigm.” They write of the desire for web searches to turn up information “nuggets” from a variety of sources and in a variety of forms when users type in a search term instead of the lists of documents that turn up now. They imagine a search result that fits the users’ needs quite precisely, organized in a way more useful to the searcher than articles ranked by popularity. There’s one problem: Computers still can’t read users’ minds. They admit as much when they use the word “jaguar” as an example of a search term: does the user mean the car, or an animal in the South American jungle? And just what does the user want to know about this jaguar, anyway? It’s reproductive cycle? How it hunts? Or its MPG? I can see aggregated searches being realistic for very sophisticated users. The problem is, most of us aren’t that sophisticated.