Software Development
Agile Analysts
0This article is a Spanish direct translation of the “Analist” section from the InfoQ Article named “Book Excerpt: Succeeding with Agile: Software Development Using Scrum“, which is about Mike Cohn’s book “Succeeding with Agile: Software Development Using Scrum“.
You can access the Spanish version of this article following this link.
Since the original article is written in English, I see no need to translate it. Please visit the original article here: http://www.infoq.com/articles/cohn-chapter8
Agile Triple Constraint
0Back from vacations, the recently past year was an interesting one; full of changes and challenges. This upcoming year is one I’m very optimistic on; I see a lot of opportunities, discussion spaces and new fresh ideas coming up.
New Year: new blog post. This time, I’d like to write about one of the comparisons/competitions I hear the most in the agile world: PMPs in an agile environment.
Several times I hear questions or arguments from PMPs (I’m a PMP also) about how to implement agile, why agile doesn’t seem to fit on a PMI environment, and so.
There are lots of things going on in the PMI-Agile world, especially after mid-2009. A very interesting argument I heard so far is about helping PMPs change their minds and/or understand better the way agile works from a high level is:
Agile approach has three major areas:
- Engineering Practices
- Leadership Practices
- Project Management Practices
While focusing only on the Project Management Practices, we can talk about the so known “triple constraint”:
In any Project Management environment the most important variables to monitor when managing a project are: Scope, Time and Cost. (Also Quality, Client Satisfaction and Risk are; but for this opportunity we’ll focus just on the first three).
Traditional Project Management states that whenever you start a project, you start from the Scope. Once you have the Scope clarified enough you start playing with resources, assignments and sequence of activities, that will lead you to determine the Time it will take and the Cost it will have. Result: a pretty nice Gantt chart.
Then you go back to the business and/or sponsors; present the result and the typical reaction is: You’re asked to reduce Time and Cost.
Then, as a Project Manager, you start thinking about increasing the team, splitting the work in different phases, build things in parallel (increasing risk of course). The traditional challenge then turns into the traditional problem: very complex Gantt charts, with very complex dependencies that will require very hard coordination and tracking.
Instead, Agile Project Planning approaches the same problem from another direction; the starting point is Time + Cost: How much money wants to be invested for how long? This gives you a team for a certain period of time, and the commitment to deliver the best possible amount of software.
That way you have:
- A Fixed Cost: The team members 8hours of work).
- A Fixed Time: Time boxes, iterations, releases.
- A variable Scope: Then the Scope is the variable part of the triangle, which is injected into iteration after iteration and transformed into working software.
In my opinion, this is the clearest explanation on the different points of view from each of the approaches: traditional and agile ones. Don’t you?
Photograph by Yui Kubo: http://www.flickr.com/photos/yu-kubo/398714467/
Working with Y Generation
1
Being a leader of a young-people’s team (and with this I’m not referring to the inner child we all have) requires both to know about them and to understand the way they interact with the agile methodologies.
Who are they? The Generation “Y” or also know as the “Millennials”, “The Internet Generation”, or even “The Google Generation” is the one comprising the demographic segment borned between 1981 and 1997. And they are now entering the global workforce.
It’s the MTV and “All Stars” Generation who experienced the end of the Cold War, the spread of non-traditional family models and the technology revolution. There are the young people who couldn’t conceive life without technology (SMS, mobile phones, IPods, Reality Shows and Internet 2.0) and who probably wouldn’t also live without it.
The strong sense of group identification through which they build their personal identity has become one of their most forceful features (who haven’t heard about “urban tribes”?). The Generation Y doesn’t think in a future based on a single job (unlike previous generations), nor they think in a long-term plan. Their life plan is “today”, they are curious, they love to experiment, to change jobs and “not take sides”.
For some reason and unlike the previous generation, they Gen Y feels unenthusiastic for public participation and doesn’t accept the traditional authority figures, being more collaborative than hierarchical.
What is important to bear in mind when working with them in the software development, but also in any other kind of job?
- They have a very low attention span and get bored easily. Thus, not-to-long tasks which bring frequent outcomes are strongly recommended. This doesn’t mean they are not willing to work, by contrast, they’re really enthusiastic, but need immediate gratifications (as they received during their childhood).
- They ignore long-term plans, strictly defined scopes. They have an affinity with both incremental planning and development in which they want to participate actively.
- Gen Y is willing to learn, and they keep up quite well with technologic advances, this is something very positive to grasp new concepts and ways of working.
- Impatience: They cannot wait to get a better position, even though they have just started and they haven’t gained experience enough. They need help in controlling their anxiety.
- Gen Y is used to chaos, and doesn’t feel uncomfortable with confusion. This represents an advantage when considering the constant changes today in businesses. However, they require both a strong coaching to lead them and an environment which accepts these changes to keep them focused on objectives continually being defined.
- Flexibility (may be too much). The variety of options they have at the reach of hand makes them think that if they don’t get what they want by one mean, they can get it by another. This affects directly their job as far as when picking a job, many of them don’t work “because they need to” but “because they want to” and timetables, job requirements, salary and expectations become crucial to decide whether to stay or go.
- “Multi-tasking”. Gen Y has developed an ability to deal with more than one issue at a time. What could simply be considered as an advantage can turn into an drawback because of their lapse of concentration and the delay rooted on multi-tasking activities, contrary to a work focus on one single thing at a time.
They are still too young. Even though they look like as know-it-all people by the way they ussualy introduce themselves, the Generation Y people don’t rely on a vast labor experience, and we don’t know exactly what to expect from them. Furthermore, their recent introduction to the job market and the way they behave could generate integration conflicts with previous generations. Thus is necessary to understand how they work and to keep alert for the sake of the team.
With its pros and cons, Generation “Why” is here to stay and agile methodologies will grow with them, retrospective after retrospective, taken their input into account and being shaped based on their behavior. Definitively.
Increasing Performance Using Multiple Monitors
3A few months ago I was reading an article, initially published by Jason Calacanis and later translated into Spanish by Alec Oxenford, about money savings by implementing quick and simple tips as part of a start-up. One of the most discussed points was the usage of multiple monitors to increase the developers performance.
Today, I found Stefan Didak home office photo on Flikr .

