Microsoft Corp. has probably tackled more PC software projects than any other company in the industry. Microsoft Corp.'s philosophy for product development has been to cultivate its roots as a highly flexible, ent...
详细信息
Microsoft Corp. has probably tackled more PC software projects than any other company in the industry. Microsoft Corp.'s philosophy for product development has been to cultivate its roots as a highly flexible, entrepreneurial company and not to adopt too many of the structured software-engineering practices commonly promoted by such organizations as the Software Engineering Institute and the International Standards Organization. Microsoft Corp. has tried to scale up a loosely structured small-team style of product development. The objective is to get many small parallel teams or individual programmers to work together as a single relatively large team in order to build large products relatively quickly while still allowing individual programmers and teams freedom to evolve their designs and operate nearly autonomously. This article summarizes how Microsoft Corp. uses various techniques and melds them into an overall approach that balances flexibility and structure in software product development. The authors label Microsoft Corp.'s style of product development, the synch-and-stabilize approach.
Two experiments were conducted to investigate the relationship between planning and debugging and the effect of program authorship on debugging strategies. Three groups of participants with different programming exper...
详细信息
Two experiments were conducted to investigate the relationship between planning and debugging and the effect of program authorship on debugging strategies. Three groups of participants with different programming experiences were recruited. In the first experiment, the participants were asked to develop and debug their self-generated program whereas in the second experiment, they were asked to debug an other-written program where some logical errors were planted. Situated cognition approach, being an emergent cognitive paradigm, furnishes an alternative framework to understand the problems of interest. Deweyan notion of inquiry and Gibsonian theory of affordance are of particular relevance. The results show that planning is ineffective for debugging, irrespective of the programming expertise level and program authorship. Besides, situated debugging is demonstrated to be the preferred strategy which is not significantly related to the program authorship. A model of planning for program debugging and a theory of two-faceted transparency are postulated for explicating the observations.
Writing applications that benefit from the massive computational power of future multicore chip multiprocessors will not be an easy task for mainstream programmers accustomed to sequential algorithms rather than paral...
详细信息
Writing applications that benefit from the massive computational power of future multicore chip multiprocessors will not be an easy task for mainstream programmers accustomed to sequential algorithms rather than parallel ones. this article presents a survey of transactional memory, a mechanism that promises to enable scalable performance while freeing programmers from some of the burden of modifying their parallel code.
The recent rise of grassroots computing among both professional programmers and knowledge workers highlights an alternative approach to software development in the enterprise: Situational applications are created rapi...
详细信息
The recent rise of grassroots computing among both professional programmers and knowledge workers highlights an alternative approach to software development in the enterprise: Situational applications are created rapidly by teams or individuals who best understand the business need, but without the overhead and formality of traditional information technology (IT) methods. Corporate IT will be increasingly challenged to facilitate the development, integration, and management of both situational and enterprise applications. in this paper, we describe the emerging prevalence of situational application development and the changing role of IT. We also describe the experience at IBM in building, deploying, and managing the IBM Situational Applications Environment that enables employees to take responsibility for some of their own solutions. Finally, we discuss ways in which the situational application development paradigm may evolve in coming years to benefit enterprises, the demands that it will put on IT departments, and possible ways to address these challenges.
The article discusses software development projects, examining the impact that subversive stakeholders have on such projects. Stakeholders are those who have influence over, and interest in, software projects, the aut...
详细信息
The article discusses software development projects, examining the impact that subversive stakeholders have on such projects. Stakeholders are those who have influence over, and interest in, software projects, the authors state, including developers, consultants, and leads. According to the article, a "subversive stakeholder" is one who wants the project to fail and actively works towards that end. A survey of software practitioners that addressed experiences with such subversion is discussed including the methods and motives of those who practice subversive acts.
An information system will change during both system development and use. Butwhile IS change has been systematically managed during system development, it is handledhaphazardly at best by IT management during system u...
详细信息
An information system will change during both system development and use. Butwhile IS change has been systematically managed during system development, it is handledhaphazardly at best by IT management during system use, largely due to the static and unproblematicview of IT. Chaotic management of post-deployment system changes often can lead to real workdisruptions and user dissatisfaction that tend to increase the risk of IT project failure. Throughan in-depth examination of one such case, we found that IT is a dynamic artifact that evolves evenduring production use as the result of mutual adaptation between IT and its users' work *** findings suggest that an organization should adopt a systematic and mul-tifaceted approach inmanaging post-deployment system changes.
Is computer programming an art requiring craftsmanship, or is it a science requiring the disciplined application of best practices? This letter argues in favor of craftsmanship without ignoring best practices. Discuss...
详细信息
Is computer programming an art requiring craftsmanship, or is it a science requiring the disciplined application of best practices? This letter argues in favor of craftsmanship without ignoring best practices. Discussion includes the progression of a programmer from apprentice to journeyman to master craftsman within the telecommunications domain. (C) 2003 Lucent Technologies Inc.
There is at least anecdotal evidence for factors greater than 10:1 withregard to ability on programming tasks performed by individuals. In software development it ispossible to notice, for example, that some professio...
详细信息
There is at least anecdotal evidence for factors greater than 10:1 withregard to ability on programming tasks performed by individuals. In software development it ispossible to notice, for example, that some professionals show skill in debugging while others areless successful. Little, however, is known about why there are such large performance variations.
While working my way through graduate school in the mid-90s, I took every chance I had on summer and holiday breaks to go back to work as a software developer. Luckily, I worked for a great boss and a flexible organiz...
详细信息
While working my way through graduate school in the mid-90s, I took every chance I had on summer and holiday breaks to go back to work as a software developer. Luckily, I worked for a great boss and a flexible organization, which could usefully put me back to work extending the applications I worked on during my previous visit. If there was a downside, it was that I usually got assigned to whichever random desk was open during each visit. All too often, I ended up at the dreaded solitary desk in the windowless server room, among the empty computer boxes and the walls of sheetrock and spackle. These experiences (which are not so uncommon, I suspect, among junior software developers) are probably among the reasons why I've found pair programming (PP) so interesting. Many developers, and not just those who have ended up programming alone in windowless offices, have been excited by the paradigm shift, while others seem extremely annoyed by it. In both cases, perhaps the most important result is that PP leads to rethinking about the concept of development teams and about how individual programmers can best contribute to the project. Now that PP is several years old and has seen increasing interest and adoption, it's useful to consider what has been learned about its more specific effects. The evidence certainly provides proof of its benefit, although not in all cases and perhaps not in the contexts that many developers would have thought.
暂无评论