Software Engineering versus Software Management

Posted on Julio 28th, 2010 by Santiago Ceria

Before getting into discussions about SEMAT I need to talk about a related topic I think will clarify my point of view on the initiative.
In Nov 1990 Mary Shaw published in IEEE Software a great, very influential paper titled “Prospects for an Engineering Discipline of Software”. In November 2009 she published an update of her view on the subject titled “Continuing Prospects for an Engineering Discipline of Software”. This short article is also very interesting and I would like to extract a paragraph from it. Talking about CMM, Shaw says: “Software has engineering challenges aplenty, and mislabeling management and process issues as “engineering” diverts attention from the equally important technical issues of creating a systematic, scientific basis for an engineering discipline. Our prospects would be better if we’d recognize the former as “software management,” allowing the latter to fully occupy the mindspace of “software engineering.” No other engineering discipline suffers this confusion. As for our field’s maturity, whenever someone says, “We don’t need technical advances; we need a better process,” that’s a sign that production skills haven’t yet brought us to a fully mature commercial practice.”
Commercial practice, according to Shaw, is the previous step to Engineering Discipline, where we have a strong and widely accepted scientific basis. I think that Shaw is right in that equaling software process issues to software engineering is wrong and misleading. And that mistake is one of the reasons why some people, who are also wrong in my humble opinion, say that “the whole engineering approach to developing software is wrong”. If you are to believe in the SEMAT initiative, you have to agree on the definitions that Shaw presents on those two papers. In an MIT course I found a definition of engineering that is very simple: “Engineering is purposeful science”.
As I do agree with Shaw’s definitions, I think the SEMAT initiative is headed in the right direction. More to come…

SEMAT – A new hope?

Posted on Julio 19th, 2010 by Santiago Ceria

