Research discussed at WEUSE V: The 5th Workshop on End-User Software Engineering indicates that, in the US, there are about four times as many people who do programming at work (12 million) as there are professional programmers (3 million). Add in another 55 million of us who use spreadsheets and databases (and thus may also be considered to be doing programming) on the job, and that means there’s probably a lot of undependable, error-riddled software being created. As workshop participants noted: “When the software that end users create is not dependable, the people whose retirement funds, credit histories, e-business revenues, and even health and safety rely on decisions made using that software can face serious consequences.”
The workshop participants discussed end-user programming with a specific focus on the software engineering that is required to make it a more disciplined process, while still hiding the complexities of greater discipline from the end user. Proceedings from the workshop are available in a report at http://www.sei.cmu.edu/library/abstracts/reports/09sr015.cfm.
One approach reported on in the workshop: distributed cognition, advanced by Margaret Burnett et al. From the SEI report: “Thus, instead of trying to build systems that solve this type of problem: ‘What can the system figure out automatically so that users need not think too hard?’, [the] distributed cognition perspective is that the problem statement becomes: ‘How can end-user software engineering tools help end users think?’ “
This is another post in the “From the Trenches” series about our research project on communicating the value of architecting within Agile development. I meant to post this earlier, but I’ve been in the trenches digging.
As Ipek Ozkaya discussed in our From the Trenches kickoff post, we are approaching our research on the value of architecture from the perspective of release planning. I am excited about this perspective because it moves the discussion of architecture’s value out of the realm of philosophy and into the realm of action and choice. As practitioners, we may talk to management and marketing and other decision makers about how valuable architecture is, and they may, in principle, agree. However, the real test of whether we’ve made the sale about architecture’s value is when the time comes to make investment choices, and that’s where release planning comes into play.
I have to admit that when I first started hearing about Extreme Programming and Agile methodologies, I was pretty skeptical. Another software fad that will come and go, I thought. What first started to open up my mind was a conversation that I had with a young developer a number of years ago. I was interviewing him for a position and he was talking about Extreme Programming and I was thinking “Yeah. OK.” Then he said that without Extreme Programming he didn’t think he would still want to be doing development because Extreme Programming had made software development fun again. And that’s when I stopped and thought to myself, “Well, yeah, you know – it should be fun. It’s supposed to be fun.” And by fun, I don’t mean “drinking beer and playing foosball” fun (not that there’s anything wrong with that). Continue reading
At the Agile Alliance conference, Scott Ambler gave a thought-provoking talk entitled “Agile by the Numbers – What People are Really doing in Practice”.
Scott has been conducting surveys focused on the Agile Community for several years. He has made the survey data available at the following URL – www.ambysoft.com/surveys. The published Agile surveys span the years from 2006 to 2009 and cover the following topics:
- Agile Adoption Rates
- Agile Practices
- Agile Project Initiation
- Agile Certification
- Test-driven Development
In my last post, I started a discussion on the relationship between Agile practices and Architecture. Last month I attended the Agile Alliance conference in Chicago to learn more about where the Agile movement is headed and where Architecture fits in.