Thursday 20 December 2007

New Software Development Jobs Board - Free Job Posting Until January 15, 2008

Software development jobs for programmers (java, .net, c/c++, cobol, php, ruby, xml, javascript), software and business analysts (UML), user interface specialists (ajax, flash, silverlight), project managers (RUP, agile approaches), database administration (oracle, sql server, db2, mysql), software configuration management and system administration.

Get additional visibility as your postings will be reproduced in Methods & Tools issues and will reach a worldwide community of more than 50'000 software development professionals. Distribution: Asia 37%, North America 27%, Europe 23%, South America 8%, Africa 3%, Australia 2%.

http://www.softdevjobs.com/

Friday 23 November 2007

New Software Quality Assurance Portal

The Software Quality Assurance Zone is a repository for resources concerning software testing (unit testing, functional testing, regression testing, load testing), code review and inspection, bug and defect tracking, continuous integration. The content consists of articles, news, press releases, quotations, books reviews and links to articles, Web sites, tools, blogs, conferences and other elements concerning software quality assurance. Feel free to contribute with your own articles, links or press releases.

Tuesday 30 October 2007

Lower Software Maintenance Period?

Software maintenance is an important part of the software development activity, but it is also the less discussed. As an example of its relative importance, you could just compare the space occupied by "software maintenance" and "test driven development" in Wikipedia (and I have nothing against TDD). Furthermore, software maintenance is a topic that is mostly discussed by university scholars and no practitioners. Have you ever heard of a software maintenance guru or agile software maintenance?

The main theory is that maintenance is "just" like software development on existing systems and does not need particular approaches or skill. Anyone who has spend time trying to understand an existing program or an architecture that has been twisted during some years knows that this activity is different from new projects.

Our last poll wanted to know what percentage of your software development budget was devoted to maintenance. Maintenance is defined as the process of correcting, enhancing and optimising deployed software. Here are the answers:

25% or less of the budget ...........37%
26% to 50% of the budget ............27%
51% to 75% of the budget ............24%
more than 75% of the budget .........12%

Number of participants: 433

The annual maintenance costs in the US are estimated at over $ 70 billion. According to the different studies produced in the last century, maintenance should cost between 66% and 90% of the total life cycle costs. We can see in our survey that the majority of the participants estimate their maintenance budget below the 50% threshold. If we accept that these numbers are representative of a modified situation, many hypothesis can be made to explain it.

The adoption externally developed software (like ERP) for the large enterprise application has replaced the in-house development of the last century. Thus, a large part of the maintenance budget could be displaced to the licence area. This could also push the development teams of participating organisations to work on smaller applications, so there is less maintenance because this type of software is more easily replaced, especially in the Web world. The new technologies (Web, services) could also explain the lower level of maintenance spending. Many organisations are currently redeveloping applications to use these new technologies, freezing in the meantime the evolution and spending on existing software. The rapid evolution of Web technologies reduces the life expectancy of application and therefore the maintenance budget. Even if the backend remains unchanged, there has been a many evolutions / redevelopment from the initial static Web to the current Rich Interface Application trend. Finally, the outsourcing of maintenance activities to lower cost countries reduce proportion of the maintenance part in overall software development costs for organisation that locates new development in the US or Europe, where the majority of the Methods & Tools readers are.

Resources and numbers on maintenance:

Software Maintenance Costs

A software maintenance survey

Software Maintenance As Part of the Software Life Cycle

A Study in Software Maintenance

Software Maintenance and Evolution: a Roadmap

Measurements to Manage Software Maintenance

Evolution or Maintenance of Quality Software: An exploratory interview study in nine Swedish organisation

Tuesday 23 October 2007

BEA Systems vs Oracle: the Players and the Eventual Winners

The offer made by Oracle to buy BEA Systems for $17.00 a share (total value $6.6 billion) is one that could change the current state of the software development market. Currently BEA Systems board is refusing the proposal, stating that it undervalues the company. The stock market thinks also that the price could be higher as the closing price of BEA shares last week was above $18, even is some analysts declared that Oracle proposed price was high.

What benefits could Oracle achieve with this deal? Technically, it will acquire Web server and transaction monitoring software expertise. Even if Oracle has already its own set of products competing with BEA Systems, its technical reputation is a little bit lower in this area. Financially, the acquisition could provide additional revenues, a strategy Oracle has followed these past years with PeopleSoft and other targets. In this area, Oracle seems to transform itself in a Computer Associates-like company, more driven by financial interests than technical capabilities.

Even if it is only a "mid-size" company, BEA Systems is not a small fish in the software market and there are not many companies that can afford to buy it. So what are the other players that could enter this game? Oracle main competitor, SAP, has just announced the acquisition of Business Objects and is usually looking for more business oriented targets. IBM could be interested, but then there is many products overlap between the two companies that will make integration difficult. HP could be another possible acquirer, as it is currently trying to increase the software part of its revenues. Its interest will depend on the price to pay and how its current digestion of former acquisitions like Mercury and Peregrine is progressing. Finally, Computer Associates could also jump in the process if the price is right, but this is difficult as BEA Systems has not released audited financial figures for a long time, due to stock option issues.

