Job Recruitment Website - Property management - Challenges and Strategies of Agile Software Outsourcing

Challenges and Strategies of Agile Software Outsourcing

In August 2005, I worked as a CIM software engineer in Vicor Company (semiconductor manufacturing) in Massachusetts for five years, and then I left my job and returned to China. It was not until 20 14 and 12 that I officially entered the software outsourcing industry in China, which lasted nearly ten years. Combined with 10 outsourcing experience and agile practice, this paper discusses the challenges and strategies of agile software outsourcing.

/kloc-the complex relationship between me and outsourcing in 0/0 years

At that time, I was the project director of Chuangzhi International, a subsidiary of Changsha Powerise Group, and had three outsourcing projects. One of the project clients is Microsoft. At that time, it was said that it was through Li Kaifu, and the project was the localization of Business Dynamics ERP products. There are about 25 people in our team, waterfall development. I remember that one of the biggest benefits of the project manager is to work overtime with the team every day. We know little about ERP business, especially financial knowledge, and the project is very painful. The person in charge of this project is very patient with us. Because my eldest daughter was going to be born, and because of the listing storm of Chuangzhi Group at that time, I stayed for four months and chose to leave Chuangzhi International temporarily and go back to Boston to take care of my family. Later, this project was taken to Singapore by Microsoft, and the Changsha team was dissolved. Although the time is not long, I feel the challenges and opportunities of software outsourcing.

In July 2006, I was also the chairman of China Information Network Association (NECINA), one of the most influential non-profit Chinese professional associations in North www.necina.org. With the help of the platform of the Association and the efforts of the officers, I initiated the first "China-US Outsourcing Forum", which was successfully held in Boston1October 2-4, and was reported by CCTV. This forum is the first and only docking platform in North China, aiming at docking American outsourcing companies and American customers who contract projects in China. I tried my best to push domestic 10 enterprises (including Zhongguancun Park) to foreign markets without any remuneration.

165438+2006 10 to March 2009, I worked in Lumigent, USA, as the software outsourcing engineering director (Party A). The previous positions were all foreigners and were abolished within one year. This time, it is obvious that we have to hire a China person, because the outsourcing team of the supplier (ArrAy, later acquired by Hitachi) is in Guangzhou, and the team has about 30 people. First, it adopts waterfall mode. To tell the truth, this job is very hard, neither too early nor too late. The time difference between Boston and China is exactly 12 hour. I have accumulated a lot of outsourcing experience and have a good relationship with the outsourcing team.

Later, in 2008, he participated in the planning of the second Sino-US outsourcing forum in cooperation with Massachusetts government, and in 2009, he participated in the planning of the third Sino-US outsourcing forum in cooperation with MIT.

In March 2009, I returned to China for the second time and landed in Suzhou to be a supplier of Xinyu software. (Dextrys) is responsible for leading the client's Avid outsourcing project, which rapidly increased from the initial 20-30 employees to 65,438+050 employees within one year. It is very successful in agile recruitment, establishing and cultivating Scrum team and delivering software products with Scrum. In 20 10, I was sent by Xinyu to the agile development team in China to build a new customer Endeca from scratch. In three years, I have grown to 45 people organically. In 20 12, I was acquired by Oracle Bone Inscriptions. I am the software development director of China Oracle Bone Inscriptions Software R&D Center.

From March 20 13 to February 20 14, I joined Shinetech in Beijing as the vice president of global delivery, mainly involved in business negotiations with some major customers, and was responsible for two branches in Shanghai and Suzhou. Shine Tech is an early private enterprise in China, focusing on international service outsourcing, and its agile culture is unique in China.

It should be noted that all the projects I participated in in these enterprises when I returned to China for the second time were developed and delivered by 100% with Scrum method. What can we learn from it?

1.? Both parties have the same process-? muddledness

