By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
446,276 Members | 1,979 Online
Bytes IT Community
Submit an Article
Got Smarts?
Share your bits of IT knowledge by writing an article on Bytes.

Ping Anís agile development

P: 4
Ping An’s agile development


I am exciting to decide to begin my english blog.I think blog is a sharpen sword for me who is a specialist in software industry and have 12 years experience in software development.

Ping An introduction

I am working for Ping An that is super company. The insurance’s business of Ping An is the biggest in the world, the asset of Ping Aa equals 2.6 times HongKong’s GDP and 1/3 Russian GDP. This greatest company located in ShenZhen of China.

Ping An alway hires talent engineers and most of them have over 6 years experiences in software development. This company has so many businesses and need to maintain a huge engineer group but is not enough. it must recruits so many outsourcing engineers work for us to do some non-core businesses.

Plan

Ping An includes Bank, insurance, a lot of kinds of financial businesses. Today ’s business rapid change, we need to using advanced and suitable technology to supply it. Company want to integrate those kinds of financial business and build up a financial platform that can support his clients that include company and personal business, the platform is called Ping An 3.0.

Process

Undoubtedly agile development is a good suite tools for us.
Per two weeks is a sprint.
We using microservice. I will extend microservice in an another topic.
We divide development into font and backend, so each tiers can be developed parallel.

Process Detail

First thing First, our’s system analyst collect requirement specification from product managers.My team will accept all kinds of requirement from different product managers simultaneous.At this time we need a meeting to assign those tasks to each of engineers. Leader engineer will take part in this meeting. In this period we need to calculate how much time those task need to consume and assign to person resource. e.g. If this team has 10 team members, one sprint is two weeks, each week have 5 work days, so we have total 100person/day resource, in the end we assign those resource to each of tasks. Every one that in this meeting need to estimate workload of task that they are familiar. Estimating time must leave some redundant that resource can deal with some critical problem, like fix production bugs, support business person, changing of requirements etc.

After engineer got his tasks. The product manager and system analyst will clarify their requirements to specialist and engineer. those people will ask or be asked questions each other and eventual they all understand those requirements.

Meeting is not end and coding is not begin now. Developers will product detail design and need a Kick Off meeting to verify their understand and find out problem about his or her detail design specification.The detail design specification contains DB design, class relationship, performance and so on, it does not require you to write to many things and do more beautiful decoration like add some more beautiful diagrams.our’s purpose is let you understand your requirements and defects that in your implement methods.But that ok if you are very familiar with your tasks, you needn’t write anything. If so though you have’t written detail design specification you need a kick off meeting to state your design and also need to be asked some question by analyst and specialist and project manager.

It’s coding stage after finished Kick Off meeting.
In the beginning the backend developer need to define interface that font developer can invoke it.

It’s amazing process. Some of novice developers will be stuck in this stage at some points, If they don’t give up easily and keep up they will gain more.Many of times they is difficult road. They will scratch their scalp, whisper to each other, they want to ask some question to nearby senior developer, but fear reject alway accompany to them. Because the senior developer have more heavy tasks and has been answered so many question to them. They search in website page by page. Those person like as if one want to eat a bone when he are very hungry eventually they will eat it. Fortunately those problem alway can be fixed.When solved the problem, the developer will real understand some more detail things or some mislead things that existing in his or her brain for a long time.This is a huge improve for a person.

Some of ones are immersed in this time. Coding help them keep out of some trivial things that alway make them depression. In coding they like to enter into another world that fill up happy and satisfaction, so coding is and activity that is the same as meditation, it’s one kind of and activity that is useful tool to keep person’s health.

Thanks gods! the computer language like java, javascript, oracle etc is large used by us. So if encounter a difficult problem we have big community to support, ton of blogs will show to you whichever is elaborated by its author. also you can have many kinds of question platforms to help you, you can ask question in it, and experience engineer or one who have fixed this problem will answer to you.

Coding stage is not simple. You needn’t be intelligent but need you are more diligent and more patience. Software development process is hard road, each line code need to think more careful especially for some importance functions, like financial functions. I think the diligent and patience can be enhanced by practice. Certainly these are many books and articles that can teach how to practice, for this I can write a long content article or even write a whole book. So for now I want to say it is just do you work qualify and complete it, as time goes on you will find a better method that suit to you.

No one will help to you to code forward except yourself. the more deadline near to you the more pressure you will have, sometime a certain extend of pressure will push you to your goal. So pressure is not always a bad thing.

Some one ’s task are more and another’s is less. Some one need more time and another one should be the opposite. So you need to plan to which function is prior that can optimal developer ’s and tester’s time. Some interface is independent and it can’t be delivered as soon as you completed and had passed testing by developer himself. If have enough time, that total task can be summited whole to tester.

Tester are not at leisure, They need to understand requirements, writing test cases. After finished writing testing case, they will hold on a meeting to verify those testing cases.Owner developer and product manager need to take part in.Each of tasks owner tester need to organize those kind of meeting respectively. Tester need to explain testing cases and the others will ask him so many question, so those tester need to be careful prepare it.

After finished coding all of functions, the codes need to be viewed by project manager and specialist. Will find so many defects in this stage, Not one time that haven’t found any defects, after all we are all human beings,. We will list those problem and some developers need to check whether those defects have been altered by the owner.

Tester perform System Integrate Testing, at the same time they will notice bugs to developers, The developer need to fix it in that very day when the bug is submitted before get off work.

At the end of testing, the test need to generate testing report. The report need to include which functions are tested, security testing, performance testing, and some suggests or descriptions.

It’s time to product manager to testing. this stage is called UAT.

After UAT that is said we can release this version.But we need a meeting that need to verify a list of files that will be released to the production.We using microservice architecture. One release version is consisted of so many small points, the releasing process would be uncomfortable. These isn’t successfully published in one times, there are alway one or two pit that we are missed and caused the server can’t restart or that software can’t run properly. So we need to make full prepare to roll back every things at each releases.

Things are not complete, owner developer, tester need to check software function that is released, and need to send the successful release email after all of them are verified.

Waiting. There is very importance thing that need to do, summary meeting.
In summary meeting we need to find out how can we do more better in the next time. Everyone need to submit proposal and project manager writer down it and then send to all of us.

What’s a lengthiness process! Yes. But we just only need two weeks. After two weeks we product a software that not only can run but also implemented some of business logicals. we can react business market just only need two weeks.
Jul 23 '17 #1
Share this Article
Share on Google+