Java Cloud Strategy

Published January 31st, 2012 Under Software Development | Leave a Comment

The Cloud approach is gaining ground in organizations as the new standard for IT infrastructure. We mostly see it in its “public” version with offers like Amazon Web Services, Cloud Foundry or Windows Azure. There is however also the emergence of “private” clouds that are operated inside organizations.

The Cloud Computing Development web site has published an interview of Rajesh Ramchandani, who is the founder and VP of Products of CumuLogic. This company was founded by former Sun executives and has the famous James Gosling in its advisory board. In this article, he discusses the strategy of CumuLogic as a provider of private Platform as a Service (PaaS) software for Java. Their product allows multiple private and/or public clouds to be supported at the same time, therefore avoiding cloud (Infrastructure-as-a-Service) vendor lock-in.

The Meaning of Agile Certification is Money

Published January 9th, 2012 Under Software Development | 2 Comments

On page 483 of their book ” Practices for Scaling Lean & Agile Development“, Craig Larman and Bas Vodde discuss about the quality of code and certification, mainly in within the CMMI context. They refute the link between good code production and certification and wrote “Do not believe that an appraisal, rating, or certification in any process improvement model – including Scrum, agile methods and ISO certification – means much of anything, other than the ability to somehow pass an appraisal at least once.”

Although I usually agree with them, I would disagree on this point. Certification has its meaning. And this meaning is money. Certification has become an important business and this is why you have so many “independent” professional associations that now provide some type of certification. In the Agile project management world, you can be
* a certified ScrumMaster from the Scrum Alliance
* a Professional ScrumMaster from Scrum.org
* a PMI Agile Certified Practitioner from the Project Management Institute (PMI)

In addition, you can now become a certified Agile tester or Product Owner. I am myself planning to create a Certified Agile Blogger status. Read more

What is a Successful Software Project?

Published September 28th, 2011 Under Software Development | Leave a Comment

Recently somebody asked on a forum “when is Scrum not working?” This lead me to the question “when is a project successful?” Traditionally, you can measure the success of a project by checking the respect of the scope, schedule and budget at the delivery of the application. In this situation, the burden is more on project managers and developers: they have to estimate the user requests and deliver on these estimates. This requires the mostly complete definition of the requirements at the beginning of project. Every change is the subject to negotiation as it could cause a change in either the budget or the schedule. In this situation, people might be more judging the capacity of people to estimate… or better to protect themselves from unexpected problems. I am sure that many of you have heard: “Take your initial estimate and multiply them by two before communicating them to your project manager or end-user”. A more business-oriented definition of a successful project is based on the delivery of value, the faster the better. In this case, the success of a project could normally be assessed only after the delivery of the application, assessing its return on investment (ROI). The concept of business value might be also implicitly present in the traditional project approach, but its mindset is more strictly focused on the project management results than the creation of value. Read more

Code Refactoring Resources

Published August 29th, 2011 Under Software Development | 2 Comments

Martin Fowler defined refactoring as a ” disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior”. In the days of Agile development where code is delivered after one or two week cycles, you start quickly to deal with “legacy” code, what was know as “maintenance” for projects that had longer delivery time frames. Refactoring is mostly linked to code but the term is also widely used for every restructuring effort: database definition code, testing scripts, software architecture or development process. Read more

When Agile Values Meet Mere Mortals Behavior

Published June 27th, 2011 Under Software Development | Leave a Comment

We are celebrating this year the tenth anniversary of the Agile Manifesto. As Agility has become popular in software development organizations, you can see more and more material about the fact that Agile has “lost its soul”. People would be more “doing Agile”, that is following “blindly” some routines, than “being Agile”. I would define Agile as the human vision software development: we accept uncertainty but we can aim at providing value developing software through collaboration. Plan-driven approaches, often grouped under the “Waterfall” name, are the engineering vision of software development: people know what they want and we can mostly accurately estimate how to get there and deliver the final product following a detailed plan.

Individuals are the main pillar of the Agile culture as “individuals and interactions” are present in the first of the Agile manifesto values. As the issues in plan-driven project could be attributed to a lack of consideration of human factors, the problems in Agile project will rather be of the over-reliance on individuals. Individuals are the most important success factor in software development projects, but they are also the most important failure factor, due to the inherent weaknesses of our human condition. Trying to blame the “Waterfall” is a nice way to say that every project could succeed, but things might be a little bit more complicated than this. Read more

keep looking »