Scrum has become a project management (in terms of people and things) process and team work mode agreed and observed by both parties, and the development mode of Scrum is clearly written in the contract between both parties. Party A and Party B should stop forcing which side's "best practices" are used to develop software, and standardize a process and a context. Because Scrum emphasizes transparency and transparent establishment, it has won the mutual trust between Party A and Party B, including the timely display of the labor results of two-week iteration, so that customers can see the real progress of the project. From a global perspective, Scrum has even become a unified working method and standardized process after the parent company acquires its subsidiaries. Jeff Sutherland (the founder of Scrum) is a consultant of the venture capital company Openview (/). Openview requires that all start-ups they invest in must follow agile values and work according to Scrum's process framework, whether it is the marketing department or the operation production department. Scrum has become a unified way of working, and there is no need to spend time arguing about what is best practice. I brought Avid, Endeca, Ralph Lauren and other projects. Scrum's development method is clearly used in the contract.

2.? Agile contract

How to sign the contract? Agile contract (SOW) is nothing more than these:

(1) There is no fixed-term contract, that is, only the requirements of the target and general scope are signed, but the specific details are not signed, and the person in charge is signed and the personnel are appointed. At that time, our projects in Europe and America were all fixed-head, and there were different quotations according to the working experience and years of engineers. Almost every candidate has to be interviewed by customers and make an offer according to his own ability. Even this quotation is open and transparent to Party B's engineers. Applicants know their own weight, their own value, and the feedback from customers on their evaluation. Party A shall settle accounts once a month or once an iteration. This contract can be terminated by the customer in advance, and the customer only needs to inform Party B 3 months in advance.

(2) Sign a long-term income contract. In recent years, the domestic outsourcing market is very large. We found that there is a domestic model in which Party A and Party B jointly develop a certain type of Internet product, and part of the product income is linked to Party B, so that Party A and Party B are bound together, sharing risks and interests, and everyone becomes a real partnership.

(3) Pay according to the story points of iterative users, and settle accounts once every iteration, so the signing time is more flexible. Of course, in this case, both parties have passed the running-in period and established a long-term trust relationship.

(4) Fixed quotation contract, which is the most common. Party A said, "I want these things with so much budget, and they will go online in six months." That is, a contract with fixed scope, fixed quotation and fixed time (quality requirements will also be attached). This kind of contract is the biggest headache. In fact, a "time bomb" was buried at the moment such a contract was signed. When Party A tries to get a "definite" and "guaranteed" commitment document, it actually only buys a psychological sense of security or comfort, which is more like an "unequal" treaty. What Party B wants to sell is to win the order and its high commission as soon as possible, and it won't take too much time to assess the risk. In most cases, the result is.

√? If the price is fixed and the team is not fixed, Party B will often "change people" or "move" as a resource, and sometimes even a project manager or engineer of the supplier spans multiple customers and projects. On the surface, this person is serving Party A, but in fact, this is not the case, and the customer is still "paying the bill". People are not resources. Customers spend time and energy investing in these "people". Unfortunately, the personnel are not fixed, leaving a gap for suppliers to cheat. Even if suppliers are not intentional, they are sometimes forced, for example, the project quotation is too low and there is no profit margin.

√? Outsourcing team members don't have a sense of belonging, and outsourcing will easily lead to the psychological shadow of "unequal" between Party A and Party B. If Party A is strong and Party B is weak, and people and projects are not bound, it is impossible to establish teams and working groups, so how to improve team efficiency? The interests of customers are not guaranteed.

√? For the project with fixed quotation, the common "scenery" in the later stage of the project is: working overtime, reducing the scope, delaying time, automatically sacrificing quality, low team morale, customers starting to complain, and Party B is a firefighter.

So try to avoid signing contracts with people with variable fixed prices. If the customer has to sign it, it is better to sign a two-stage contract, that is, 1-2 months fixed-time contract+fixed-price contract. Run at least a few iterations to try the water first. Some things, you have to start "involved" to know the "water depth" and know how big the risk is. After a month or two of trial, I determined the main risks and "tried the water depth", and did my homework for signing the second-stage fixed-price contract. At the same time, it protects the interests of suppliers and is ultimately responsible to customers.

So, can a fixed-price project be delivered in an agile way? The answer is yes;

√? Demand is still a priority, 20/80? Principle: always focus on the top 20% of the most valuable needs, at least not miss important high-value needs and annoy customers. Even if we are under time pressure at the end of the project, those requirements that cannot be met are unimportant or dispensable.