In the winners side of this situation, we could certainly find IBM and JBoss, as uncertainty about the future of a company is always a strong topic that buyers will consider when the look for their Web server. Losers will be BEA Systems customers, because company executives will be distracted by the battle and that a change of ownership always rise questions on the future roadmap of the products and the availability of knowledgeable people to provide some support.

There are many probabilities that the following actions of Oracle proposal will be on the financial area. It will be interesting to see if BEA Systems shareholders will resist selling their shares and if Oracle will slightly increase its price so that everybody could look satisfied at the end. Hint: Oracle rarely takes "no" for a correct answer to its bids.

Wednesday 3 October 2007

A "Bones" Approach for Dead Projects

Rest In Peace (from Latin requiescat in pace) is a sentence that typically appears on christian tombstones. Software development projects have usually the same destiny. Once they are finished, often the best thing that will happen is a little celebration for the project team. Nobody will formally look back at a project to understand what went well or wrong and why those things happen, so that this project can actually rest in peace and lessons learned could be used for the next projects. There is however an activity to analyze project after their completion. It is called "post mortem" analysis (so the RIP reference is not far) or "retrospective" in the agile approach. If you have not heard about this practice or never performed such activity, you should not be ashamed. I have never seen its implementation in my software development life. Even in the last Agile survey published by Version One, where a large majority of respondents are using an agile approach, only 39% of the participants are using this practice. Why?

The first explanation is that time is a rare resource in software development organizations. It is often associated to money in budget-driven companies. As there is a sense of urgency, people try to use their available time for the more essential (for them) activities. It is sometimes already difficult to justify taking some time to think before coding, that trying to have time to think after coding could seems an utopia. It is also difficult to tell as a project leader that you will spend some man/days after the project's completion to think about what went wrong. Are you not supposed to do things right in the first time?

Our difficulty to create a context for constructive criticism is another issue faced when you try to institute some "post mortem" reflections. This is mainly due to the difficulty to separate the problems from the people that are associated to them. This is an important issue in organizations where professional excellence is a driver for monetary gains and career evolution. Will you speak openly about project problems if part of your (or your colleague) salary is a bonus linked to achieving certain professional goals? Maybe not...

There are however techniques that could help you to profit from lessons learned without creating personal issues, so that your past projects could really rest in peace and everybody could improve from a shared experience. You will find more resources about post-mortem or retrospectives for software development projects in the following articles:

* Refactoring Your Development Process with Retrospectives by Rachel Davies (HTML)

* Retrospective Agility by Tim MacKinnon in Objective View issue #8 (PDF)

* Plan of Action by Bas Vodde (HTML)

* Project "Post Mortem" Review Questions by Michael Greer (HTML)

* A Review of Small and Large Post-Mortem Analysis Methods by Mauri Myllyaho1 et al. (PDF)

Wednesday 26 September 2007

Doctor Beck and Mister Dilbert

Following a dzone.com link, I reached an article accompanying a presentation made by Joe Rainsberger at the Agile 2007 conference. This article, "My Greatest Misses: XP 2000-2007", is an honest experience report on the many issues and failures met by Joe Rainsberger as an agile change agent during these years, trying to teach others the merit of the extreme programming approach created by Kent Beck.

Seeing an agile coach admitting publicly its weaknesses dealing with people is an ironic situation that makes it an easy target to criticise agile approaches. If I would have like to add an additional "dark" humour remark, I would have said that the advantage of agile approaches above other processes is that they at least recognise their difficulties to deal with the "people factor", as I never saw this kind of report from a RUP consultant. But I am not so bad. Or am I? ;o)

More seriously, I found that this presentation is a very courageous step from Joe Rainsberger. It is not easy to admit and talk about the problems he met as an agile coach, as it is always difficult for us to recognise our mistakes, without even thinking to make a public presentation about them. Joe Rainsberger does this very sensibly, as he does not blame other people for its own failures, a practice we too often follow. In my opinion, the main message in this article is not about the agile approach, but about changing software development people and organisations. This paper summarises very well the problems we could all face when we try to implement a new approach or a new tool in an organisation. We would like to find enthusiastic people who want to improve their work context and believing in the solutions that we are offering them to achieve this goal. The truth is that we work more in a dilbertian universe as describe in the Waterfall Manifesto, than in an agile paradise. In the reality, there are many reasons for developers to prevent change, to choose other solutions that the one we provide or simply to change at a different (read slower) speed that what we would like them to do it. I am always dubious when people advocates a "big bang" and "all or nothing" change strategy as this has in my opinion many chances to fail (we could have another interesting discussion about the differences between the "appearance of change" and the "reality of change" in an organisation...). There are some situations (very serious crisis, above average people) where change can happens more easily and quickly. However, in medium and large size organisation, you will found that change could only happen gradually and often "imperfectly".

Joe Rainsberg's paper should remind us that it takes many iterations to implement change... and to become an agile coach. Thank you Joe for sharing openly this experience with us, keep on your work and I am looking forward to read in 2014 what you will have learned again in the past seven years.

Monday 20 August 2007

More than 500 Software Development Tools