This finally raised my curiosity on how a developer performance can be boost by using more than one monitor.

After a quick research looking for statistical data and performance increase facts, i found no more than a few personal experiences posted by people that tested multiple monitors and papers published by monitor and video card manufacturers.
ANew York Times Artivle states that the productivity increases between 20% and 30%. The experience comes from writers who can work on their articles while seeing the outline or draft on the second monitor; designers who can edit images in one monitor and having a previous version (or the original) in the second monitor for their reference. Some few are from Web-shoppers who can do their orders in an easier way.
Obviously all this activities can also be done using a single monitor; the clue here is the increase in the velocity used to do each activity. The time taken in looking for the window in the task bar and activating it (and back) is significantly higher than the one taken to look at the other monitor instead. Yes, the experts use Alt-Tab; but the issue here appears when trying to reach back to the original window, there are two alternatives 1) get back using Alt-Shift-Tab or 2) keep pressing Alt-Tab several times until reaching up the original window. This is really a time waste.
Additionally, I found an article published in Computerworld; it also talks about using multiple monitors, but it states that in several cases, employees preffer a single monitor in order to have more free space in their desks.
In my personal experience, i work with a 14″ wide-screen notebook. During some time I had the opportunity to have a second monitor in the office, a 17″ one, and the comfort it gave me was really higher. It let me work on the project documents and spreadsheets while reading e-mails in the second monitor and using MS project, which is not designed for a 14″ monitor at all.
A second monitor can definitely increase the comfort and velocity; and in consequence the productivity. The only remaining fact to research about is if the cost increment associated with the acquisition and maintenance of the double monitors makes sense… But I’ll leave it to your own criteria.


