« prev next »

My Functional Spec

Related Categories
  Blogging
  Friends
  Life
  Me
  Misc
  This Site
  Wendy
  Yifan
  Backstage
  Blog Tips
  Hosting
  Map
  MovableType
  Other Sites
  Spam
  Webcam
  Projects
  RSS

In Micrososft, I have been the training on software development processes for many years. I prompt the use of 3P4S (3 processes + 4 servers) software method - Daily Build process, Source Control process and Bug Tracking process + source server, build server, release server, and bug database..... I also worked a lot on stuff like team model, functional spec, code review...

When I talk with new developers and program managers the other day, I found the development process is not good and there is almost no document. I joked that "Your functional spec for a large project is not as complete as spec for my personal website."

I was not kidding. I have a functional spec document before I started to work on the new homepage. It was the planning work and thought before I actually worked on it. I altogether 4 hours (several minutes to one hour each time at my spare time) on the spec and it took less than 1 hour to implement the idea.

Here is the document:

After you review the document, you know all the secret behind my homepage. I hope the MoveType code will be helpful.

Posted by Jian Shuo Wang at November 13, 2004 11:04 PM
Copyright: You are free to redistribute this work, as long as you keep this disclaimer and this link: http://home.wangjianshuo.com/archives/20041113_my_functional_spec.htm

Related Entries: Backstage
  1. Improving User Portal on Wangjianshuo.com March 15, 2008
  2. Analysis of Links and Ways to Improve March 14, 2008
  3. How Translate Tool on this Site Works February 12, 2008
  4. Recovery of Fanfan's Blog December 2, 2007
  5. My Readers are Primarily Older, more Asian, and Male... November 7, 2007
  6. AdSense Color Schema Change October 14, 2007
  7. Shanghai Photo Viewer October 12, 2007
  8. Improved Commenter Page September 2, 2007
  9. How to Add Navigation Menu to MovableType September 1, 2007
Comments

What kind of product are you working on? How many people in your team? What programing language and tools you use?

Btw, I think the purpose of the F.S. is to get a consensus on the scope of the work among different parties involved in the project before starting to code. In your homepage case, I don't see there is other party besides youself involved, so I'm not sure if it really help to spend 4 hours writing such a spec.

Posted by: Roosevelt on November 14, 2004 10:23 AM


The specification is really useful for every project even if the project is invloved only one developer. Well done, Jian Shuo.

Heli

Posted by: Lu Heli (external link) on November 14, 2004 10:59 PM

I am organising an internal transfer to Shanghai starting Jan 2005... I basically do solutions architecture work...
As part of the work transition, I recently travelled to China to assist with an ongoing project - I found exactly the same thing :-((

Project team of 5~6 people.
Tech Lead with everything in his head - he does most of the technical work.
Project manager who has no real knowledge of the scope of the project, or status - very difficult to manage - many risks.
Other project workers have little knowledge of how the solution works, or what they need to do... much dis-satisfaction.

I attempted to document the solution and requirements via reverse engineering...
Most of the workers/PJM were appreciative of this - tech lead responses included:
"we dont work that way here in China..."
and included the story
"there was a famous engineer in China that spent X months in his apartment and built a fantastic editor - no documentation - this is how it should be done"
"I hate writing documents"

So in general, I get the sense that traditionally things have been done in an ad-hoc fashion...
Many of the workers are unhappy with this working style, and given time and visibility of how designing and documenting can make things easier for all, they will gradually get there...

Good luck with the education process...

RM

Posted by: RM on November 15, 2004 8:55 AM

Well, I think part of it is the nature of current projects in China, which are relatively small. When the size and scope of software reaches a certain critical mass, it becomes impossible for one person to understand it all. That's where documentation comes in, to facilitate communication and understanding of the solution between multiple team members.

Heck, I can write a text editor myself, without any documentation. But try building a stock trading system by yourself. Impossible without documentation.

Posted by: LTZ on November 17, 2004 2:23 PM

On a tangent, I feel that schools don't teach enough of these project management skills for CS or IS majors. I didn't learn this stuff until I started working for a consulting company. I feel that unless graduates in china get formal training in these areas at work, they will never learn these critical skills.

Posted by: LTZ on November 17, 2004 2:27 PM

I use the functional spec as a tool to seperate the "thinking" process and the "doing" proccess. When people write code (no matter it is C#, C++, Perl, PHP or Java), people can hardly think as clearly as they put alone some time to think....

The other function for a spec is to keep something for record

Posted by: Jian Shuo Wang (external link) on November 17, 2004 7:16 PM

I will be doing a course named Sofware Development Process Management that is abbreviated as SDPM for my BCIS (Bachelor of Computer and Information Science) degree next year. The assignments invloved are very practical and techinical. I hope I can reaaly get some knowledge on software development management.

Heli

Posted by: Lu Heli (external link) on November 19, 2004 12:02 AM

Heli, I have been teaching Microsoft Software Development Management in all major software parks in China for two years. The experience is quite interesting. With the team, we also created many courseware on this topic.

Posted by: Jian Shuo Wang (external link) on November 19, 2004 12:12 AM

Where can I find the training materials for Microsoft Software Development Management? After searching MSDN, I find nothing.

Posted by: Andrew on January 7, 2005 1:11 AM
Post a comment
Name:

Email Address: (will not show)

URL: (optional)

Comments:


It may take up to 30 seconds before the server returns a result. IP address recorded.
Remember my information?

<-- Please click POST only once
© 2001 - 2008 Jian Shuo Wang. All right reserved.