The Software Development Tools Directory has just registered its 500th tools. This web site regroups both open source and commercial tools used to develop software. Companies and open source projects can also post news about their activities. If you are active in the software development tools sector, do not hesitate to register and to contribute.

Thursday 16 August 2007

If You Can't Beat Them, Join Them !

August 13th, Borland's subsidiary CodeGear announced JGear™, a set of specialised plug-ins for the Eclipse open-source development platform. JGear augments Eclipse in three areas - Java application performance, visual development and team collaboration. According to CodeGear, the top pain points for Java developers using Eclipse stem from the difficulties of application performance tuning , Java code archaeology, coding and configuring Java servers and frameworks, team collaboration

The new JGear product line includes - JGear™ Performance for Eclipse, JGear™ LiveSource® for Eclipse, and JGear™ Team for Eclipse (both Client and Server editions). JGear Performance contains a variety of performance and tuning features such as memory and CPU profiling and debugging; automatic detection of potential memory leaks; and real-time monitoring of programs' use of virtual machine memory. JGear LiveSource includes a graphical EJB workbench and Web services designer; Unified Modeling Language visualisation of code artefacts and design for analysing an application's design and implementation; CodeGear's LiveSource technology that simultaneously replicates changes to models in the code and vice versa to aid alignment between software architects and developers; and creation of Enterprise JavaBeans and model relationships. JGear Team offers a complete agile team collaboration and development system based on open-source components. JGear Team is both a turnkey server solution and an Eclipse developer client solution JGear Team Server is a team development server stack based on best of breed open-source components such as Subversion, Bugzilla, Continuum, and XPlanner. JGear Team Server includes ProjectAssist™ - the JGear Team administrator client for simple single-click server installation and configuration, team project creation, user administration and setup.

This is a normal evolution for CodeGear as the future is difficult in the software development IDE sector if you want to remain the supplier of an isolated solution. Competition with open source and free products like Eclipse or NetBeans is difficult to sustain. A better strategy is to offer additional services that could be missing in the core open source solution and that developers are ready to pay some dollars to obtain. Acting like this in the Eclipse ecosystems, CodeGear recognises that its survival may depend on its ability to transform itself from software producer to plug-in developer.

http://www.codegear.com/
http://www.eclipse.org/

Wednesday 8 August 2007

The Waterfall Manifesto for Realistic Software Development

After participating to and observing many software development projects in recent years, we have reached the sad conclusion that there will never be better ways of developing software on this planet. While the principles of the Manifesto for Agile Software Development may look appealing for inexperienced developers, serious professionals know that the real world is not similar to the “Little House on the Prairie”

This is the beginning of the story told in The Waterfall Manifesto for Realistic Software Development, an humourous mirror site to the Manifesto for Agile Software Development

Thursday 2 August 2007

A View from the Top on Web 2.0

Recent publications of surveys on Web 2.0 usage by McKinsey, The Economist or Forrester Research presents some interesting information on how managers and CIO see the new technologies that have conquered the Web these recent years. Let us look at their content before trying to analyse what they could mean.

The McKinsey Quarterly

In January of this year, The McKinsey Quarterly conducted a survey on the usage of Web 2.0 techniques with 2847 participants worldwide. Web 2.0 is defined as a collection of technologies: Web services, collective intelligence, peer-to-peer networking, social networking, RSS, podcast, wiki, blog and mash-up.

The most used technology was Web services (80 %), followed by collective intelligence and peer-to-peer networking with a percentage close to 50 %. Those three technologies were also the one the most cited when participants were asked to identify the three technologies the most important for their business. Few participants say that their companies are using more than two Web 2.0 technologies.

As far as satisfaction is concerned, 16 % of the participants said that they were very satisfied of the financial return on their investment in Web 2.0 technologies over the past 5 years and 35% were somewhat satisfied. Only 6 % were dissatisfied. For most of the respondents, the Web 2.0 tools were used to manage collaboration internally (75%), close to interface of customers (70 %). Interface with suppliers and partners with Web 2.0 is performed by only 51 % of the participants. In the discussions with participants that are included at the end of the paper, we see that blogs and RSS are the most mentioned tools to communicate with customers.

The Economist Intelligence Unit

A report, entitled "Serious Business: Web 2.0 Goes Corporate", was conducted by the Economist Intelligence Unit (EIU) and sponsored by enterprise search business Fast. The survey asked 406 senior executives for their views on Web 2.0.

The vast majority of respondents (79 %) said they saw potential in the likes of blogs and social networks to boost company revenues and reduce costs. In spite of this desire to cash in, many businesses cited a lack of understanding of the technology as a barrier to using it. Over a quarter of respondents said their IT departments lacked the competence level to implement Web 2.0 applications effectively.

A third of executives questioned said a lack of resources to implement these new functions represented a major obstacle to their business. While there may be barriers to embracing Web 2.0 the study found that businesses expect it to play a key role in how they communicate, both internally and externally. The report found that 68 % of executives considered it to be the single biggest factor changing the way their company interacts with customers while 49 % said it would be the biggest factor affecting how employees interact with each other and the business.

Forrester Research

