Project Management

Is Your Project Agile?

linkedin twitter facebook print Request to reuse this  
A recent survey of IS/IT managers from 200 companies with large IT departments found that agile methodologies are making heavy methodologies bloody. By 2003, according to Cutter Consortium, 42 percent of the companies expect to have agile methodologies used for large projects, compared to 19 percent for 2001. The survey also notes that the size and duration of the projects using agile methodologies have been increasing for some time.
ADVERTISEMENT

Trending Articles

Celebrate World Environment Day With Our Global Community

by PMI

Join us on 4 June as we come together with project professionals, sustainability leaders, and volunteer voices from around the world for a special World Environment Day event focused on the future of project leadership.

Why Project Managers Need to Push Back

by Andy Jordan

How much do you challenge the directive? If project managers are always going to go along with what they are asked or told to do, then there really isn’t a lot of point in them being there.

A growing number of consultants and experts are talking about a new breed of methodologies for project management that facilitate speedier completion of IT systems development. This begs the question: Is your project agile? Do you even care for agile methodologies?

Heavy vs. Agile
Despite being heavily rooted in science and technology, software development has been typically considered a creative activity. Whether this gives them permission to or not, most software developers behave like artists. They generally do not like strict planning guidelines and procedures and are also given to--arguably--a non-conforming temperament. So it should come as no surprise that, for most software projects, development has been a somewhat chaotic activity that relies little on planning and more on a "code and fix" approach.

To their credit, IT managers and experts have also been devising methodologies to streamline and structure software development for an equally long time. Over this period, these methodologies have tried to make the process more predictive and efficient. Though their success is debatable, one thing that developers and managers agree upon is that these methodologies are quite bureaucratic and generally slow down development. These traditional methodologies are often called heavy methodologies.

The alternatives to these are light methodologies and--lo and behold--that's what the new methodologies that were appearing on the scene for the last few years were called. Recently, they have been rechristened as agile methodologies.

The agile methods significantly shift emphasis from some of the activities within heavy methods. They are less document-oriented and--in many ways--code-oriented, claiming that the key part of documentation is the source code. They are adaptive rather than predictive and people-oriented rather than process-oriented.

Agile Methodologies
Martin Fowler, one of the pioneers in this field, lists several types of agile methodologies sharing many characteristics and many differences.

  • Extreme Programming (XP)
    XP has received the most attention, primarily because of the people promoting it. Its roots lie in the Smalltalk community. Starting with four values--Communication, Feedback, Simplicity and Courage--XP builds up to a dozen project practices that reinforce each other. Many of these practices are old, tried and tested techniques.

    Being the most popular methodology, XP is the subject of many books. In Extreme Programming Explained: Embrace Change, author Kent Beck provides a high-level overview of the Extreme Programming software development methodology to the IS managers, project leaders and programmers. It is written in a simple manner and demonstrates how XP relies on simplicity, unit testing, programming in pairs, communal ownership of code and customer input on code improvement during the development process.

    In Extreme Programming Examined, Giancarlo Succi and Michele Marchesi gathered 33 insightful papers from the first annual Conference on Extreme Programming and Flexible Processes in Software Engineering, held in
    Italy in June of 2000. At the conference, leading theorists and practitioners shared principles, techniques, tools and bets practices for XP and other flexible methodologies.

    Another book, Planning Extreme Programming  by Kent Beck and Martin Fowler, lays the foundation for XP without using software engineering jargons and design diagrams. In it, two of XP's inventors show how to implement it and emphasize that the planning is not a one-time event but a constant process of course correction throughout the life cycle of a project.

    For a case study, you can read Extreme Programming in Practice. Authors James W. Newkirk and Robert C. Martin provide a fascinating glimpse of XP in action for a small, real-world project. They walk the reader through a software project in real time showing what works and what doesn't.

  • Cockburn's Crystal Family
    In Surviving Object-Oriented Projects, Alistair Cockburn synthesized insights about software engineering and project management from managers and consultants. And in Agile Software Development: Software through People, he put together a decade's work of research on adaptive methodologies for project management. Thus originated the Crystal family of methodologies. This family of methods shares the human-orientation with XP and--though it may be less productive than XP--more people may be able to follow it.


  • Open Source
    Is it a style of software or a process? One thing is certain: There is a definite way of doing things in the Open Source community, and its process is geared to physically distributed teams, something vital for agile methodologies. In his Open Source Development with CVS, author Karl Franz Fogel examines open source software development from a design and organization standpoint, showing how adaptive the Open Source development environment is.


  • Highsmith's Adaptive Software Development
    In his book Adaptive Software Development: A Collaborative Approach to Managing Complex Systems, James A. Highsmith III presents the adaptive nature of new technologies and provides a fundamental groundwork for Adaptive Software Development, which has at its heart three non-linear overlapping phases: speculation, collaboration and learning.


  • Scrum
    For some time, Scrum has existed in object-oriented circles. It emphasizes the fact that defined and repeatable processes only work for defined and repeatable problems with defined and repeatable people in defined and repeatable environments. It focuses on iterative planning and tracking processes. Read Agile Software Development with SCRUM by Mike Beedle and Ken Schwaber for more.


  • Others
    There are a number of other methods and processes that try to address the similar things. Some are full blown methodologies and some are works in progress.

Should You Become Agile?
Some say that the agile method is not for everyone, which is quite true for most other methods, too. Experts also say that some of the factors favoring adaptive processes include: uncertain or volatile requirements, a need for greater motivation amongst developers, understanding customers who would get involved, a team size less than 50 and a project without a fixed price.

Software development is notorious for delays, but despite this, speed and time have always been major factors for IT systems. They have become even more significant in the current turbulent business environment. The business reasons for IT systems keeps on shifting, newer technologies appear on the scene, the team composition gets modified and management directives change. Software development must be flexible to these factors and the IT systems still need to be delivered within the expected timeframe. Otherwise, they may lose all significance--and the investment.

These are some of the reasons making agile software development processes more acceptable to organizations. They are emerging as a solution that supplies greater speed, flexibility and adaptability.

They also pose the question: Should you embrace agile methodologies or not? The answer to that is a typical consultants response--"It depends."

Strategic and results-oriented, Sunil has more than 15 years of experience in management and IT consulting. An entrepreneurial consultant, he had founded a business-to-business eCommerce company. Sunil has provided consulting services to large and small firms in the UK, Far East, India, Europe and the United States. His area of expertise includes strategic management, strategic marketing and business planning for high-tech firms. An avid mountain climber and runner, Sunil has climbed Mt. Kilimanjaro and various peaks in the Himalayas and finished the Detroit Marathon. He holds an MBA degree from the University of Michigan, Ann Arbor, and a BS in Electronics and an MS in Mathematics from the Birla Institute of Technology and Sciences, Pilani, India. He can be reached at (703)-395-9812 and by writing to [email protected].




ADVERTISEMENTS

Tell me whom you love, and I will tell you who you are.

- Houssaye

ADVERTISEMENT

Sponsors