Tuesday, December 18, 2007

Traditional and Agile

There is a recurring dispute between these two approaches for software development process: traditional and agile. Which one is better? It depends on the goals you want to reach and on the context of the project, the organization, including its professionals: the experience and skills that they have, and those that they do not have. Concerning the project, it makes a great difference if the project is for a critical safety system or an e-commerce website.

I certainly agree that there are advantages in each approach, but there is not a one-fits-all approach, the decision of which one to use depends on the entire context: business strategy, type of system to be developed, type of development, requirements to be addressed, characteristics of end users, skills of professionals, size of development team, limitations (on time and cost, for instance), time to market, competition, etc...

Could we say that agile is appropriate only for smaller teams? Should we say that traditional suggests a larger methodology? I would certainly prefer a less restrictive point of view. Whether you are more formal or more lightweight, it is advised to consider the context before making a decision.

I will come back to this topic, so if you have any stories of applying one of these approaches, share them with us!

Friday, December 7, 2007

UPi in ACM

UPi is available in the ACM Digital Library. UPi is a Software Development Process aiming at usability, productivity and integration, which was created during my Masters at UNIFOR, where I participated in research projects in the Lab of studies on the Use and Quality of Systems (LUQS) coordinated by Elizabeth Furtado. If you want more details, you can download my masters dissertation from my website.

What makes UPi special is that it bridges the gap between Software Engineering and Human-Computer Interaction with a clear concern on Return on Investment. But what called my attention these past days was that I can once again use it with my current research goals. One of my main focuses now is to define a strategy to help professionals in defining a new method for their organization or projects, or in updating the current one based on specific needs.

I have defined a set of activities, roles and artifacts to be used in a software development process for specific disciplines, namely: requirements, analysis and design, implementation, deployment and test. But considering that software organizations also need to apply other disciplines (e.g. project management), as well as other activities in the existing disciplines; there is still the need to support merging UPi with other processes.

I am currently studying techniques to assemble pre-existing processes in order to create a particular process to address specific needs of projects. Once I have a strategy defined, I will share with you how UPi can continue expanding in the research community and who knows, one day... new horizons...

Sunday, November 25, 2007

IKnowU, software development, usability and our users

How does the name "IKnowU" relates to what I've been working on for the past five years? I created the name IKnowU to mean the need for designing user interfaces based on the knowledge of the user. I haven't exactly worked with user interface adaptation as you might think at first. I have been working with software development processes and usability techniques aiming at making people with background knowledge on each of these two different areas communicate better.

Actually, my "users" ... just to explain, I call my users professionals or researchers who can profit from the research ideas produced up to now related to bridging the gap between software engineering and human computer interaction. Well, they are concerned with their users, who will interact with systems via user interfaces. It is their goals (both of my users and of their users) that this interaction will be the best possible. Therefore, it is expected that user interfaces are designed taking into consideration their actual users. Why? Well, in your case, do you like to use systems that seem to take you into account?

Of course, we are all users of one kind of system or another, but you are probably also an IT professional or researcher. So, what do you think that is lacking in your company or in your lab to better consider users' interests and improve the usability of the systems you develop, or design, or test, or manage...?

Wednesday, November 14, 2007

Tamodia 2007

Last week I attended Tamodia, the 6th International workshop on Task Models and Diagrams, organized in Toulouse, France. It was a pleasant experience for many reasons. First, I presented an article about my PhD research. It is very good to talk about your research and the discussions really help in improving the current work. I am back even more motivated. Second, the networking is always great: I met people from different countries who are working with different perspectives of user interface design and task modeling of interactive systems. Talking to them was a great opportunity to share ideas. Third, seeing all those researchers that I've read their articles is very enthusiastic. Fourth, having a friend as one of the program chairs is interesting to closely follow how much hard work it is to organize all the details of a conference, but also to see that in the end, it is worth while. Last but not least, the fun part of seeing old friends and meeting new people was great, especially during the visit to the town hall (in the picture below) and the gala dinner that took place during a boat ride in the Garonne river.


Town Hall in Toulouse