A majority of IT buyers see Web 2.0 in a positive light, but CIOs would prefer to buy the emerging technologies in suites from larger incumbent vendors. That's the nut of the situation according to a recent survey by Forrester Research of 275 IT buyers in June on Web 2.0 technologies. About 16 % said they are hearing about Web 2.0 from vendors all the time, and 50 per cent said vendors pitch Web 2.0 technologies to them from time to time. About 20 % are hearing from vendors on the topic, but rarely and 11 % reported they have not been pitched Web 2.0 technologies by their vendors.

Close to all respondents, 97 %, said they were familiar with Web 2.0, which is a category of technologies that includes wiki, blog, RSS, podcast, content tagging and social-networking tools, according to Forrester Research. The research firm says as the market grows it will consolidate, which could please enterprise CIOs. Forrester earlier this year polled about 120 enterprise CIOs about the Web 2.0 market and found consolidation is ideal for their plans with the technologies. "The enterprise Web 2.0 market is beginning to consolidate" and CIOs Forrester polled "couldn't be happier," Forrester reports.

"Overall, 61 % of respondents indicated that they would prefer both a suite solution and a large incumbent vendor," Forrester concluded. "The deck appears to be stacked against small pure-play vendors. Integration issues, longevity concerns and the occasional lack of polish send CIOs looking for other options." Survey respondents also want the technologies integrated into their back-end systems, which leads them to want to see Web 2.0 suites from incumbent vendors. Forrester found that 93 %t of the CIOs survey using six Web 2.0 technologies would rather get the products from such vendors as Microsoft, IBM or Oracle than from smaller, pure-play vendors, such as Socialtext, NewsGator or MindTouch.

So what?

In my opinion, many managers and CIO have a distant view from the Web 2.0 technology. As usual, some adopters use these new tools just because it is "cool" or their manager has read in the last edition of "Business Week" that they should do it. These organisations tend to see Web 2.0 as a technological issue, but the real challenge is to provide valuable content and modify interaction with users. Installing a blog or a RSS feed is not really difficult, as I can even do it myself ;o) It is however another aspect when you have to blog regularly, provide interesting content and manage the feedback created by the posts. It is also interesting to see that Web 2.0 is seen by the business as mostly a new way to interact with customers or inside the organisation. It is not yet considered as something that could be used in B2B relationships or in internal business applications. This explains also why you can read about the "technological gap" of traditional IT departments versus these technologies and the fact that buyers will prefer solutions by large vendors. In large IT organisation, this is a widespread attitude to hesitate to let developers use "new" technology from new vendors, this can be linked to the time it took to open source technologies to be widely adopted.

Sources:

The McKinsey Quarterly (March / July 2007
(free access with registration)

Web 2.0 baffles businesses, says survey @ theregister.co.uk

IT buyers positive on Web 2.0, survey says / itbusinesss.ca

Tuesday 17 July 2007

A Picture is Worth a Thousand Words

This is obviously true for me when I look at cartoons that can summarise many things in just a small strip. Look at the last production from Bug Bash to present a good view of many software development processes. Be careful: if you like it, you may spend a long time laughing when browsing the previous cartoons.

Tuesday 3 July 2007

What's Right with Agile Methods

In the recent years, the agile development approaches have been gaining more and more interest and acceptance in software development organisations. This has been a rapid adoption for ideas that were formalised in 2001 with the signature of the Agile Manifesto by a group of software development thinkers.

The basic value of agile approaches is to put back some emphasis on the importance of people collaboration, both developers and customers, in software development projects. This position was taken at a time where the software development world was under the influence of "process-centred" visions that could be exemplified by approaches like the Capability Maturity Model (CMM) or the Rational Unified Process (RUP). These visions provide an enormous amount of valuable material on how to develop software in a well-structured framework. Even if the goal of these approaches was to provide a global framework that has to be adapted to the specific situation of each project, the natural tendency of people was to perform every activity proposed, often for fear of missing something important. The basis of the agile movement is what I would call a "bottom-up" approach. You have to do just the minimal set of activities to produce quality software that satisfies the customer needs. They are also appealing for people who are ready to trade the sometimes false security of planning for the added flexibility of an always changing context.

Agile approaches are not the silver bullet of software development. One could argue for instance that "constant customer collaboration" is not so easy to realise in the real life. Tom Gilb also argues that agile approaches are soft on requirements quantification and many thinks that "you cannot manage what you cannot measure". Although agile approaches are strong on project status (especially with Scrum), their overall reluctance to spend initial time in analysis and design make them use a "soft" approach to requirements definition and prioritization. Agile ideas could not be considered as new. Prioritising requirements for short iterations could be seen as rebirth of evolutionary development or of the "time boxing" principle of RAD. We will have to see how applications developed using an agile method will evolve during their maintenance phase, even if we cannot say that applications developed using other approaches are necessarily easy to maintain. Finally, agile approaches will have also to face the "mass adoption barrier". Early adopters of new approaches are often motivated and intelligent people trying to improve their current situation. With this kind of people, it is easier for projects to succeed. It is when the "average" developer starts to use a new approach in the "average" organisation that its value can be fully acknowledged.

It should be recognised that agile approaches have brought a balancing influence to the "process is the king" attitude and that many projects could benefits from this "good enough" software development processes that need a strong customer-developer collaboration. You should also consider that agile development is not a weak approach. Individuals have a strong individual responsibility to produce quality code with a strong emphasis on unit testing and short iterations provide improved visibility on the project status and achievements. You cannot hide failure very long if you deliver every two weeks.

Finally, the conclusion is that there is nothing right or wrong with agile approaches. Each project has its own context: development teams, customer requirements and organisational environment. You have to adopt the process that gives your project the most chances to succeed under the current circumstances, taking valuable tools from every approach.

Thursday 28 June 2007

700th Software Development Article

The Software Development Article Directory has just registered its 700th article with "What Have the Romans Ever Done for Us?" ;o) This article is an interesting digression of the differences between software development and software engineering that evolves in a comparison of the agile and planned approaches to software development using the differences between the Greek and Roman civilisations.

