Monday 30 November 2009

More Procedures in Software Configuration Management

The last Methods & Tools poll examined how software configuration management (change management / version control) is performed by organisations. Is it an informal activity or performed with formal procedures that are validated by an automated tool?


2009 2006
No formal procedure and no tool 13% 15%
A formal procedure but no tool. 11% 10%
A tool but no formal procedure 17% 26%
A formal procedure and a tool 36% 49%
Continuous integration 23%

Participants: 271 (346 in 2006)

Ending date: November 2009 (April 2006)

If we compare the current results with the 2006 numbers, we can see two major points. The first is that the number of participants that don’t use tools remains at the same level, around 25%. It is true that there has not been any strong innovation in the area of software configuration management tools in the recent years. The major open source products were also available three years ago. Things have change however for the participants that were using tools. The number participants using a formal procedure is now a clear majority, counting the people that do continuous integration in this category. The increased demand for regulation, for instance the Sarbanes-Oxley law, has surely influenced corporations to adopt formal policies in their software development practices.

We introduced in this poll a new answer to take into account the “continuous integration” way of software configuration management. This agile-linked practice is adopted by 23% of the participants to the survey. This result is similar to the survey conducted by Jurgen Apello on noop.nl. In his case, 29% of the participants had adopted continuous integration. As a funny conclusion on this topic, when I researched on this topic, I noticed that in the 2007 Agile Survey by Version One 50% of the participants declared that they were practicing continuous integration and 57% were currently using a continuous integration tool. This makes me wonder what 7% of the participants were using the continuous integration tool for. ;o) Anyhow, this always remembers us that we should be very cautious with survey number.

Reference

http://www.noop.nl/2009/04/the-big-agile-practices-survey.html

Related articles

Configuration Management and ISO 9001

Continuous Integration: the Cornerstone of a Great Shop

Software Configuration Section of the Software Development Articles Directory

Related videos

Simple tools to fight a big battle: “Continuous integration on a minimalist platform”

Tuesday 13 October 2009

1500 Tools to Assist Software Developers

Created in 2007, the Software Development Tools Directory has now more than 1500 references. It is one of the rare web sites where you can see on the same location both commercial and open source software development tools. Tools are categorized by programming language, license, operating system or software development function (software testing, project management, database, IDE, user interface, etc.). The Open Source category is the most important one with 770 tools.

Tuesday 1 September 2009

Functional Test Tools: Adopted but not Used?

A recent Methods & Tools survey tried to evaluate the usage of tools to automate execution of functional software tests. A similar poll was conducted in 2005 and it was interesting to compare the results.

http://www.methodsandtools.com/dynpoll/oldpoll.php?FuncTest2

Monday 17 August 2009

More than 1000 Videos and Tutorials on SoftDevTube.com

There are now more than 1000 software development related videos and tutorials categorized on SoftDevTube.com. SoftDevTube is a repository of videos, interviews and tutorials focused on all software development activities: UML, Agile Methodologies (eXtreme Programming, Scrum, TDD, FDD,..), Software Testing, Software Configuration Management, Database Modeling, Coding (Java, .NET, ruby, python, C/C++, Cobol,… ) Rich Interface Application (Ajax, Flex, Silverlight), Software Project Planning and Management, Test Automation, Software Analysis and Design, Quality Assurance, Software Process Assessment and Improvement, Software Development Tools, Risk Management.

SpringSource Acquired by VMware for $420 Million

August 10, VMware announced a definitive agreement to acquire SpringSource. VMware and SpringSource plan to deliver compelling new solutions that enable companies to more efficiently build, run and manage applications within both internal and external cloud architectures. ”Today’s modern computing environments are moving to an application and data-centric world powered by state of the art virtualized and cloud computing platforms,” said Paul Maritz, president and chief executive officer, VMware. “The combination of SpringSource and VMware capitalizes on this shift and places us right at the intersection of the most important forces in the software market today – virtualization, modern application frameworks and cloud computing.” VMware will acquire SpringSource for approximately $362 million in cash and equity plus the assumption of approximately $58 million of unvested stock and options. The acquisition has been approved by SpringSource’s stockholders and is expected to close in the third quarter of 2009, subject to customary closing conditions.