During the SEAFOOD conference I attended in June we had a Keynote from Ivar Jacobson where he presented the SEMAT initiative that he is leading with Bertrand Meyer and Richard Soley. I have to include some texts to present SEMAT:
“Semat seeks to develop a rigorous, theoretically sound basis for software engineering practice, and its wide adoption by industry and academia.”
The SEMAT Call for Action states:
“Software engineering is gravely hampered today by immature practices. Specific problems include:
• The prevalence of fads more typical of fashion industry than of an engineering discipline.
• The lack of a sound, widely accepted theoretical basis.
• The huge number of methods and method variants, with differences little understood and artificially magnified.
• The lack of credible experimental evaluation and validation.
• The split between industry practice and academic research.
We support a process to refound software engineering based on a solid theory, proven principles and best practices that:
• Include a kernel of widely-agreed elements, extensible for specific uses
• Addresses both technology and people issues
• Are supported by industry, academia, researchers and users
• Support extension in the face of changing requirements and technology”
It’s hard not to agree with the above. However, some important persons in the international software engineering community such as Alistair Cockburn believe that this initiative is flawed (see: http://alistair.cockburn.us/A+Detailed+Critique+of+the+SEMAT+Initiative). For the moment I invite the readers of this blog to take a look at the SEMAT site. I’ll come back soon with my comments. Initially, I find this initiative very promising and I believe that the fact that the goal they are trying to achieve is extremely hard shouldn’t prevent us from giving it a try.

SEAFOOD Presentation

Posted on Julio 13th, 2010 by Santiago Ceria

Last month I presented at SEAFOOD 2010 a paper we wrote with Carlos Pallotti about Argentina’s Offshore Software Industry. It’s great to see how Argentina is, little by little, getting more attention in the offshore landscape. However, we are not alone: many countries around the globe are doing the same and many of them have interesting competitive advantages. Just to mention an example, Russia, the Country that hosted the conference, has a very compatible time zone with Western Europe and a very strong scientific system. I also got the impression that Argentina is somewhat ahead in the adoption of innovative Software Engineering approaches. I hope this will also help us.

I got an interesting question from someone in the audience who asked “Considering Spanish is the most spoken language in the world after Mandarin Chinese, why do you say that Argentina’s good level of English is a competitive advantage”. My answer was the typical “The most attractive markets require English”, but it left me thinking whether Argentina is using this opportunity as much as it should.

We also had quite interesting Keynotes from Ivar Jacobson, about SEMAT, from Bertrand Meyer, about Empirical Software Engineering, and from Richar Soley, about his work at OMG. The SEMAT initiative is very interesting, although it received some powerful critics. I’ll write a post about it soon.

Innovation in Offshore Relationships

Posted on Julio 5th, 2010 by Juan Navarro

The other day I ran into a very interesting McKinsey article. It describes how successful innovators are shaping the offshore industry. I found the article very clear and right on the mark. It is titled “How innovators are changing IT offshoring”, available from the McKinsey Quarterly. If you have access to it, I’d recommend you read it.

Basically, the authors argue that to achieve long term productivity in an offshore relationship, clients and vendors should engage through a “managed service” model instead of the more traditional “staff augmentation” model. The “managed service” model implies that more leeway is granted to the vendor, so as to allow the offshore company to staff and manage the team more freely. The client does not micromanage what’s happening in the offshore location. In turn, more responsibility for the delivery of concrete services is demanded from the vendor, as well as deeper functional knowledge and alignment with high level business metrics of the client. This model requires trust. Trust is hard to come by these days, but it’s very powerful when appropriately leveraged in an offshore relationship.

Most interesting is one of the metrics brought to the table as an indicator of successful relationships: people retention.

At Hexacta we have always believed that keeping a motivated team is crucial to achieving high productivity and to retain valuable resources. Key for keeping motivation high is setting up the right team structure in the offshore location. Offshore teams should be structured with different seniority levels, and should have a strong local management. Having different seniority levels in the team allows for the most complex tasks to be tackled by the most experienced developers while the easier and repetitive tasks are tackled by the more junior team members. This provides room for people to grow, to coach and to be coached, thus rising motivation. Team member rotation is also necessary. When appropriately planned, functional knowledge is not lost, it is refreshing for the team and ends up generating a much higher retention level.

It is nice to hear that what we’ve advocated for many years is now recognized as a best practice. It’s also nice to be called an “innovator” after so many years of thinking the same way!

Latam vs. India

Posted on Mayo 27th, 2010 by Ricardo Farias

A few weeks ago I attended the webinar “Near-shoring in Latina America” organized by ThinkSolutions and the Outsourcing Institute. Although this webinar was targeted to US companies seeking to offshore, it was very interesting to participate as a services provider.

I was surprised, and so were the organizers, about the large number of people attending the event –a proof of how Latam is stepping forward to a major role in the global outsourcing industry. The webinar´s themes were about the outsourcing differences between Latam and India and what are the strengths of the region.

Here is a summary of the main points discussed that are worth mentioning:

First, as India is experiencing the new IT “gold-rush”, its average service price is rising. Second, English is taught as a second language in Latin-America. Third, the region is closer than India to the US market. Finally, Latam has lower turnover than India and it has a closer cultural affinity with the US.

These last two stand out as they represent the greater pain-points for an IT manager looking to offshore. The lower turnover means a more stable team for a smoother and timelier project; in fact Latam has 5% less turnover than India. Latam´s cultural affinity with the US plays a key role in the communication process between the two parties, lowering the risk of unwanted surprises. Moreover, Latam culture replaces the Indian “Yes to everything” to the “straight answers one.

Some of the other advantages of outsourcing to Latam discussed in the webinar are: good telecommunications infrastructure, high quality education system, similar time-zone with the US, presence of the leading technology providers like IBM and Microsoft, well trained developers and managers, who already have experience in important projects and finally the rising support of the local governments.

To sum up, many people in the US and other markets seem to be recognizing that Latam has unique competitive advantages, quality resources and the technical capability to seduce US business to work with local companies. The industry is growing fast, and there is no doubt about the arrival of the region as a major player in the global outsourcing scene.