√? In the two-week iteration, the incremental labor results of products are displayed to customers, seeking feedback, not "deviating" too much, and proofreading in time. This seems to increase the cost (overhead), but it avoids detours, avoids possible big mistakes in the later period, and even overthrows them all.

√? How to deal with new demands? First of all, we welcome it, but the condition is that a low-value demand is used instead in a contract of similar scale. The advantage of this is that there is no need to change the total contract price, and there is no need to go through a tedious and lengthy process of demand change. "Free replacement". Everyone saves trouble and money for customers, as shown below.

√? Can a fixed-price contract be terminated early? For example, for customers, reassessing the remaining demand is worthless or the ROI is too low? At this time, if the contract is terminated suddenly, it will be a great loss to the supplier and unfair to the time when the staff is idle. ? The contract between Party A and Party B is agreed in advance. If the customer wants to terminate the contract early, a certain percentage of the remaining contract price will be distributed to the supplier (for example, 30% of the balance and 20% will be paid to the supplier), and the customer will also save the budget. Contracts like "something for nothing" force customers to give priority to business value. For suppliers, the best mode is pay-as-you-go, and the supplier team can do other more valuable projects.

It is necessary to clarify the purpose of estimation here, which is a misunderstanding. Estimation is not used for quotation and contract signing. The purpose of agile evaluation is to let each member of cross-functional team learn from each other in the evaluation process and reach a * * * understanding of requirements. The process of evaluation is a process of learning and adjustment. With the progress of the project, members' understanding of the requirements and the accumulation of knowledge and experience, the team can re-estimate the previous estimate, and the focus is not on how accurate the estimate is, nor how to teach you to estimate. In short, there is no right or wrong estimate. Never equate evaluation with commitment.

3.? The Position of Scrum Role in Party A and Party B

In most cases, PO comes from customers, who know business and industry knowledge and pay attention to return on investment. But may ignore the interests of suppliers. If a purchase order comes from a supplier, we define it as a purchase order agent. The biggest problem is that there is no authorization to make decisions, which brings delay costs. PO agent becomes the first line of defense for outsourcing teams to clarify requirements and problems. If the PO agent is not in the same office as the real PO, the PO agent becomes a "middleman". Imagine this model: po-> poproxy->; ? Team; Of course, if the customer does not clarify the role of PO, it will be even more troublesome, and no one will be responsible for the final product. The role definition of PO is the key. This purchase order can certainly handle this product full-time. Most enterprises do not have a clear definition of PO, and there is a phenomenon of wrangling, or that PO has no power and no motivation.