This is an expensive acquisition for VMware… even if the company is rich. Its GAAP net income for the full fiscal year 2008 was $290 million for revenues of $1.9 billion. You can compare this to the estimates of SpringSource revenues that are between $10 and $40 million. Basically, WMware is spending more than its full 2008 income to acquire a company at more than ten times its current revenues. The rational behind this is to create the ultimate “Java in the Cloud” infrastructure. In the SpringSource blog , the CEO of SpringSource Rod Johnson wrote “Combined with VMware’s vSphere and other cloud-enabling technologies, we can innovate in frameworks and infrastructure to deliver a joined up experience. SpringSource application frameworks, servers and management software can give the VMware platform eyes and ears throughout the stack, allowing it to apply its uniquely advanced ability to migrate workloads and manage VMs for maximum efficiency and minimal hardware resource cost. SpringSource rapid development frameworks and tooling can provide developers with the ability to move from code to cloud in minutes. All of this with the quality you can expect from both companies, and the ease of use you can depend on from Spring technologies.”

I view this acquisition as a risky bet on the future. The market of applications as services on the net is still in its infancy and it is difficult to have a good estimation of its potential…. except if you are an industry analyst wanting to sell an expensive report on how to profit from it ;o) This area is already crowded with a lot of competitions and some of the players (Amazon, Google or Microsoft) have also deep pockets and technology competencies. It could be also a problem for VMware as its software works on operating systems of other companies that could now see it more than a competitor.

In those that will benefit from the deal, I see primarily the SpringSource customers that should see their solution backed by a more financially strong company…. if the major brain resources will stay in the company (see how the core JBoss team exited the company after its acquisition by Red Hat) and keep some focus on existing products rather that being engaged only in creating the new cloud solutions. I think also that the Java community could be happy to have another major player that has interest in the evolution of the technology after Oracle acquired Sun. Finally, there are some happy venture capitalists like Benchmark Capital which invested $10 million in 2007 and participated to a $15 million financing in 2008.

In the camp of the losers, we can put competitors like Red Hat. Its JBoss division is now going to find a more important competitor if the SpringSource servers are backed by a larger competitor based on the same open source model.

Friday 12 June 2009

Another Suitor for Borland?

According to Reuters, Micro Focus, which agreed in May to buy Borland, said on Monday that Borland had received a preliminary non-binding indication of interest from an unnamed financial buyer. The price offered would be $ 1.20 versus the $ 1 offered by Micro Focus. If the transaction is not approved by the shareholders, Borland would have to Micro Focus $3 million.

Borland entered a nondisclosure agreement with the new suitor and it has granted it access to its accounting books. Among the possible buyer, the name of Embarcadero and Oracle are mentioned. Embarcadero already bought last year the CodeGear division and might be interested for some new tools that will complete its current offer… for cheap. Oracle, who just bought Sun, could seize the occasion to create a more complete offer of software development tools around Java. JDeveloper, the Java IDE from Oracle, was originally build around the JBuilder technology from Borland.

Wednesday 10 June 2009

Implementing Automated Testing by Elfriede Dustin, Thom Garrett & Bernie Gauf

This book presents a comprehensive treatement of the domain of software testing automation. The first part defines and describes test automation, proposing a business case for automation and discussing the pitfalls that should be avoided. The second part is a roadmap for test automation. It gives six keys for software testing automation payoff:
1. Know your requriments
2. Develop a strategy
3. Test your tools
4. Track progress and adjust
5. Implement the process
6. Put the right people in the process.
Four appendixes complete the book. They provide a process checklist, explain how automation applies to various testing types, disscuss tools evaluation and give a case study.

The fact that the autors have worked with the Defence industry might have affected the way the book was conceived and written: with structure and rigor. The discussions, recommandations, references and tools suggestions apply however to every software testing situation and not only to organization that are strongly process oriented. The aim of the book is to be a guide that can help to implement successfully automated software testing and it certainly achieve its objective.

Reference: “Implementing Automated Testing”, Elfriede Dustin, Thom Garrett & Bernie Gauf, Addison Wesley.

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

Monday 25 May 2009

More than 1000 items in the Software Development Links Directory

