The value of various development methods in the Agile field
Brief introduction
Approach is how teams work together to achieve their goals. It describes how to identify and assign responsibilities, what technologies to apply, how to determine the criteria for success, and how to meet those standards.
Once, the method was static documentation in the dusty binder--mandatory, but almost incomprehensible and applied. The team applied the method at a minimum so as not to cause the process police's attention. A few years have passed quickly, and the agile revolution has overthrown the process police. The age of Freedom. Everything is peace, fraternity and cooperation!
But agility does not mean that there is no order. Applying agile methods correctly requires discipline. Principles exist, such as those seen in the Agile manifesto. There are many alternative technologies to choose from, such as to-do carding, planning poker, and test-first development. For many organizations, the agile approach is not enough. As organizational and technical complexity increases, additional scaling considerations need to be considered, and extension processes are required to match.
As methods become more complex, documents become more important and automated methods become more valuable. This paper explores the value of records and Automation methods using the IBM Rational method Composer and the Jazz technology based development tools.
Why is the method important
Everyone, every team, follows some methods. Some are temporary, created when needed, while others are formal, rigid, and mandatory. Some methods are documented with specific roles, work products, tasks, templates, checklists, and guides. Other methods are not documented, so developers rely on consensus among team members and know who to find to get more information. Most organizations are located between two extremes for two reasons:
Rigid methods can avoid changes when requirements arise, but temporary methods can lead to confusion
The method of detailed logging may be difficult to create and maintain, while methods that are not documented limit the communication and sharing of best practices.
Methods are important because they determine how well the team can work together. Methods to determine whether the technologies applied on a project are valid, they can even define the criteria for success in our minds. The problem is not whether there is a method, but how to ensure that your method works.
The reason for recording methods
Temporary, record-less methods can be attractive because they don't require investment and are very agile because you create them at work. However, this will become difficult to expand. The Rational method Composer includes some extensibility factors from the disciplined agile Delivery (disciplined Agile delivery) process:
The team size of the mainstream agile process in small teams (10-15) can be well applied, but if the team has 50 people? 100 people? 1000 people?
Compliance requirements If there are regulatory issues applicable, such as Sarbanes Oxley, ISO9000 or FDA CFR21?
Geographic distribution If the team is dispersed in a building, or around the world?
Domain complexity What if the problem domain is complex (e.g. biochemical process monitoring or air traffic control), or rapid change (e.g. financial derivatives trading or electronic security assurances)?
Organization distribution sometimes a project team member comes from different departments, different partner companies, or from outside agencies.
Technical complexity using legacy systems, multiple platforms, or mixing different technologies can increase the complexity of the technology.
Organizational complexity organizational structure and culture can reflect traditional values, thus increasing the complexity of adopting and expanding agile strategies. Different departments in the organization may have different opinions about how they should work.
Corporate discipline organizations want to leverage the common infrastructure platform to reduce time-to-market and improve consistency at lower cost. They need an effective enterprise architecture, enterprise business modeling, strategic reuse and portfolio management disciplines. These disciplines must work in conjunction with the software development process and, better yet, use them to enhance the process.
Figure 1. Specification for Agile Delivery Extension factors