Wednesday 20 June 2007

Game & Software Development Essays

Surfing the Web last week, I found this interesting blog, Lost Garden, written by Danc, a guy with experience in game design and programming. Most of the posts are devoted to game interface and I like the taste of the author for illustrations. Programmers will find interesting and humorous observations on user interface and about the software development job, notably the post Software Development's Evolution towards Product Design.

Wednesday 23 May 2007

The Relative Importance of Web Development

If you follow the evolution of software development on Internet, you may have the impression that every new development is Web based and that the main areas of concern are whether you should develop new application with Ruby on Rail or if you should choose Flash rather than Ajax for the interface. However, if you ask developers, you may find that the Web is not as ubiquitous in their work as you may think.

Even if 66% of the participants develop the majority of their new applications with a browser as the interface, there is still a large portion of developers that are working today for operating contexts that are outside the Web world, like embedded software or Windows applications.

Get the full results of this poll here

Thursday 17 May 2007

Software Development Articles

Some of the last interesting additions to our directory of software development articles:

* Smells to Refactorings
This handy cheat sheet maps code smells to their likely refactorings with corresponding page references to source material contained in the books Refactoring: Improving the Design of Existing Code by Martin Fowler and Refactoring to Patterns by Joshua Kerievsky.

* Invasion Of The Dynamic Language Weenies
A critical and humourous look at the increased usage of dynamic (interpreted) languages for Web applications.

* Bare-Naked Languages or What Not to Model
Domain-specific language (DSL) technology was introduced at Microsoft as part of the software factories methodology. While DSLs are useful as stand-alone languages, placing them in the context of a software factory makes them more powerful and helps avoid some common pitfalls in applying the technology. This article explains how DSLs fit into the software factories methodology and how using the methodology can help DSL developers avoid some common pitfalls.

Thursday 10 May 2007

Agile Autumn for Methods & Tools

I am currently preparing the Autumn and Winter issues and I have recently had the chance to get the cooperation of some agile practitioners:

Rachel Davies that has participated to the creation of the Paircoaching.net association of agile consultants will provide an article on agile retrospectives. I am very happy to collaborate again with Rachel after its article on Agile Requirements published in the Fall 2005 issue.

Jens Norin will write an article on a lean approach to configuration management.

Tamara Sulaiman will look on the value angle of agile projects with experience gained working on Earned Value Management in agile projects

Stay tuned for a Methods & Tools Autumn edition full of practical and expert knowledge.

Tuesday 8 May 2007

MySQL Waits for an IPO

The "M" company of the LAMP acronym has increased its revenues to about $ 50 million in 2006 up from $34 million in 2005. According to a speech given by CEO Marten Mickos at the recent MySQL conference, the company is also close to breakeven, even if this is not a specific goal. MySQL earns money by selling supports for its database product.

MySQL is the dominant player of the open source database market and its strength has forced Microsoft and Oracle to offer free basic versions of their own databases. MySQL has been a target for Oracle when major editors were looking to acquire open source companies like JBoss, now part of Red Hat. Oracle didn't get MySQL but acquired InnoDB, the editor of one of the transactional engine behind MySQL. To justify for the IPO, MySQL's CEO declared that some customers will deal more easily with a public company with open accounting. This could also provide funds to acquire other companies. Both MySQL and Zend (the company behind PHP) are de facto managing the products that are the foundations of many Web sites. I think this will be the best interest of Web developers that these companies stay independent. In this case, an IPO could make it easier that they would be acquired by a competitor, depending on the attitude of the new shareholders.

Wednesday 25 April 2007

Some Software Development Proverbs

This page is a very good place rest your mind in hectic software development times and find some interesting material for you next PowerPoint presentation ;o)

Tuesday 17 April 2007

Getting Rich with Rich Interfaces

At the end of March, Microsoft announced that it had joined the OpenAjax Alliance. The OpenAjax Alliance is an organisation of vendors, open source projects and companies using Ajax that are dedicated to the successful adoption of open and interoperable Ajax-based Web technologies. The prime objective is to accelerate customer success with Ajax by promoting a customer's ability to mix and match solutions from Ajax technology providers. The OpenAjax Hub project is aiming at this goal. The OpenAjax Hub is a set of standard JavaScript functionality defined by the OpenAjax Alliance that addresses important interoperability issues that arise when multiple Ajax libraries are used within the same Web page.