The Software Development Links Directory has now more than 1000 items listed. SoftDevLinks.com is a new general directory for software developers, testers and managers. If you have a blog, a web site, distribute a tool or work a consulting company related to software development, do not hesitate to add one or more (free) link(s) in this directory. Get enhanced visibility with reciprocal links.

Wednesday 6 May 2009

The Software Development Articles Directory Has Now More Than 1500 References

From architecture to testing, through Java, .NET or PHP, you will find in this directory more than 1500 handpicked, described and categorized articles that will help you improve your software development expertise or learn something in a new area.

Wednesday 22 April 2009

Oracle Buys Sun: What Will Happen Next?

SANTA CLARA, Calif., April 20, 2009. Sun Microsystems (NASDAQ: JAVA) and Oracle Corporation (NASDAQ: ORCL) announced today they have entered into a definitive agreement under which Oracle will acquire Sun common stock for $9.50 per share in cash. The transaction is valued at approximately $7.4 billion, or $5.6 billion net of Sun’s cash and debt. The price represents a 42 percent premium to Sun’s Friday closing stock price of $6.69. This acquisition came after Sun broke negotiations with IBM, which was offering $9.40 per share.

Sun Press release said “There are substantial long-term strategic customer advantages to Oracle owning two key Sun software assets: Java and Solaris.” I think that this last sentence will reflect the main point of this purchase, as far as software developers are concerned. In his quest for getting a more important share of the software infrastructure of companies, Oracle acquires mainly a programming expertise and operating system that should complement its application and databases solutions. The hardware part should also allow Oracle to offer a complete optimized hardware and software solution to its customers, even if, due to Sun smaller market share, Oracle has to be friendly with its other hardware partners like HP or Dell. Acquiring Sun, Oracle also increase its expertise in the Java middleware area, after the acquisition last year of BEA Systems.

The other fact which is contained in Sun press release sentence, or I should say which is omitted, is MySQL. Sun acquired MySQL in January 2008, as a way to boost its software offer. MySQL has been for a long time an important issue for Oracle, as it was a big competitor in the lower end of the market for databases. With this acquisition, Oracle has the possibility of “quietly” killing the MySQL development process and offer the current MySQL paying customer an opportunity to migrate towards its own database product. I don’t see Oracle maintaining two database product lines, especially if one is mainly “given away” for free. Even if existing Oracle customers may not be tempted by MySQL, this new database was always in consideration for startups. There were also some companies that tried to build upon MySQL the missing tools to bring it close to the power of Oracle products.

We expect a similar fate, silent slow death through lower financial support, for mainly of the other Sun’s technologies: NetBeans, GlassFish, JavaFX or OpenOffice. Oracle always want to get the most of the financial aspect of acquisitions and spending money on open source projects and technology that has low immediate return on investment is not something that it would consider, unless it could be used as a tactical weapon against some of its competitors, like Microsoft or SAP for instance.

Sun Press Release
http://www.sun.com/third-party/global/oracle/index.jsp

Friday 3 April 2009

Between the Magic Quadrant and the Bermuda Triangle

Software vendors are always proud to communicate evaluations from research companies that indicate how good their products are. These ratings are to the software development tools market what the gastronomic guides are for restaurants. You always wonder what is their exact credibility, as relationships between analysts and vendors are not always neutral. You have also witness a lot of “pilot projects” from inside “technology staff” failing to discover how a product really impacts the work of developers and know that evaluating products out of a real context is difficult. Anyway, there are still a lot of people that will use them as a base for their purchase decision. A good position in these evaluations is something sought after, especially by smaller and young companies, as it could be a driver for their future growth. Technology is however only one component of the success equation, as we know that the best products are not always inside the most successful companies. No I didn’t say Microsoft ;o)

Even if the role of these external assessments is still important for the software development market, the rules have certainly changed these recent years. The software tool eco-system has evolved and the relationships between software tools vendors and developers have been transformed, both in their form and in their content.

