Archiv für die „bewegliche Software-Entwicklung“ Kategorie
-->Der Rahmen der Softwaretechnik ist durch Einleitung der beweglichen Software-Entwicklung Konzepte neu definiert worden. Beweglich hat grössere Verbesserung im Lebenszyklus eines Software-Projektes aufgefordert. Wenn sind das Einführen beweglich mit vom Land entfernten oder verteilten Entwicklung Mannschaften, dort Gelegenheiten, drei Aspekte des Projektes zu adressieren. Wir umfassen diese drei Einzelteile sowie zur Verfügung stellen einen wenig Hintergrund auf beweglichem.
Es gibt einige Entwicklung Taktiken, die durch bewegliches eingeführt werden. Die meisten Taktiken fokussieren Versuch, Gefahr in sich entwickelnder Software in der kurzen Zeitmenge herabzusetzen und/oder herauszustellen. Wiederholung ist die Entwicklung von Software in einer Maßeinheit Zeit, und diese kann von eine bis vier Wochen dauern. Sie schließt Planung, Anforderungsstudie, Design, Kodierung und die Prüfung ein. Software entwickelte sich während der Wiederholung braucht, nicht funktionell zu sein genug, als Produkt im Markt freigegeben zu werden, aber die Zielsetzung ist, Arbeits-Software, ohne Wanzen, am Ende jeder Wiederholung zu haben. Die Mannschaft bewertet die Projektprioritäten am Ende jeder Wiederholung neu.
Traditionelle outsource Herausforderungen werden verstärkt und neue Herausforderungen werden verursacht, wenn Software-Entwicklung ablandig genommen wird. These new challenges are mainly in cultural differences, combined with the communication difficulty due to the difference in time and language comprehension. Most importantly, the biggest challenges remain in communicating, transfer of business logic understanding, demand in co-operation in poorly defined projects, unknown and imprecise requirements and lack of customer involvement, differences between customer and vendor, geographical distance, and many more. To be successful with offshore software development, these hurdles need to be overcome by both the onshore and offshore teams.
In plan-driven and Agile as well, face to face communication is stressed to improve communication and understanding of the project. This type of face to face time takes place during each iteration, where plan-driven project is concerned and this took place essentially at the beginning of the project. When face to face time is not possible with the offshore provider, it is beneficial to have each developer answer 3 daily questions: what you did yesterday? what you plan to do today? describe any roadblocks or obstacles in completing the iteration stories? Each developer should answer these question and not simply the offshore project manager. Perhaps the offshore project manager can help in translating the answers to these questions.
In case of Agile, face to face meetings are held at all time, usually in the form of daily Scrums, pair programming, iteration retrospectives and iteration planning. In distributed development teams, many times the onshore managers travel offshore to hold meetings with the offshore team, or in other circumstances, managers from offshore travel onshore for meetings. One important influence depends on the offshore person visiting the onshore team to absorb the project details and develop/foster relationships. He should take this know-how from the onsite team in a way that he is knowledgeable enough to answer many questions raised by his offshore team. In addition, he should be also capable of relating to his team members about the decisions that were taken in his meetings with the onsite team. Depending upon the complexity of the project, a member of the onsite team, with good knowledge in business logic is often sent to work offshore.
In implementing Agile projects, a series of processes are utilized. The development process is not just a single approach. In implementing software offshore development, there are some principles that are followed, which have been termed as Agile Manifesto. These are as follows -
➢ Customer satisfaction is achieved by rapid and continuous delivery of useful software.
➢ Quick delivery of working software within weeks rather than months.
➢ The principle measure of development progress is derived from the working software.
➢ Any changes in the software may be incorporated later.
➢ Necessity in having face to face communication for better understanding.
➢ Maintain close relationships between the business people and the developers.
➢ Motivation and trust on the individuals make the project implementation successful.
➢ Apply continuous attention to the project design, and try to attain technical excellence.
➢ Adapt fast to changing circumstances.
It was found that the iterative framework brought benefits to Agile software development vendors. By this approach, the customers could make payments after each iteration. By paying this way, the customer does not lose or be in a risk to pay the for the whole lot after the completion of the project. This brought in commitment from the customer to provide the vendor with better business and motivates the vendor to consider each iteration important. The method of continuous feedback and communication helps in the offshore development process, but the approach of short iterations has proved to be especially successful.
Another aspect of Agile development is the importance of testing in each iteration. Each iteration should produce automated tests that can be used during each iteration and future iterations as well. The benefits of automated testing is better covered in different articles. However, in the context of this article, it is important for your offshore vendors to deliver automated tests with each iteration. When considering new vendors, ask about their testing strategies. It is better to go with a vendor who believes in automated testing, rather than trying to convince a vendor the benefits of automated testing.
So, in sum, when implementing Agile in distributed development teams, there are opportunities to address three aspects of the project: communication, payment/deliverables and automated testing.
Outsource Software











