Agile Software Development Proces
Agile Software Development

Overview

Orange & Bronze Software Labs is a fervent advocate of Agile Software Development.

It strictly adheres to such principles as:

  • Test-Driven Driven Development
  • Continuous Integration
  • Frequent Delivery (Short Iterations)
  • and Working Closely with the Customer

Orange & Bronze Software Labs is also the only company in the Philippines to offer training in Agile Software Development. Many of the leading software companies in the Philippines have availed of our Agile Development Training.

 

The Edge of Agile Software Development 

We believe that going Agile would help us in producing software that our customers need. Agile Software Development enables flexibility to make the software more fine-tuned and tailored to fit the customers' needs. Our iterations are usually one to six weeks long. In each iteration, we produce code that works and is ready for testing. As such, working closely with our customers is optimal.

This way, the software could be fine-tuned and changes would be easier to introduce. The iterations are small increments instead of big chunks of the software. This way, the process of developing software would be more efficient and adaptive.

Orange & Bronze Software Labs also uses {software development tools 'modern tools} for software development and collaboration which enables us to deliver quickly and frequently with a high degree of confidence and with consistency.

 

Agile Methods and Analysis

JavaScript is disabled!
To display this content, you need a JavaScript capable browser.
 

Why is there a need for Agile methods? These days, software development teams should be able to adapt to the needs of their clients. Sometimes changes could be so rapid that catching up with them might make your head spin.

The Agile methods 

Agile methods like Xtreme Programming as well as Scrum might seem developer-centric because of the practices being advocated. However, business analysts still play a critical role within the team. They are said to be the surrogate customers of the team. If the users are not available, especially for offshore development, your team needs someone who could speak for the users. In essence, it's not just the developers who need to work very closely with the users, that also includes the business analysts.

 

Adopting Agile methods

Adopting Agile methods for your projects might prove to be a win-win situation. Clients could feel how closely you work together and meet their important needs at the right time. Another advantage of going Agile is when you need to deliver requirements, your team does not have to feel that it is such a heavy burden because they could manage their sprints better as they observe how much they are able to work on. The team could also find it better to work with the users within each sprint because they are focused on what's important and needed, rather than a far away goal which seems unreachable. Business analysts within the team will also be able to manage the wealth of information they gain from interacting with the users and use them well as they deliver the requirements.

 

Documentation

When it comes to documentation, your team does not have to totally abolish all forms of documentation. This is especially true when the documents are also included as deliverables. The good thing about having manageable sprints is that the amount of documentation could also be managed and included within each sprint. Whether the team will divide the documentation based on the sprint and the type of documentation will depend on what their priorities are. Unlike in the Waterfall method, each phase is very strict when it comes to the documentation that needs to be done.

Again, the focus of Agile methods belongs to the software that the client needs. If they need the documentation as well, that is factored in as a deliverable which corresponds to the running software. This means that everyone in the team is working on something, nobody is waiting for a new set of tasks just because the phase is focused on development alone.

 

Agile Practices

In O&B's experience, adapting Agile methods requires that everyone has to be of the same mindset or it will not be very effective. The long-term effects of embracing Agile methods pay off.

Practices that O&B has been adapting: 
  • Pair Programming
  • Continuous Integration
  • Test Driven Development
  • Sprint Planning
  • Retrospectives
  • Automated Testing 

These practices foster camarederie and accountability among the members of our team. Each person will know what it is really like to be part of a team and deliver the software needed by the clients. It also provides a net for the entire team so that everyone is able to share tasks, skills and knowledge to one another.

Learning throughout the process is easily encouraged with this setup as well and it helps gain productivity. A productive team yields results and in turn, this makes the users of the software happy with the results.

In O&B's experience, adapting Agile methods requires a that everyone has to be of the same mindset or it will not be very effective. The long-term effects of embracing Agile methods does pay off.

The close relationship between the team and the client makes a big difference when it comes to delivering good quality software on time. It makes the relationship less antagonistic than what might be felt in the traditional software engineering methods. 

 

Tools

 

To ensure that we have close coordination with our customers and among ourselves, we use the following tools:

  • Version Control: 
    • We would like to be certain that everyone on the team is updated when it comes to the code we’re working on. It makes it easier to make sure that work is not duplicated, that everyone would have the latest version of the code, and we get to track of the changes made. Our current tool of choice is subversion.
  • Issue tracker:
    • is important to have one place where we could see what issues are there, what needs to be fixed, and what other tasks should be done. Issue trackers address this need and having all those details in one place, as well as knowing who is accountable for each of them. Clients have access to the issue tracker so they could easily file reports on the issues that they see. At the same time, developers could also note which ones have already been resolved—this proves to be a good communication and collaboration tool. We use Trac, which is integrated with our version control system. Even coding issues could easily be tracked using this.
  • Continuous integration:
    • Our software is built and tested automatically several times a day. Defects are caught within minutes of being committed.

 

 

 

Contact Orange & Bronze Software Labs

For more information on O&B's Agile Software Development,
call us at (632) 8943415 or send an email to
This e-mail address is being protected from spambots. You need JavaScript enabled to view it .