The investments needed to launch a new software tool have decreased as a consequence of the diminution of the solid content of software tools. You are no more obliged to build a physical distribution network and to manufacture software CDs, boxes and documentation manuals. Everything can be available on-line from a web site and the vendor sells directly to the buyer, everywhere on the world. This model could be seen for instance in the Scrum project management software market where operates tinyPM, one of our sponsor. I remember interviewing in 1993 a manager of Cadre Technologies, a disappeared CASE vendor of the last century, for one of the first paper issue of Methods & Tools. He told me that the barriers to growth for a software vendor were high, because for every dollar you spend to develop a product, you needed ten dollars to sell it. I think that the relative marketing/product cost ratio has notably decreased, moreover if you target a market of small and mid-size companies. You can now promote for free your product to developers in a lot of blogs, forums and community sites. Things could be a little bit different if you want to sell to larger companies where you need more direct personal contact, but I think that the trend to less human contact will continue.

A second major change in the software market rules, is that some vendors are not selling software anymore, but only the services provided by the software. Amazon and other Web or Cloud-based tools vendors are not selling database software, but the service of using a database to store and retrieve your data, located somewhere on the net. The advantage of this solution is that you don’t have to install and manage your tools and your costs are directly related to your needs and activity. You become also more dependent on your supplier and this could not be without risks. The recent end of Coghead activities is giving its customers only a short delay to find another solution. On the contrary, if your traditional supplier has a problem, its software would continue to run on your machines for some time, leaving you more time for transition.

A third major difference is the growth of software-less software companies. By this I mean that companies like Red Hat or Spring Source do not sell software tools. They sell mainly the support and the consulting that goes with open source tools. This is not surprising if you know that the majority of IBM’s revenues come from its service division. On the other side, there is also the success of Atlassian that only sells software. Buyers do not fear that the quality of this open source software is inferior to commercial products, as it is true that the development of these tools is mostly as professional as commercial software in its recent evolution.

What will be the impact of the current economic crisis on the software tools market? Do these new market rules change something? I think that the new “nimble” vendors and their low-cost Internet models could have more chances to survive longer. The “no license cost” aspect of open source software could event lure people to switch from commercial products towards solutions offered by open source companies. However, contrarily to former slowdown periods where larger companies will buy smaller one to grab some new customers or technology, we should see fewer acquisitions, as it will be more difficult to have credit and less incentive to buy small companies in fragmented markets. The recent failure of Agitar and Coghead was followed by migration plans offered by competitors to their customers. McCabe then acquired Agitar. Larger acquisitions or mergers, like that was that is rumored of Sun by IBM, will be more likely.

Tuesday 31 March 2009

Spring 2009 issue of Methods & Tools

Methods & Tools is a free e-newsletter for software developers, testers and project managers. Spring 2009 issue’s content:

* How to Build Articulate Class Models and get Real Benefits from UML
* When Good Architecture Goes Bad
* Finding a Partner to Trust: The Agile RFP
* Database Locking: What it is, Why it Matters and What to do About it
* Code Generation for Dummies

80 pages of software development knowledge that you can download from
http://www.methodsandtools.com/mt/download.php?spring09

Tuesday 17 March 2009

Thinking Tools for Scaling Lean and Agile

This book from Craig Larman and Bas Vodde is a classic example of the fact that it is better to teach somebody to fish than to give him fish. It emphasizes that it is important to “be agile” more than to “do agile”. Approaches like Scrum or Lean are more frameworks to think about continuous improvement than tools that should be applied blindly like cooking recipes. The book will therefore tell you that “large-scale Scrum is Scrum” or that lean is not just kanban or waste reduction. The first part of the book is focused on thinking tools (systems thinking, lean thinking, queueing theory) that are presented with software project management related examples. Those who are looking for practical advice should not believe that the book remains only at the conceptual level. The authors distill many “try…” and “avoid…” recommendations that will help you implement agile and lean ideas in your organization. The second part of the book is devoted to organizational tools and the final chapter proposes frameworks to adapt Scrum to larger contexts.

This book is a must for those who believe that software development project management goes beyond the simple application of “silver bullet” recipes. It is a rich source of both thinking and practical content that is well suited for non-linear reading. A very good “Scrum primer” chapter at the end of the book will provide an introduction for those who are not familiar with this approach and a large number of “recommended readings” items will allow readers to explore more in details each concept.

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