A common bad situation I have seen is this structure, business department (Party A) +IT PM (Party A's project manager)+outsourcing team (Party B)+? Project manager of Party B; Party A has an IT project manager to connect the business with Party B. As a middleman, this IT project manager increases the communication cost and is very time-consuming. In most cases, Party B's project manager is a "decoration", or a "supervisor" of a team, or a "protective umbrella" or a "spokesperson" of a team. This makes it difficult for outsourcing teams to grow.

The recommended practice is that we encourage customers' real PO to communicate directly with the outsourcing team and remove the middleman. A successful purchase order will take at least 1/3 time to communicate with the outsourcing team.

The role of Party A's IT project manager is valuable, but it needs to be repositioned in agile projects. Either scrum master will coach PO and Party B's SM to help clear the obstacles that the team can't handle in Party A, or become a member of the team, responsible for Party A's IT technology, such as architecture, and integrate into the team's work. But you can't be a project manager, take care of everything, act as a supervisor, and eventually become a "back-burner".

ScrumMaster and development team come from suppliers, SM generally comes from Party B, and the interests are all in one company. SM is close to the team and easy to coach. Party b's SM? I don't think it's necessary to be full-time (unless the customer asks for full-time), and I can even participate in some development work. All SM teams I have taken are part-time. In the actual domestic projects, I also saw that SM came from Party A, which made it easier for SM to help the team remove obstacles and build trust and respect with the outsourcing team.

Agile outsourcing team is cross-functional. The advantage of this is that when we start to form the Scrum team, we don't need to break the structure of traditional functional departments, unlike the company that makes products, which has to transform to agile and reorganize. We recruit people according to the contract (internal recruitment and external recruitment) and establish a multi-functional full-time team. In addition, Party A's purchase order may not need to attend the whole review meeting. Sometimes the team feels uncomfortable and lacks "sense of security" because of the existence of Party A's PO, so it is necessary to invite PO to attend some retrospective meetings.

4. Good practices of agile outsourcing:

√? Party B goes to Party A's site to work and sit together. The co-location project has been half successful. Many domestic customers do this. Even if you can't, you should exchange visits with customers regularly.

√? At the start of the project, all project members of Party A and Party B create a product vision, understand why, and gather business parties, IT personnel and outsourcing teams for a two-day workshop. This may be "luxury", but the benefits far outweigh the input. Several clients I have coached are aware of the necessity of doing so.

√? The team left 5- 10% slack time at the Sprint planning meeting. In one case, Party A's SM encourages the outsourcing team to have 10%? The outsourcing team is very satisfied with innovation and independent time, but the production efficiency has improved a lot.

√? The establishment of obstacle billboards beyond the team level is mainly aimed at Party A, and the IT manager of Party A mainly helps the team solve these problems. The visualization of the problem is the key, and it is best for the customer's personnel to follow up.

√? Ensure that every iteration of PO and the team's demand combing continue, without "discount". Choose a qualified PO, PO to attend the iteration planning meeting, define the goal, and don't play "disappear" in the iteration.

√? Party A doesn't want to micromanage the work of everyone in Party B's team, but leaves micromanagement to the team itself.

√? Auxiliary use of physical and electronic tools, do not give up the physical whiteboard.

? 5.? Agile Outsourcing Culture-Long-term Product Partnership

√? Party A and Party B are partners in a common venue, and establish the idea of a product, a goal, a team and a real partnership. Everyone is in the same boat, rowing together, stopping the contract "game" and ending the idea of independence. In step, harmony will win. Reduce the cost of contract negotiation and renewal without spending time looking for other suppliers.

√? Scrum's five values become the culture in which we work together. Especially a culture of respect. Project relationship between Party A and Party B Although we belong to different organizations, it does not affect our embrace and practice of agile principles and our loyalty to a product.

√? When the project starts, Party A and Party B shall invite agile project members to attend at least one day of basic training. Discuss and understand agile values and principles on a regular basis and their significance to our behavior. Every member of the Agile project has the idea of buying Agile. In the past few years, my clients not only trained their IT teams, but also began to urge suppliers to do agile training, which is a matter for both sides.

In fact, in 20 12, the agile development outsourcing team of Endeca China, which I personally built, was acquired by Oracle Bone Inscriptions, that is, at the beginning, our positioning was product partnership, and the outsourcing team had a profound understanding of products and a harmonious relationship with customers and colleagues. The ways and means of doing things were subtly driven by customer culture, and eventually both sides recognized it.

Finally, I summarized my observation on the trend of agile outsourcing:

( 1)? Outsourcing projects can be developed flexibly. Scrum will certainly be beneficial to the delivery of outsourced projects, and transparency will double the trust of customers. Scrum pays attention to honesty. Without honesty, how can Party A and Party B do business?

(2)? Even fixed-price projects will not prevent you from trying to deliver value to customers in an agile way. Although customers may still have traditional thinking, don't expect customers to change first or use it as an excuse that "we can't be agile". What can Party B do to win the trust of Party A? Agile development is where you start right away.

(3)? Compared with traditional outsourcing, agile development has become Party B's business model and competitive advantage. Suppliers with agile development experience are more likely to take orders and have more say in signing reasonable and fair contracts. The supplier (Party B) should seize the opportunity and strive to build your agile team, which is your capital asset.

(4)? Once the team adopts agile development mode, it is rarely willing to go back to the old waterfall mode.

Jim Wang?

Written during the epidemic on May 4th, 2020?

References:

(1) a Scrum book: the spirit of the game? 1st version, by? Jeff Sutherland? James O. Koplin? Kiro Harada? Joseph Joad? Joan King? Jens. Stegard? Wait a minute. ?

(2) Fully Distributed Scrum: Replicating local productivity and quality? Offshore team

Jeff Sutherland, Dr Guido Schonheim, Maric Rick.