Agile Software Development for the Visual Studio team Architect Group (Part I)

Source: Internet
Author: User

In my recent face-to-face interactions with customers, I have been fortunate enough to share with our team how to develop agile software in our daily work. There is no doubt that this is a hot topic among Chinese developers, and I would like to use the blog as a platform to communicate with more readers in writing. Of course there is a lot of debate about the pros and cons of agile development, and the related development patterns are also divided into TDD (Test driven Development), Scrum, XP (EXtreme programming). Personally, it is not important for a team to adhere to a certain set of agile methods, but you have to choose and adopt one (or several) that best suits your development team and development projects. I think it is important for the team to follow the 12 principles covered in the Agile Software Development manifesto.

Before I go into this issue, allow me to introduce the team: We belong to the Microsoft Development Tools Department (Developer Division, hereinafter referred to as DEVDIV), this department has thousands of software engineers, core products Visual Studio series of users from software development enthusiasts Professional developers and architects who have been to large enterprises.

Large and complex dependencies, code churn, and pressing development cycles make it challenging to manage the software development lifecycle and release high-quality Visual Studio products on time. To reduce risk and complexity, DEVDIV used the functional branching architecture (Feature Branch Structure) and the functional Team Model (Feature Crew model) during the development of Visual Studio 2008. In fact, this approach has been in the Office development team in the practice of achieving good results. One of its greatest benefits is that the team responsible for a feature has greater freedom in the process of independent development. Because of space limitations, I will focus on how our team is developing Agile software in this blog post.

Our team is responsible for the Visual Studio teams System Architecture Edition in the Visual Studio family, helping architects, operations managers, and developers visually construct service-oriented solutions, Reduce the complexity of (software product development). We have now developed several modeling tools based on UML and DSL. This is basically a new project.

In terms of product development, we are part of a global distributed development team that distributes four cities across three continents, including Shanghai in Asia, Redmond and Hawaii in North America, and Cambridge in Europe. To minimize the barriers that distributed research and development can make to communication between teams, we try to focus the members of the functional team on one place. Basically, the core of each functional group is completed in one city, and in other cities there may be individual engineers involved in the development. For example, we have a functional team in Shanghai, and some other engineers work at Redmond's corporate headquarters. But sometimes, based on the special requirements of the customer scenario, we also split a functional team into several, developed by teams from several cities at the same time.

In the second half of this article and later in the series, the Agile software development process that I talked about was followed by the same functional team that our Chinese team followed.

Our Chinese team is primarily responsible for developing core graphic design tools based on UML, including upcoming logical Class Designer, using case Designer. In addition, we are responsible for providing model Explorer for modeling element view functionality in the project. The agile development approach we have adopted is a modified version of scrum. As I mentioned earlier, we do not think that agile development methods and techniques is a panacea, the best for themselves. We have two engineers in our team who have been involved in scrum practice, and that's why we finally chose it.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.