Microsoft joined more than 70 member of the Alliance one year after its foundation. The motivations for this action could be multiple. First Microsoft has launched its ASP.NET AJAX 1.0 product in January. Then there is also the interest to promote Ajax as an "open" solution versus Adobe's Flash as the preferred architecture for the Web rich interface. Microsoft will have to work so that is Ajax solution respects the OpenAjax conformance specifications. As far as the battle for rich Internet interface is concerned, the winner is still to be decided, and there could be more than one. Adobe is currently presenting the alpha release of its Apollo technology. Apollo is the code name for a cross-operating system runtime that supports Flash, Flex, ActionScript, HTML, JavaScript, CSS and Ajax. Adobe is currently targeting the second half of 2007 for the first release of Apollo, supporting Windows and Mac OS X. Support for Linux will be added later. Basically, Adobe is trying to propose a free runtime (like for Flash or Acrobat) that will allow consistent behaviour of Adobe proprietary Web interface solutions and standard technologies. It targets both traditional Web applications and mobile devices.

Tuesday 10 April 2007

Safe Coding

The SANS (SysAdmin, Audit, Network, Security) Institute announces the first secure coding assessment and certification exams for programmers.

Programming professionals can test their secure coding skills, find the gaps, and, if they choose, gain certified status. The examinations each cover a specific programming language suite and are designed to enable reliable measurements of technical proficiency and expertise in identifying and correcting the common programming errors that lead to security vulnerabilities. The exams will be administered in August in Washington DC on a pilot basis, and then will roll out worldwide through the remainder of 2007. The first tests are already available on the Web for the C and Java languages.

Security is surely one of the most neglected area of the software engineering discipline. The security/access model of a new project is often treated as last-minute activity after the functional requirements have been defined. Only companies operating in more sensible industries (banking for instance) have a more pro-active approach to this topic. Now with the increased openness of the internet world and the wide usage of open source code mainly based on interpreted languages, the possible vulnerabilities of applications have increased. Identifying possible security threads and applying programming best practices to prevent common coding mistakes is a goal that every internet programmer should have.

Tuesday 27 March 2007

Spring 2007 Issue of Methods & Tools

In this issue you will find an interesting experience report on software process improvement, a detailed how-to article on modelling by one of the father of Information Engineering, an insightful reflection on how to build trust in a hierarchy relationship and finally a approach to improve the release of software products.

Spring 2007 issue's content:
* Process Improvement – Is it a Lottery?
* Strategic Modeling for Rapid Delivery of Enterprise Architecture
* Fear of Intervention - How Subordinates Grow to be Entrepreneurs
* A Methodology to Support Software Release Decisions

40 pages of software development knowledge.

Download page for the PDF issue

Wednesday 21 March 2007

Slow Developer Growth in the USA?

A recent Evans Data survey was discussed in an InfoWorld article "Software developer growth slows in North America". It tells us that the worldwide software developer population is expected to grow from 14.5 million now to 19.5 million in 2010. North America will account for only 18 percent of those jobs in 2010, down from 23 percent today. While the North American share of the developer work force will decrease, the Asia-Pacific share will increase to close to 45 percent from 37 percent today. The share of developers from EMEA (Europe, the Middle East, and Africa) will slip from 35 percent to 30 percent. The share from Latin America will remain flat at 6 percent. The growth rate for the developer population in Asia-Pacific over the next three to five years is expected to be 15 percent, 8 to 10 percent in EMEA, but only 3 to 4 percent in North America.

A 4 percent growth rate is not bad when the overall population is growing at around one percent. In 2005, a Business Week article mentioned that recent growth rate in computer jobs was 7.5 %. If the InfoWorld article title seems negative for North America and Europe, but we should not forget that demographic trends for both regions are also signalling a slow growth of working population that starts already from a smaller base. This is the contrary of the Asia region where there are already more than 2 billion people with a younger age pyramid. If you are interested by this topic. The US Census Bureau has an interesting Web site with a database containing statistical tables of demographic data for 228 countries and areas of the world.

Monday 5 March 2007

Don't Click Here

The current Methods & Tools poll shows that a majority of participants develop 75% or more of their new applications with a browser as the interface. As Logitech just commemorated its 25-year anniversary, it is time to think about the user interface and the role of the mice in our interaction with computers. The first mice astonished people. There are many stories telling how people misused them, sometimes inventing the trackball before it was needed ;o). We could laugh at this, but it is not always easy to change the way we behave. To test this fact, I suggest that you spend some time on the Web site dontclick.it . As its name suggests, you will surf on this site without clicking on your mouse buttons. Have fun ;o)

Tuesday 27 February 2007

More Offshoring than Outsourcing in Software Development

Outsourcing is often closely related to offshoring in software development, but you can outsource onshore and you can create offshore subsidiaries. This seems to be the current trend for large occidental organisation that want to profit for lower costs in countries like India, but maintain a high control on the process. However, developers in Europe or North America feel no differences if their Asian "competitor" work for a subsidiary or for another organisation. A recent poll from Methods & Tools wanted to know if applications are developed exclusively inside organisations or if outsourcing software development services are used.

