Software Development Magazine - Project Management, Programming, Software Testing |
Scrum Expert - Articles, tools, videos, news and other resources on Agile, Scrum and Kanban |
Methods & Tools - News, Facts & Comments Edition - February 2003
*** Companies **********************************************************
* Another Modeling and Development Couple
At the end of January, Embarcadero and Sun announced that Sun has selected Embarcadero's Describe UML modeling tool as the preferred modeling tool for its Sun ONE Studio development environment. Sun ONE is the commercial line of products for Java development, based on the NetBeans open source platform.
After the acquisition of TogetherSoft by Borland and of Rational by IBM, this is yet another move that ties a software environment with a modeling tool. In our January issue, we mentioned Sun as the last possible independent partner for smaller players in the modeling sector. With this preferred relationship with Embarcadero, the door could be considered as half-closed. It is not easy to sell modeling tools in this difficult economic environment and integration with IDE for round-trip engineering (between UML models and Java classes for instance) is an important selling proposition. Small players have now fewer bundling opportunities as there is also a decrease of independent JAVA IDE vendor population. Even if the Eclipse and NetBeans open-source platform allows smaller companies to integrate their tools with IBM or Sun products, it would be difficult for them to grow without the marketing muscle offered by bundled or co-branded promotion and sales.
*** Numbers ************************************************************
* Agile Methodologies Survey Results
During November 2002 to January 2003, Shine Technologies ran a web-based survey to investigate the market interest in Agile methodologies. Here are some of the results of this survey:
- Extreme Programming (XP) is the most popular approach, being used by 59% of participants to the survey. Scrum and Feature Driven taking the second and third position.
- Adoption of an Agile method increases productivity for 88% of participants.
- Quality is improved for 84% of the participants.
- The more positive features are the ability to respond to change and the importance given to people over processes.
- The negative features are the low documentation and the lack of planning and project structure.
- 66% of the participants think that Agile processes are applicable to more than 75% of software development projects.
To look at the complete results, surf to http://www.shinetech.com/agile_survey_results.jsp
To take the survey, surf to http://www.shinetech.com/agile_survey.jsp
*** In Other's Words ***************************************************
* Monkey Software Development
I find it useful to draw a contrast between two different organizational development styles: process-oriented and commitment-oriented development. Process-oriented development achieves its effectiveness through skillful planning, carefully defined processes, efficient use of available time and skilful application of software engineering best practices. This style of development succeeds because the organization that uses it is constantly improving. Even if its early attempts are ineffective, steady attention to process means each successive attempts will work better that the previous one.
Commitment-oriented development goes by several names, including hero-oriented development and individual empowerment. Commitment oriented organizations are characterized by hiring the best possible people, asking them for total commitment to their projects; empowering them with nearly complete autonomy, motivating them to an extreme degree; and then seeing that they work 60, 80 or 100 hours a week until the project is finished. Commitment-oriented development derives its potency from its tremendous motivational ability; study after study has found that individual motivation is by far the largest single contributor to productivity. Developers make voluntary, personal commitments to the projects they work on, and they often go to extraordinary lengths to make their projects succeed.
Organizational Imposters
When used knowledgeably, either development style can produce high-quality software economically and quickly. However, both development styles have pathological look-alikes that don't work nearly as well and that can be difficult to distinguish from the genuine articles.
The process-imposter organization bases its practices on slavish devotion to process for process's sake. These organizations look at process-oriented organizations [...] and observe that those organizations generate lots of documents and hold frequent meetings. The imposters conclude that if they generate an equivalent number of documents and hold a comparable number of meetings, they will be similarly successful. [...] I call these organizations bureaucratic because they put the form of software processes above the substance. [...]
The commitment-imposter organization focuses primarily on motivating people to work long hours. These organizations look at successful companies such as Microsoft and observe that they generate very little documentation, offer stock options to employees, and require mountains of overtime. They conclude that if they, too, minimize documentation, offer stock options, and require extensive overtime, they will be successful. [...] I call the imposter organizations sweatshops because they emphasize working hard rather than working smart and they tend to be chaotic and ineffective.
[...] Cargo cult software engineering is easy to identify. [...] They refuse to acknowledge the trade-offs involved in either process-oriented or commitment-oriented development.
Source: Steve McConnell, "Cargo Cult Software Engineering", IEEE Software, March/April 2000.
There are sadly many examples where companies adopt only the "law" of a software development approach, without adopting the "spirit". On the "process" side, you have staff IT employees deciding procedures and software developers and project managers that are just "playing the process game". On the "commitment" side, you have a "just do it" mentality where you are not working if your are not coding. I agree with the author that projects succeed with people and never against them.
*** Web Siteseeing *****************************************************
* Agile Surfing
This section is dedicated to web sites focused on the Agile way of developing software. Besides the well-known eXtreme Programming approach, there are other interesting methods dedicated to a more flexible and people-centric process for software development projects.
General resources:
http://agilemanifesto.org The Manifesto for Agile Software Development
http://www.agilemovement.org The Agile Movement is a free and non-profit movement created to spread the word of the Agile Manifesto around the globe
http://www.agilealliance.com/home The Agile Alliance is a non-profit organization dedicated to promoting the concepts of agile software development
http://www.agilealliance.org/userGroups/index This page contain an index of agile user groups worldwide
Extreme Programming (XP):
http://www.xprogramming.com Resource for information about Extreme Programming. Home of XP Magazine.
http://www.xpexchange.net/en/index.html Information, tips and advice on the use of eXtreme Programming.
http://www.extremeprogramming.org Introduction and overview of Extreme Programming.
http://www.xp123.com/ Exploring Extreme Programming
SCRUM:
http://www.controlchaos.com Scrum is an agile, lightweight process that can be used to manage and control software and product development.
http://jeffsutherland.com/scrum Jeff Sutherland's SCRUM Log
Feature-Driven:
http://www.featuredrivendevelopment.com Feature Driven Development (FDD) is a model-driven, short-iteration process framework for project-specific software development.
Crystal:
http://crystalmethodologies.org People-centric, ultralight methodologies
DSDM:
http://www.dsdm.org DSDM is a project delivery framework which aids the development and delivery of business solutions to tight timescales and fixed budgets.
Agile Modeling:
http://www.agilemodeling.com Agile Modeling (AM) is a practice-based methodology for effective modeling and documentation of software-based systems.
*** Conferences ********************************************************
STAREAST 2003: A Fortune in Software Testing Info, May 12-16, in Orlando, FL, USA
Now entering its second decade, the STAR conference series remains at the
pinnacle of software testing industry events. This May, scores of software
test professionals, developers, managers, and quality analysts will come
together to learn, network, and ultimately improve their software testing
practices. Be part of the world's largest, most advanced forum on software
test and evaluation issues.
Visit the STAREAST 2003 conference Web site at: http://www.sqe.com/se3mte
===========================================================
The content of this publication cannot be reproduced without prior written
consent of the publisher - Copyright 2003, Martinig & Associates
Methods & Tools Testmatick.com Software Testing Magazine The Scrum Expert |