New Videos and Tutorials Directory for Java Developers

Java-TV.com is a directory of videos, interviews and tutorials focused on software development activities with the Java programming language.

Monday 2 February 2009

CMMI: Less Hyped Than Agile but Equally Popular?

A recent Methods & Tools poll examined at what stage is the CMMI approach adoption in software development organizations.

Not aware 13%
Not using 29%
Investigating 8%
Analysed and rejected 4%
Trying to reach Level 2 12%
CMMI Level 2, 3 or 4 20%
CMMI Level 5 14%

Participants: 392

Ending date: January 2009

Many software development concept of the 80s and 90s have left the spotlights of the professional press and the blogging world, either because they are soooooo obvious, as in “of course everybody is doing object oriented programming today…”, or because they didn’t meet the expected success, as the object oriented database that were supposed to replace this old relational SQL technology of the 70s….

CMMI is the successor of the Capability Maturity Model (CMM) or Software CMM. The CMM was developed from November 1986 until 1997 as part of the software process maturity framework project. Then the CMMI, where “I” stands for Integration, replaced the CMM. This is certainly not currently a hyped concept. You will find no CMMI category on dzone.com or infoq.com and the CMMI channel on reddit.com has two subscribers. I was therefore surprised to see that the adoption, ignorance or rejection rates for the CMMI were very close to the results achieved by a similar survey on Agile approaches ended at the beginning of 2008.

I didn’t find any former statistics about the CMMI adoption, so it is difficult to compare the results of this survey with other numbers. These survey results are telling us that formal process adoption is growing in software development organization. The importance of CMMI numbers can be explained by the geographical diversity of Methods & Tools readership: an important percentage is coming from Asia where the CMMI label is important to sell outsourcing services.

Knowing that CMMI adoption rate is close to the Agile rates, I wonder also if there were some overlap, thinking that there are many companies without a formal process. I found a survey on Dr Dobb’s with some numbers on companies doing both CMMI and Agile. According to this survey, the rates of success of Agile and CMMI projects are very close, just above 50%. You could interpret the results as whatever the process, as long as you have one, you improve your success rate, which would mean that some discipline bring rewards. These numbers also tell that you have still close to 50% chances of failure, which could mean that discipline is not easy to achieve in the software development world. Please note that the Version One Agile survey seems to indicate a higher rate of success for projects, even if the type of questions makes direct comparison difficult.

Although there are some evidences that CMMI and Agile can coexist, the overall impression of people dealing with process improvement is that there are still important cultural differences between the two communities. Even if the non-prescriptive nature of the CMMI is recognized by agile developers, the overall impression is that this approach are still leaning heavily on plan-oriented and documentation processes, thus conflicting with the lightweight aspects of Agile. To contradict this culture incompatibility, there is the example Systematic, where a CMM level 5 company has added Scrum on top of their process, gaining a 50% cost reduction. This maybe not so astonishing if you realize that CMMI and Agile both try to achieve process improvement and both require discipline. Managing one week Scrum iteration with daily meetings should provide a strict control of project progress. Therefore organizations that followed the CMMI way for a good reason, that is not just for having a label to sell their services, should be naturally attracted by the process improvement tools contained in Agile. Other organizations than Systematic have also added agile practices above CMMI, but the opposite doesn’t seem obvious.

Maybe the software development world would be better if people could see approaches like the CMMI or Agile as toolboxes and not cult-like concepts that should be embraced with a blind faith… and a tendency to see other movements as “heresies” that can only be condemned. As Chris O’Brien (Software Capabilities Manager at Gen-i) says “So CMMI and Agile are complementary, but the use of either should to be based on business needs. I believe both have an immense amount to offer and co-existence will make sense for many organizations – particularly those that are capable of applying learnings from their industry with intelligence and care, to achieve results.”

References

CMMI Main page at SEI

Software and systems firms embrace CMMI - India Trends - Express Computer India

CMMI or Agile: Why Not Embrace Both!

Dr Dobb’s article: Agile CMMI?

Mature Agile with a twist of CMMI

Scrum and CMMI Level 5: The Magic Potion for Code Warriors

Systematic Gains Chart

Methods & Tools Agile Survey