The majority of the 346 respondents were equally split between those that are not using outsourcing and those that use it, partially or completely. Complete outsourcing is done by only 6% of participants. There is a need to keep internal expertise when outsourcing is used. The phenomenon of outsourcing of IT services is well known. An article of McKinsey Quarterly estimated the global market for IT and business process outsourcing to $30 billion. The part of software development in this growing market is less known and discussed. In another recent survey published by the Software & Information Industry Association (SIIA), 60% of the participants were offshoring software development efforts and half of them were doing it with external providers.

Get the complete results of this survey with references on Methods & Tools

Friday 23 February 2007

Project Management Simpler Life

We all do projects and know their problems. With these Project Management Proverbs compiled and some written by Mike Harding Roberts, you can provide additional philosophy to this activity or at least add some humour in your PowerPoint presentations ;o)

Monday 19 February 2007

Agility and Discipline Made Easy

The goal of this book is to present good practices for software development that are based on OpenUP and RUP, but independently from these processes. The practices are grouped according to six principles:
* Demonstrate value iteratively
* Focus continuously on quality
* Balance stakeholder priorities
* Collaborate across teams
* Elevate the level of abstraction
* Adapt the process

For each practice, the authors propose a definition, practical advices on how to apply and adopt the practice, related practices and further readings. This material is very practical and contains many references to "real life" situations. The practices are selected from RUP and OpenUP and each chapter has a section devoted to compare the situation in other approaches, mainly XP and Scrum.

This book is full of practical knowledge and I will recommend it to every software developer. The only thing that bothers me is that the authors seemed to be forced to apply the "agile" label on their UP practices, with the implicit assumption that "if it is not waterfall, it is agile" and "if it is not agile it is not good".

Click here to get more details on this book or buy it on amazon.com

Click here to get more details on this book or buy it on amazon.co.uk


References on the Web:
Eclipse Process Framework Project (EPF)

Wednesday 14 February 2007

A Gem About Ruby

When I surf the Web to find articles for my software development articles directory, I discover a lot of very interesting content. Sometimes you find articles that are more than interesting: "Why’s (Poignant) Guide to Ruby" is not just a great Ruby tutorial, it is an artwork ;o) Even if you do not program in Ruby, I would say even if you don't program, you have to read/watch these pages. May the Joy be with you;o)

Wednesday 7 February 2007

The Limits of Cost Cutting

Excerpt from: Stanley Bing, "The 0% Solution", Fortune, Europe Edition, December 18, 2006

News comes from the Department of Labor that productivity growth in nonfarm business in the U.S. hit a critical number in the third quarter. That number was zero, as in naught, as in nothing, no growth at all, not even something you could round up to a minuscule decimal of some kind. [...]

Let's look at what forces are coming together to suppress productivity growth, to see if we can augment them in some way. [...]

Second, I'm thinking that the reason we kept being more productive in the first place wasn't so good. When I started out, my department had 20 people rushing around working very hard. Then the corporation, under pressure from Wall Street to grow our stock price every day, decided to do what analysts, investment bankers, and business reporters all agree is the most terrific thing a successful enterprise can do: fire a bunch of people and make those who remain do the work that used to be done by others. Before long, we had ten people doing the work of 20. This naturally produced impressive gains in individual productivity. Of course it did! But at what cost, I ask you. Actually, I'm not asking you, I'm telling you. A big one.
The things that's happened now is that corporate America is just about done firing people, because if management wants to fire any more people, it's going to have to start firing itself. That's expensive. Firing an executive is often more expensive than retaining him.[...]

Monday 5 February 2007

Software Development News Redesigned

I have just completed a redesign of the Software Development News Web site, trying to give it an easier user interface. This Web site displays selected news from around the Web on software development topics like .NET, Java, PHP, C, XML, databases, open source, programming, Web services, agile software development, etc. If you know some interesting RSS stream that could be added to this portal, just let me know.

Friday 2 February 2007

Software Factories: Success or Failure?

A recent InfoWorld article publicized the blog post of S. Somasegar, corporate vice president of the Microsoft Developer Division, celebrating the fact that its Software Factories product had more than 100,000 downloads in six months. The InfoWorld article was rather negative on the technology as an analyst defined the Software Factory technology as "unimportant".

Initiatives like the software factories or the software product lines are often badly considered in the software development world. First, they are not really understood. In the InfoWorld article, the analyst is quoted comparing software factories and object-oriented programming. The industrial background of these approaches could seem also more difficult to transpose in the world of consumer or business applications development where software is not closely connected to devices. I think however that they provide a very interesting vision for projects that are interested in developing software for a multi-customers target or with a strong focus on product evolution.

More information on the Web:
Software Product Line Development community Web site
Introduction to the Emerging Practice of Software Product Line Development
Making an Incremental Transition to Software Product Line Practice
Software Product Line Engineering with Feature Models

Tuesday 30 January 2007

Microsoft Frees Ajax

Microsoft has just released ASP.NET AJAX 1.0. This product (formerly known as "Atlas") integrates cross-browser client script libraries with the ASP.NET 2.0 development framework. ASP.NET AJAX is not just for ASP.NET developers. Developers targeting other server frameworks can take advantage of the Microsoft AJAX Library. This library is a standalone collection of the standards-based JavaScript classes included in ASP.NET AJAX. It’s supported by most popular browsers and can be used to build Web applications that integrate with any backend data provider. This free software can be downloaded here.

