科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道应用软件专业程序员训练营执行计划

专业程序员训练营执行计划

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

训练营的正式计划

作者:builder.com.cn 来源:来源网站 2007年11月25日

关键字:

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共19页)

这是我们训练营的正式计划,该计划描述了我们的目标、过程、各脚色的责任,也给出了我们的自我训练用虚拟项目和所需的开发环境。另外,虽然作者E文很糟糕,但还是用E文编写本计划的目的就是为了让大家更接近专业程序员的实际工作环境。作为专业程序员,我们的理想就是给世界各个角落的人们带来优秀的产品,而因为E文是事实上的世界通用语言,所以无论喜欢不喜欢我们都无法回避,而且通常产品的第一版应该是英文的。同时,作者也希望所有参与者坚持使用E文编写正式的相关文档。

  Self-Training Camp Plan

Date: 2007-11-25

1.      Overview

To help growing developers understand the requirements for a professional developer in real world, Yong set up a virtual self-training camp for attendees to discuss and to complete the training courses. This document described the training goals, virtual project, process and metrics.

 

1.1 Goals

Our main goal is help attendees deeply understand the strict requirements for a software developer. However, we also expect that attendees can build up some sense about following goals.
-           Logic and Abstract Thinking
-           Use the knowledge to Solve Problem
-           Modern Software Development Process
-           Customer Focus
-           Self-Critical
-           International Development
-           Developer Growing Path
 

1.2 Non Goals

Though we have to deal with some programming skills, but coding knowledge is not our goal. Comparing with immense technical knowledge across different domains, we believe above goals is more important for growing professional developers. If we know the basic principle to develop excellent software and if we know how to solve problem in general way, other stuffs left are simple enough - finding appropriate tools, knowledge, data structures to implement it! We call it as “Result Driven”. 

1.3 Roles

Attendees:  Understand the tasks (reading, coding or document) of each phrase described by organizer. Complete and upload owned tasks with high qualities in time. Review tasks completed by other attendees and respectively give some comments. All attendees are responsible to answer questions asked by other attendees.

Organizer: As a virtual mentor, the organizer is responsible to push the process moving on. Organizer should make attendees clearly understand the requirements of each development phase. He also should review the tasks completed by first top-N attendees and give some feedback. Organizer is also responsible to answer some common questions or write some topics in different phase if necessary.

  

2.      Development Process

To be a professional developer, writing a great program in weekend is not our goal anymore. That’s not a way to help software enterprise gaining long-term success.

In our training camp, we’ll simulate the iterative development process generated from software industry practice. We will break the process into following mile stones:

M0:

Start with brain storm and visions (See section of “Virtual Project” below).

Then set up our goals and make an executive plan (See section of “Schedule” below).

Write overall and M1 Spec (analysis the market and competitors, user scenarios, describe key features and function boundary, feature list, security consideration).

M1:

Design Document - Architecture, Basic Interface, Important Components, Basic Data Structures.

Coding – Coding for M1 features, bug fix and code reviewing (written by others).

Testing – Unit Testing (Developer owned), Feature Testing, Automation Testing

M2:

M2 Spec

Similar to M1, complete M2 features.

CC: Code Complete. All features should be done or cut off.

RC: Release Candidate. After smoking testing and bug fix, verify if we get the quality of RTM.

RTM: Release to market. Start to plan for next iteration.

Comments: usually there are 3 roles working together in above process – Program Manager (PM) is responsible for spec, Developer is responsible for implementation and Tester is responsible for qualities. However, don’t think it as pipelining. Developers are required to have contribution to features, implementation and qualities. Actually, experienced developers need some PM traits and sometimes developers are all in one for some small projects like following virtual project.

Comments: We will set several check points inside each mile stone to sync status and to do some tunings.

 

3.      Virtual Project

Our virtual project is a private English learning tool - codename “Spadger”.  It’s main features include bug not limited to:

* Build private English dictionary with real sample sentences generated from private collections – Books, Office documents, Emails, Web pages… Because those words and sample sentences has tight relationship to user’s real world (for e.g., working environments, personal interest, etc), so it’s more useful for users to learn English than popular words book.

* Allow user to generate different dictionary for different field, such as “Verbal English”, “Programming”, “Email”, etc.

* Provide Windows-based UI for user to explore, query and learn words across multiple private dictionaries.

* Integration with 3rd part online dictionary to play pronunciation and further more explanations.

 

Though the “Spadger” is small, however it has each attribute of a big system. We should design and implement it as a robust, flexible “product”. Actually, we can expand it for other complex user scenarios in the future such as “Intellisense” – auto list sample sentences when writing English document (See Google search box). We can also improve it by machine learning-based technologies to auto cluster user dictionaries or build it as a key part of personal desktop search.

 

 

4.      Schedule

At this moment, we only can list overall schedules and we will review it during execution.

Mile Stone
Due Date
Check List
M0
Dec.2 2007
1.        Overall Spec; 2.  M1 Spec
M1
Dec 31 2007
1.        M1 Design; 2. Dev Plan; 3. Coding; 4. Unit Testing; 5. Bug Report/Fix
M2
Feb 4 2008
1.        M2 Spec; 2. M2 Design; 3. Dev Plan; 4. Coding; 5. Unit Testing; 6. Bug
CC
Feb 18 2008
1.        Feature Check; 2. Code Sign Off; 3. Smoking Testing; 4. Testing Coverage Report; 5. Start Bug Triage
RC
Mar 10 2008
1.        Beta Testing; 2. Strict Bug Triage; 3. Smoking Testing
RTM
Mar 30 2008
1.        Sign Off for RTM; 2. List known issues; 3. Plan for next iteration

Detailed schedule will be given before the beginning of each mile stone. Developers are responsible to break down and then assign priorities of owned tasks.

 
 

5.      Development Environments

Platform: Windows 2000, Windows XP, Windows Server 2003 or Vista. Those platforms are also our target platforms of the virtual project. 

Tools: at least VC 2005 with MSDN. Prefer to install VC 2008 Express Edition– It’s free! (It’s ok to implement UI components in C# if like).

VC 2008 Express Edition! (Free): http://msdn.microsoft.com/vstudio/express/visualc/

 

 



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1901658

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章