CMMI articles list in SoftDevArticles.com

(r) Capability Maturity Model, CMM, and CMMI are registered in the U.S. Patent and Trademark Office by Carnegie Mellon University.
(sm) CMM Integration is a service mark of Carnegie Mellon University.

Monday 19 January 2009

From Finger in the Air Estimating to Finger Pointing Tracking

As Giovanni Asproni says it “estimation is a fundamental activity of every project”. Or at least it should be. The meaning of “estimation” varies however often for the different participants to software development projects. For the customer, “estimation” means an almost accurate amount of money he will spend and time it will need before he gets what he wants. For the project manager, it is an early commitment to the customer and from the developer to do something for a deadline. For the developer, it is the amount of time that he thinks he could do the stuff, if everything goes right.

The experienced developer will often add a 50% cushion to his estimates, knowing that not everything goes right. You can have an additional meaning in the case of outsourcing. For the salesperson, the estimation is the maximum price he can ask, while still having a lot of chances to sign a deal. A lot of young engineers will remind with astonishment hearing in a pre-sales meeting a salesperson answering to the customer that everything he wants is indeed possible… and for a cheap price too ;o)

For a developer, estimation is often equaled to fixing deadlines. He could then feel trapped by the original commitment that created expectations for management and customers. Customers have often two fixed expectations: delivery date and functionalities. Therefore, the effort is the only variable left to adjust the project activity. You can often witness a poor transition from estimation to planning with project managers that dream to have a baby in one month, if only they could manage a team of nine women. Because initial expectations cannot be achieved in many projects, the finger in the air used for estimating get then pointed downwards for blaming people: first from customers to project managers, then from project managers to developers. So print Giovanni’s article and give it to your customer before your next project planning meeting.

Monday 12 January 2009

Will Borland Survive yet Another Crisis?

Borland discreetly announces this week the resignation of both Tod Nielsen, CEO since 2005, going to VMware as COO, and Peter Morowski, SVP of research and development, leaving the company to pursue other opportunities. Borland will also reduce its workforce by approximately 130 employees, or approximately 15 percent of its regular full-time staff. For the fourth quarter of 2008, Borland is expecting to report total revenue in the range of $38.5 million to $40 million, down at least 10% from previous quarter. Considering that operating costs of revenues for the third quarter were around $45 million and that a lot of them are fixed costs, this will be another quarter with an important operating loss for Borland. The current CFO will act as CEO.

In the past year Borland has often blamed its IDE division to be the cause of this problems, slowing its ambition to be an ALM leader with huge financial losses. In May, Borland finally managed to sell the CodeGear unit to Embarcadero. The financial results of CodeGear are now difficult to estimate, as Embarcadero is a private company. What is left at Borland is a mixed set of products, resulting of some in-house innovation and external acquisitions (Togethersoft, Segue), grouped under the “Application Lifecycle Management” banner. None of the components of this set is considered as a top leader in its specific market and good integration between existing products is always difficult to realize. Trying to sell these type products is more difficult, because you have to reach a higher level in the enterprise than for individual developer products. It is also the type of project that most companies will postpone in a period of difficult economic conditions. Furthermore, this put Borland in competition with bigger fishes, like IBM that purchased rival Telelogic last year, and companies like MKS that have their roots in the ALM market.

It would be a bad thing if Borland fails just after having celebrated its 25th birthday, but if it was already struggling in times where the economy was good, we could fear that survival would be even more difficult in the hard times that are ahead of us. Researching for this post, I found that Borland had already cut 40% of its workforce in 1995 after the resignation of its founder Philippe Kahn, so maybe we should believe that it could be just “another deep crisis” in Borland history, a company briefly knew under the name of Inprise ;o)

Borland full press release

Tuesday 6 January 2009

Winter 2008 Issue of Methods & Tools

Methods & Tools is a free e-newsletter for software developers, testers and project managers. Winter 2008 issue’s content:

* Fingers in the Air: a Gentle Introduction to Software Estimation

* Behavior Driven Database Design

* Optimizing the Contribution of Testing to Project Success

* Service Components and Compositions

45 pages of software development knowledge that you can download from http://www.methodsandtools.com/mt/download.php?winter08