Users as testers?

Introduction

Both users and black-box testers approach software with apparently similar attitudes; however, they have fundamentally different goals. With this article I will try to expose some of my ideas about this dichotomy.

Users and Testers

When it comes to black-box software testing, there are two main differences between users and testers, in my opinion; the first one, maybe the most obvious, is that the user usually paid for the software, while the tester is paid to use (and break) it. This is very important, since all efforts should be done to make that the final user gets the best possible experience, and the smallest possible number of bugs. After all, the user is paying for the software, and she needs it to fulfill some business problem or some particular need, be it run a company, play a game or write a mail.

The tester uses the software with the sole objective of finding problems. The user tries to avoid them at all price. Continue reading

Schedule Issues in Software Projects

Introduction

Time is the ultimate dictator: “Time is also the one variable that has the least amount of flexibility. Time passes no matter what happens on a project.” (Schwalbe, chapter 6, page 202). As a result, any problem regarding the schedule of a project is likely to be the most difficult one to manage.

In this article I will enumerate some reasons that, in my opinion, make schedule problems a recurring cause of conflict in projects. Continue reading

About Corporate Politics

Introduction

Politics are part of our daily life. Nevertheless, the word has got a bad reputation in the IT world (and elsewhere, too), thanks to famous failures and managed disasters, but the truth is that to succeed, projects need politics – and project managers should know it well.

In this posting, I will describe the theoretical and empirical direct relationship between organizational verticality, worker alienation and political struggles, all leading to poor project performances. Continue reading

Marketing Droids

Acabo de leer esta aberración:

En este marco, para incrementar los resultados de los proyectos de IT, es fundamental reformar la educación en sistemas, adoptando un enfoque original y desafiante que comprenda no sólo la difusión de metodologías, técnicas y experiencias sino también el replanteo de varios paradigmas incorporando nuevos marcos conceptuales provenientes de la psicología sistémica, la quinta disciplina, la programación neurolingüística y la teoría de las restricciones.

Hacía rato que no leía semejante cantidad de pseudoconceptos hiperrealísticos superpuestos de manera empática y antropomorfa en el mismo párrafo antidiluviano. Me hizo acordar del dibujo animado “Inside Jack” y de la la explicación que dan los “marketing droids” sobre la integración entre Sun y Microsoft… la misma cháchara. Tremendo.

Open space or individual offices?

I’ve just posted the following question on LinkedIn:

From Peopleware in the 80s to Joel Spolsky nowadays, when talking about software engineering, a lot has been written about the relative merits and drawbacks of individual, quiet offices against the “classic” open space of most companies today. My personal experience is that private offices bring greater productivity, and also help boosting the employees’ loyalty to the company; spending 8 hours in a noisy environment does no good to some people (including me, by the way). But I’ve also seen that some developers prefer working in open spaces anyway, so the problem seems to be much more complex. This question is both for developers and managers of software development teams: do you offer private offices to your software developers? Are you a software developer craving for a quiet environment? Would you trade your current job for a place where you get a private office? Or do you prefer open spaces? If so, why? I am interested in your personal experiences on the subject.

Feel free to post your comments in LinkedIn or in this page!

curso acelerado de subversion (segunda parte)

antes que nada fijate que todo lo que te explique anteriormente anda.

empecemos.

primero armate una carpeta con archivos varios, en tu escritorio. pone imagenes, archivos php, javascript, html, carpetas con mas cosas adentro, lo que se te ocurra, con cuantos subniveles que quieras. cualquier disposicion estara bien. lo unico que te pido es que llames esa carpeta “proyecto”, simplemente (aunque podria ser cualquier nombre, yo usare ese nombre en este texto, y asi sera mas facil seguirme; pero podria llamarse “pirulo” tranquilamente).

tambien te pedire que pongas un archivo “readme.txt” en esa carpeta, para mostrarte como se manejan los cambios en los archivos. asegurate que ese archivo tenga ya un poco de texto. tambien agregate un archivo mas, que se llame, “forradas.txt”, con algo de texto adentro.

bueno, ahora tenes tu proyecto listo, tenes la primera version de tu laburo (estamos imitando un ritmo de trabajo tipico con subversion). podrias estar escribiendo un nuevo libro, un software, dibujando con el GIMP, lo que quieras. cualquier “proyecto” puede ser versionado con subversion. es decir, escribiste un par de parrafos, tenes una idea de la estructura del libro, o ya tiraste un par de lineas de codigo y pensas que esto puede evolucionar. entonces, tenes ganas de “versionarlo” para poder volver atras en caso de hacer un moco, o para explorar diferentes maneras de hacer algo, de manera “paralela”. por ejemplo, yo uso subversion para el material de mi master; de esta manera, si laburo en la portatil, o en la mac de mi escritorio, siempre tengo la ultima version de lo que hago a disposicion, sin importar donde hice la ultima modificacion.

Continue reading

curso acelerado de subversion (primera parte)

tenes que aprender subversion. por lo pronto tenes que instalarlo en tu mac, lo cual es facilisimo ya que hay un instalador que lo hace por vos, y que tenes que bajarte de aca:

http://www.codingmonkeys.de/mbo/Subversion-1.4.2.pkg.zip (por las dudas las ultimas versiones estan siempre disponibles en http://www.codingmonkeys.de/mbo/)

es un zip que contiene un pkg de instalacion; tenes que tener tiger, o panther 10.3.9 como minimo para que ande. cuando lo instales no veras ninguna diferencia en tu compu, ya que se instala en /usr/local/bin/svn. (/usr es un folder escondido en el disco, que es parte de todos los unix). Continue reading