Home | Contact us | Site Map
Amsol Advantages
Dynamic Development
Agile Development
Rapid Development
Platter of Delivery options
Proven scalability rate
Home->DynamicDevelopment->AgileDevelopment

Agile Business Software Development:

Agile is dynamic, context-specific, aggressively change-embracing, and growth-oriented iterative and evolutionary approach to software development implemented through a set of practices and principles. It focuses primarily on developing software with high collaboration between various individuals and with customer, “just enough” documentation and frequently delivering working software in order to make the process more responsive to changes.

Agile is not about improving efficiency, cutting costs, or battling down the business hatches to ride out fearsome competitive storms. It is about winning: about succeeding in emerging competitive arenas, and about winning profits, market share, and customers in the very center of the competitive storms many companies now fear. This is clearly visible from our BI approach strategies.

Our Agile Development Strategies process on project aim to do this by focusing on business value, improving communication between stakeholders and reducing unnecessary waste.

AREAS OF CONCENTRATION:

  • Organizational barriers.
  • Lack of business context
  • Organizational inertia
  • The wrong goals
  • Credibility

AGILE SOFTWARE MANAGEMENT STRATEGIES:

Our strategies address these issues by introduction of a new role into the project. This role would be responsible for the following:

  • Training the developers in the business domain and placing the problem within the business context.
  • Assisting the business to establish the business problem.
  • Building relationships between the business and development team and establishing effective communication.
  • Helping to establish a common language.
  • Mentoring the business in how to work with a development team.

AGILE OFFSHORE PROJECT MANAGEMENT

From the various BI approach strategies; we prefer the Agile Offshore Project Management. As off-shoring software development enables organizations to leverage wealth of skill and talent available at a much lower rate thereby making them more cost effective. In an attempt to leverage the benefits of off-shoring as well as Agile, we have practiced the hybrid “Offshore Agile” model yielding good results.This describes the challenges faced and best practices established during software development using offshore Agile.

CHALLENGES IN IMPLEMENTING OFFSHORE AGILE



Cultural Incompatibility:

Cultural incompatibility is one of the biggest stumbling blocks one could face while implementing offshore Agile.

Inertia from traditional software development methodologies: we advocate use of such traditional procedures. Changing requirements are always welcome and do not need to go through an elaborate change control process. Making the development team adapt to a complete shift in processes is a big challenge.

Cross Cultural Issues: We advocate active participation from the entire development team irrespective of their seniority. Queries and issues are raised and discussed in an open forum. It is a challenge to break the command-control mindset of the team and have them actively participate in all discussions without any hesitation.

Communication:

Knowledge Transfer: We enable developers to communicate directly and effectively with the business, and providing them with an understanding of the business problem.

Effective Relationships: We establish the credibility of the IT development team with the business, and vice versa, although they can only do this if they are credible with both groups. By focusing on building relationships, we attempt to identify barriers to communication and hopefully reduce politics between the business and the development team.

Establishing a common language: We believe that one of the key ways that our business strategy is to assist in the communication between the development team and the business, and also between different areas of the business is to establish a common language.

Project Management:

Mentoring the business: Often the business people involved in an IT project do not have experience of the type of project being undertaken. As a result, they do not understand how to best work with the development team. For this we train and to get the best out of the development team and how their role impacts on the project and to focus their efforts on those activities most beneficial to the project. This is particularly key on an agile project that needs more active involvement. Mentoring the business also improves the relationship between them and IT as they get to understand the issues that IT face and understand why they are sometimes unable to be as responsive as the business would be like.

Planning and estimation: Estimates are built by rolling up the aggregate estimates on a set of features. Rough magnitude of estimation is done in the beginning of each iteration and refined as the iteration progresses. Since estimates evolve as the work progresses, project planning is a challenge.

SCRUM/Iterative development model

SCRUM is like a miniature software project of its own having process skeleton that includes a set of practices and predefined roles, and includes all of the tasks necessary to release the mini-increment of new functionality, planning, requirements analysis, design, coding and testing.

While iteration/SPRINT may not add enough functionality to warrant releasing the product, an Agile software project intends to be capable of releasing new software after every iteration/SPRINT. At the end of iteration/SPRINT, the team reevaluates project priorities. Optimum results were obtained with short iteration spanning for two weeks. At each iteration/SPRINT, design modifications maybe made and new functional capabilities are added.

Aligning with conventional Quality Assurance processes

  • Most of the software companies are highly process oriented and follow conventional quality assurance processes and practices.
  • Agile philosophy is people oriented and gives less emphasis to well defined processes. It believes in “just enough” documentation and supports only those processes, which helps in doing the tasks faster and more efficiently.
  • The challenge is to align the Agile practices with organization’s well-established quality processes and strike a fine balance between these two to optimize benefits.