What is Agile Software Development

Traditional approaches to software development projects assume that all requirements are specified in advance, documented in detail, and formally signed-off by all parties before development work begins. Unexpected changes in the business cannot be easily addressed, with efforts to do so being penalized with higher costs for development services and with schedule delays. The software developers typically drive the process, even though they may know very little about the customer’s business culture.

The agile approach allows people to rapidly develop and test new process, learning and correcting as they go. This methodology promotes a disciplined project management process that encourages frequent reviews and adaptation, and a leadership philosophy that encourages teamwork and accountability. Experienced agile developers can deliver business software that conforms precisely to the way people work, and in a fraction of the time compared to traditional methods.


Adopting a New Paradigm

The goal of agile development is to deliver working software incrementally through a self-managed team of business and IT people who join an interactive process with developers to create a working software solution that evolves over time.

The new agile paradigm challenges the conventional wisdom that says software development requires a complete and accurate definition of the target system before development can begin. Any changes in requirements after sign-off and work is in progress usually results in cost penalties and delayed schedules.

In the agile approach:

  • Scope creep is to be expected
  • Frequent communication is needed to uncover and resolve natural conflicts
  • Priority-setting for every requirement or feature is negotiated
  • Delivery of software is incremental
  • Every delivery, or iteration, provides a functioning process

 Testing is built into each delivery so that issues are detected early and resolved. Agile is unlike traditional development methods where problems can go undiscovered for many months or even years.


What is Ceiba Agile?

Ceiba Agile is an implementation of the agile methodology that follows what is called the Scrum model. This approach focuses on the creation of teams, whose physical locations are not important, but frequent communication across all members is paramount.

This communication is enabled by providing a software utility for requirements gathering, role definition, prioritization, scheduling and reporting. The software links all of the members of the team, including developers, keeps track of all changes, and serves as the eventual user documentation for the completed solution.


How does Ceiba Agile Work?

The project begins with a description of the new process, which can be anything from performing a task to performing it faster or more securely. Everything is stated in plain, familiar business terms and with real-world examples that exemplify the new way of operating.

A unique terminology is also a part of agile. User requirements, called “features” are captured in the “product backlog,” and are associated with various roles on the business. All features are given a priority ranking. The team decides which priorities are loaded into the “sprint backlog,” used by the development team to calculate the required hours of effort. These hours are used to create the “burn down” schedule which leads to the release of the “iteration.” Daily “scrum” meetings identify and resolve on-the-fly any issues the developers have with features or use cases, such as conflicts or contradictions between one feature and another.


Ceiba Agile Process Flow

  • People describe their requirements, placed in the “Product Backlog”
  • Priority features are loaded into the “Sprint Backlog”
  • A 30 to 60 day development cycle, called “Scrum,” is launched
  • Daily team discussions resolve issues
  • Changes and new priorities are added to the backlog
  • Dreaded scope-creep is eliminated

The product backlog can be reprioritized up until the next Sprint is launched. Additional requirements and unexpected changes can be added to the Product Backlog at any time.

An iteration, or software release, may take anywhere from a few weeks to a few months to complete.
With Ceiba Agile, people can halt the development process after the iteration. This may be due to the need to get more people to interact with the new software. Or it may necessary to deal with an unexpected event in the business that has nothing to do with the software development process, but requires immediate attention by key members of the team.


Example Ceiba Agile Projects

iPhone Application Development:
A large pharmaceutical customer wants to bring its idea of a consumer healthcare service to the popular iPhone device. Numerous creative applications were put forward from people in different sectors of the pharmaceutical business. Ceiba Solutions was asked to help its customer with a development process that took time-to-market into consideration along with new drug releases, while keeping the project cost low as people discover the potential of this new consumer oriented product.

The Ceiba Agile methodology, and supporting software, created virtual teams, brought ideas into the open, and provided a process for negotiated priorities. The initial iteration, defined as a prototype, took less than 2 months.


Ceiba Agile Methodology Value and Benefits

  • Provides immediate value to the business
  • Changes to the business are incremental, developed and tested quickly.

  • Supports the way the business actually operates
  • Involvement of people who will use the new system result in a solution mirrors the way the business operates.

  • Changes can be made as needed
  • This removes the pressure on the business to load every conceivable requirement into the project scope.

  • Integration is treated as a manageable, visible process
  • The new system can be visibly monitored and easily fixed when things go wrong.