With this release, Microsoft joins, albeit late, a crowded market for Ajax related frameworks provided by open source projects, small or large (Google) companies. Market is perhaps not the right word as a vast majority of solutions are available for free. Microsoft product will certainly get some following in the .NET community and this will hurt current providers of paid frameworks like Telerik or zumiPage. With its free client-side library, Microsoft can also appeal to people looking for developers outside the ASP world.

More information on the Web
Ajax: A New Approach to Web Applications (original Ajax article)
Wikipedia on Ajax
Wikipedia on Ajax frameworks
Comparison of AJAX frameworks for ASP.NET
Exploring Ajax Runtime Offerings (java oriented)

Tuesday 23 January 2007

Enterprise Architecture for Integration

This book presents a top-down approach to define an information system architecture at the enterprise level. It begins with a short presentation of the Zachman Framework that is used as the basic tool to analyse enterprise architecture. A first part is then devoted to present approaches used to express the strategy. A second part describes the techniques used to translate the strategic goals at the information system level with data and process modelling. Finally, a third part discusses current technologies and products involved to integrate applications and deploy the enterprise architecture. A CD-ROM is provided with the book. It contains problems and solutions to apply the concepts presented in the book, products information and some modelling tools.

Clive Finkelstein is a founding father of Information Engineering and he continues to apply its principles. The goal is to help large organisations to manage their complex information systems. Being strategic doesn't imply always multi-years projects. The book states that the enterprise architecture portfolio plan for a large company can be created in 8-12 weeks. It also recommends 2 days workshops to define sub-systems that have a 3 months delivery objective. Many examples are provided in the book.

This book is recommended for people that are managing applications or portfolios of applications at the enterprise level. It provides also valuable knowledge for business analysts/architects with a detailed examination of the data and process modelling activities and the definition of coherent and autonomous sub-systems. The book has close to 500 pages of dense material, but each chapter could be used separately according to your needs.

Get more details on this book or buy it on amazon.com

Get more details on this book or buy it on amazon.co.uk

Thursday 18 January 2007

Orient Open Source Meets Occident

January 1, the France-based open-source consortium ObjectWeb merged with the Chinese IT institute OrientWare to create a new entity, called OW2. ObjectWeb was launched in 2002 as a joint project between INRIA, Bull and France Telecom, before evolving to a more global organisation. OrientWare was created in 2004 as a consortium of Chinese universities and software companies.

In September 2005, ObjectWeb and OrientWare signed an agreement by which they committed to share their code base and jointly develop open source middleware software. Among the main open source software solutions developed by OW2 you find Lomboz, Sync4j, eXo Platform, JOnAS, XWiki or Enhydra

This is good that organisations working in the open source area join their forces to produce improved solutions with a global perspective and a worldwide pool of talent. Some major open source projects (Eclipse, JBoss, PHP) have strong commercial companies backing them so I think that this is good to have an organisation with a different perspective involved in the open source world, maybe backing projects that have perhaps less visible commercial impacts.

Monday 15 January 2007

Working with Conferences

Methods & Tools and software development conferences share the same objective to provide expert knowledge to the software development community. This is why I always enjoy cooperating with conference organisers. We feature the banners of the conference we support on the main page of our link section.

At the beginning of this year, I am really pleased to announce that Methods & Tools will be a media partner for the IBM Rational Software Development Conference that will take place in Orlando June 10-14.

The Web site I use the most to "hunt" conferences is DevTownStation.

Tuesday 9 January 2007

News from the Worlds

Yesterday, I checked on the Web if there are some new interesting sources to get software development news and I found nothing. My usual sources are ComputerWorld and InfoWorld

Friday 5 January 2007

Who Profits from Free Software?

Telelogic has just announced the release of Telelogic Modeler a free Unified Modeling Language (UML) design environment. This entry-level product will allow user with extended needs to migrate to other Telelogic's products in the same area. Telelogic Modeler is available for download at http://www.telelogic.com/modeling/modeler.

Facing the competition of free open source products, major editors like Microsoft or Oracle have followed the same strategy than Telelogic. They have created free versions of their software development tools. These products are "simplified" versions of the paying product, often minus specific features that are useful for large/complex projects or systems. They hope that people using the free version will one day have unsatisfied needs and that they will migrate to paying versions from the same editor. Time will tell if this strategy is right, but I think that it is facing major issues:
  • The majority of people looking for a free software could not be the one that are more enthusiastic to get it from a commercial editor.
  • Upgrading to a commercial version is not the only solution to get more performance. Open source tools are improving and there are companies interested to increase the power of the open source tools they support. Red Hat is doing this with JBoss in the Web server market. Another example is EnterpriseDB that is building an Oracle-compatible product based on PostgreSQL. In both cases companies are selling services and not software.
  • According to the Pareto principle, 80% of the people should be satisfied with 20% of the features of the original product. Thus migration to a product offering more features could be limited, furthermore if this imply paying for it ;o)