U E D R , A S I H C RSS

Project Zephyrus/Afterwords


2002λ…„ 6μ›” 27일 6μ‹œμ— ProjectZephyrus 에 κ΄€ν•΄ μ •λ¦¬ν•˜λŠ” μ‹œκ°„μ„ κ°€μ‘Œλ‹€.

  • 진행 : κΉ€μ°½μ€
  • μ°Έμ—¬μž : κ°•μ„μ²œ, λ₯˜μƒλΌ, μ΄μƒκ·œ, μ΄μ˜μ„œ

1. 진행 방법

  1. ν”„λ‘œμ νŠΈλΌ μ§„ν–‰ν•˜λ©΄μ„œ '잘된점' 에 λŒ€ν•΄ λ‚˜μ—΄ν•΄ λ‚˜κ°”λ‹€. (이 λ•ŒλŠ” 잘된점만 이야기함) μ²˜μŒμ—” ν•œλͺ…μ”© λŒμ•„κ°€λ©΄μ„œ μ΄μ•ΌκΈ°ν–ˆκ³ , ν•œλ°”ν€΄ 돈 λ‹€μŒ μƒκ°λ‚˜λŠ”λŒ€λ‘œ μ΄μ•ΌκΈ°ν–ˆλ‹€.
  2. ν”„λ‘œμ νŠΈλΌ μ§„ν–‰ν•˜λ©΄μ„œ '잘λͺ»λœμ ' 에 λŒ€ν•΄ λ‚˜μ—΄ν•΄ λ‚˜κ°”λ‹€. (이 λ•ŒλŠ” 잘λͺ»λœμ λ§Œ 이야기함) μ—­μ‹œ μ²˜μŒμ—” ν•œλͺ…μ”© λŒμ•„κ°€λ©΄μ„œ μ΄μ•ΌκΈ°ν–ˆκ³ , ν•œλ°”ν€΄ 돈 λ‹€μŒ μƒκ°λ‚˜λŠ”λŒ€λ‘œ μ΄μ•ΌκΈ°ν–ˆλ‹€.
  3. 각각의 κ²½μš°λ“€μ— λŒ€ν•΄μ„œ κ·Έ 원인을 νŒŒμ•…ν•˜κ³ , λŒ€μ•ˆμ„ μƒκ°ν•΄λ³΄μ•˜λ‹€. (μ‹œκ°„μ΄ 쑰금 많이 ν˜λŸ¬μ„œ λͺ¨λ“  κ²½μš°λ“€μ— λŒ€ν•œ λŒ€μ•ˆμ€ 내지 λͺ»ν•˜μ˜€λ‹€. ν•˜μ§€λ§Œ, μ΄λŠ” 계속 ν•΄ λ³Ό 일이닀. κ·Έλ‹Ήμ‹œ 잘 ν–ˆλ˜ 점은 더 μž˜ν•˜κΈ° μœ„ν•΄, 잘λͺ»ν–ˆλ˜ 점은 λ‹€μ‹œ μ‹€μˆ˜ν•˜μ§€ μ•ŠκΈ° μœ„ν•΄)

2. 잘된점

  • deadline 을 잘 λ§žμ·„λ‹€. - 6μ›” 10μΌκΉŒμ§€ μ™„λ£Œν•˜κΈ°λ‘œ ν•œ 약속을 지켰닀.
  • μ„œλ²„νŒ€μ˜ λ¬Έμ„œν™”κ°€ 잘 λ˜μ—ˆλ‹€. - ProjectZephyrus/Server μ°Έμ‘°.
  • Server Architecture λ””μžμΈμ΄ 잘 λ˜μ—ˆλ‹€. - μžμ‹ μ΄ 맑은 ν΄λž˜μŠ€μ—λ§Œ μΆ©μ‹€ν•˜λ©΄ λ˜μ—ˆλ‹€.
  • Pair Programming 에 신경을 썼닀. - Pair Programming 을 μœ„ν•œ 진행 μ „λž΅μ΄ μžˆμ—ˆλ‹€.
  • WORA λΌ κ²½ν—˜ν•΄λ³Ό 수 μžˆμ—ˆλ‹€ - μœˆλ„μš°μ¦ˆμ—μ„œ 개발/ν…ŒμŠ€νŠΈ ν•œ μ„œλ²„ ν”„λ‘œκ·Έλž¨μ„ 별닀λ₯Έ μˆ˜μ •μ—†μ΄ linux μ„œλ²„μΈ ZeroPageServer μ—μ„œ 돌릴 수 μžˆμ—ˆλ‹€.
  • CVS을 μ‚¬μš©ν•˜λ©΄μ„œ CVS의 μœ μš©ν•¨μ„ κ²½ν—˜ν•΄λ³Ό 수 μžˆμ—ˆλ‹€.
  • ν›„κΈ° 기둝이 잘 λ˜μ—ˆλ‹€.

3. 잘λͺ»λœμ 

  • server νŒ€κ³Ό Client νŒ€μ˜ 전체 meeting 이 거의 μ „λ¬΄ν–ˆλ‹€.
  • νŒ€μ›λ“€μ˜ μŠ€μΌ€μ„ κ΄€λ¦¬κ°€ μ–΄λ €μ› λ‹€. (λ†λ•‘μ΄λΌ ν”Όμš°κ±°λ‚˜, μ‚¬λžŒλ“€μ΄ ν”„λ‘œμ νŠΈ μ™Έμ˜ κΈ°νƒ€μΌλ‘œ λ°”λΉ μ„œ κ³΅λ™μž‘μ—…μ„ ν•˜λŠ”λ° 어렀움)
  • IDE κ°€ νŒ€λ³„/κ°œμΈλ³„λ‘œ λ‹¬λΌμ„œ ν”„λ‘œμ νŠΈ 화일등을 μ—…λ°μ΄νŠΈν•΄μ£Όμ–΄μ•Ό ν–ˆλ‹€.
  • ν΄λΌμ΄μ–ΈνŠΈ νŒŒνŠΈκ°€ Doc Convention 을 지킀지 μ•Šμ•˜λ‹€.
  • Server Program의 Design Evaluation 을 λͺ»ν•˜λŠ”데에 λŒ€ν•œ 슀트레슀 - ν˜„μž¬ λ‚˜μ˜ λ””μžμΈμ΄ μ˜¬λ°”λ₯Έ λ””μžμΈμΈμ§€ 평가받지 λͺ»ν•˜μ—¬μ„œ λΆˆμ•ˆν•˜λ‹€.
  • PPλΌ λ„ˆλ¬΄ μ§€λ‚˜μΉ˜κ²Œ ν–ˆλ‹€ - μ„œλ²„νŒ€μ˜ 경우 ν›„λ°˜μœΌλ‘œ κ°€λ©΄μ„œ '이건 차라리 각자 ν”„λ‘œκ·Έλž˜λ°ν•˜λŠ”κ²Œ 더 νš¨μœ¨μ μ΄μ˜€μ„ν…λ°' ν•˜λŠ” 생각이 λ“€μ—ˆλ‹€.
  • κ³΅λΆ€λΌλŠ” 본래의 λͺ©ν‘œλ³΄λ‹€ 결과에 μΉ˜μ€‘ - Program Output 이 λ³Έ λͺ©μ μ΄ μ•„λ‹˜μ—λ„ λΆˆκ΅¬ν•˜κ³ , ν›„λ°°λ“€κ³Ό λκΉŒμ§€ 같이 μ§„ν–‰ν•˜μ§€ λͺ»ν•˜κ³  쀑간쀑간 단독진행을 ν•˜μ˜€λ‹€.
  • 초기 SPEC이 λ„ˆλ¬΄ μΆ”μƒμ μ΄μ˜€λ‹€. - ν”„λ‘œμ νŠΈ 쀑간에 ν•©λ₯˜ν•œ μƒκ·œμ˜ 경우 ν”„λ‘œμ νŠΈμ˜ μŠ€νŽ™μ„ μ΄ν•΄ν•˜μ§€ λͺ»ν–ˆκ³ , μ™„μ„±λœ Output 에 λŒ€ν•œ 그림을 그리지 λͺ»ν–ˆλ‹€.
  • 초기 λͺ©μ μ΄ ꡬ체적이지 λͺ»ν–ˆλ‹€.

4. 잘된 κ²½μš°μ— λŒ€ν•œ 원인 뢄석

  • deadline 을 잘 λ§žμ·„λ‹€.
    - 초기 λͺ¨μž„μ‹œμ— Spec 을 μ΅œμ†Œν™”ν–ˆκ³ , 쀑간에 Task 관리가 잘 μ΄λ£¨μ–΄μ‘Œλ‹€. 그리고 Time Estimate κ°€ μ΄λ£¨μ–΄μ‘Œλ‹€. (ProjectZephyrus/Client) 주어진 μžμ› (인λ ₯, μ‹œκ°„)에 λŒ€ν•΄ Scope 의 쑰절이 비ꡐ적 잘 λ˜μ—ˆλ‹€.

  • μ„œλ²„νŒ€μ˜ λ¬Έμ„œν™”κ°€ 잘 λ˜μ—ˆλ‹€.
    - μ„œλ²„νŒ€ μ§„ν–‰μžμΈ neocoin 의 μ„±μ‹€μ„±

  • Server Architehcute λ””μžμΈμ΄ 잘 λ˜μ—ˆλ‹€.
    - 초기 Up Front Design 에 신경을 썼닀. Design Pattern 의 λ„μž…μœΌλ‘œ OCP (OpenClosedPrinciple) κ°€ 잘 μ§€μΌœμ‘Œλ‹€.

  • PairProgramming 에 신경을 썼닀.
    - PairProgramming 전에 진행 μ „λž΅μ„ μ„Έμ› λ‹€. (5λΆ„ PP λΌλ˜μ§€, PP μˆœμ„œμ‹œ κ°„λ‹¨ν•œ Modeling λ’€, Sequence Diagram 등을 그리고 λ‚œ λ’€ 진행을 ν•œλ‹€λ˜μ§€, ν›„λ°°λ“€μ—κ²Œ ν”„λ‘œκ·Έλž˜λ°μ΄ μ™„μ„±λ˜μ—ˆμ„ κ²½μš°μ— μ–΄λ– μ–΄λ– ν•˜κ²Œ λŒμ•„κ°ˆ 것이닀 라고 λΈλ¦¬ κ·Έ κ²°κ³ΌλΌ μƒκ°ν•΄λ³΄κ²Œλ” μœ λ„)

  • WORA λΌ κ²½ν—˜ν•΄λ³Ό 수 μžˆμ—ˆλ‹€.
    - Java Language 의 νŠΉμ„±.

  • CVS을 μ‚¬μš©ν•˜λ©΄μ„œ CVS의 μœ μš©ν•¨μ„ κ²½ν—˜ν•΄λ³Ό 수 μžˆμ—ˆλ‹€.
    - ZeroPageServer 에 CVS Web Client λΌ μ„μΉ˜ν•˜κ³ , CVS에 λŒ€ν•΄ 비ꡐ적 잘 μ•„λŠ” μ‚¬λžŒλ“€μ΄ λ‹€λ₯Έ μ‚¬λžŒλ“€κ³Ό PPλΌ ν•˜λ©΄μ„œ κ·Έ μž₯점을 λͺ©κ²©ν•˜κ²Œλ” ν–ˆλ‹€.
    - μΆ”ν›„ 개인적 μ†ŒμŠ€ 컨트둀 (RCS 등을 이용)도 같이 μ‹€μ²œν•˜λ„λ‘ ν•˜μž.

  • ν›„κΈ°λΌ μΌλ‹€.
    - 선배듀이 ν›„κΈ° 기둝에 μ†”μ„ μˆ˜λ²”ν•˜μ˜€κ³ , κ·ΈλŸ¬λ©΄μ„œ μ‚¬λžŒλ“€μ΄ ν›„κΈ° 기둝이 μž₯점을 μΈμ‹ν•˜κ²Œ λ˜μ—ˆλ‹€.

5. 잘λͺ»λœ κ²½μš°μ— λŒ€ν•œ 원인 뢄석

  • server νŒ€κ³Ό Client νŒ€μ˜ 전체 meeting 이 거의 μ „λ¬΄ν–ˆλ‹€.
    - λ°‘μ˜ ν•­λͺ©μΈ 'νŒ€μ›λ“€μ˜ μŠ€μΌ€μ„ κ΄€λ¦¬κ°€ μ–΄λ €μ› λ‹€' 와 관계됨. νŒ€μ›λ“€μ˜ μ—΄μ˜κ°€ λΆ€μ±ν–ˆλ‹€. (특히 초반 ν”„λ‘œμ νŠΈ μ°Έκ°€μžλ“€), νŒ€μ›λ“€μ΄ 'μŠ€μΌ€μ„ μ‘°μ •' 에 λŒ€ν•΄ λΈμˆ™ν–ˆλ‹€.
    -

  • νŒ€μ›λ“€μ˜ μŠ€μΌ€μ„ κ΄€λ¦¬κ°€ μ–΄λ €μ› λ‹€.
    - νŒ€μ›λ“€μ˜ μ—΄μ˜ λΆ€μ±κ³Ό μ—°κ΄€. μš°μ„ μˆœμœ„μ— λŒ€ν•œ 자각 λΆ€μ±. 체계적 μ‹œκ°„κ΄€λ¦¬λŠ₯λ ₯의 λΆ€μž¬.

  • IDE κ°€ νŒ€λ³„/κ°œμΈλ³„λ‘œ λ‹¬λΌμ„œ ν”„λ‘œμ νŠΈ 화일등을 μ—…λ°μ΄νŠΈν•΄μ£Όμ–΄μ•Ό ν–ˆλ‹€.
    - κ°œμΈλ“€ λ³„λ‘œ IDE 의 μ„ ν˜Έκ°€ λ‹¬λžλ‹€. (Eclipse, IntelliJ, JCreator )
    - μ²˜μŒλΆ€ν„° κ³ λ €ν•˜μ—¬ 각 IDE별 Setting 화일을 μ—…λ°μ΄νŠΈ μ‹œμΌœμ£ΌκΈ°. Batch File λ“±μœΌλ‘œ μžλ™ν™”ν•˜κΈ°. IDE 의 톡일 κ³ λ €.

  • ν΄λΌμ΄μ–ΈνŠΈ νŒŒνŠΈκ°€ Doc Convention 을 지킀지 μ•Šμ•˜λ‹€.
    - 1002 의 μ„±μ‹€μ„± λΆ€μ±. JavaDoc 의 μ‹œμ„ λΆ„μ‚° 문제. μž¦μ€ λ””μžμΈ μˆ˜μ •μ— λ”°λ₯Έ μž¦μ€ Documentation μˆ˜μ •λ¬Έμ œ. μ„œλ²„νŒ€κ³Όμ˜ λŒ€ν™” λΆ€μ±.
    - JavaDoc의 μ‹œμ„  λΆ„μ‚° μ—¬λΆ€λŠ” κ°œμΈμ°¨μ™€ 주석에 λŒ€ν•œ μ˜κ²¬μ„ ν”„λ‘œκ·Έλž¨λ‚΄μ—μ„œμ˜μ£Όμ„μ—μ„œ ν† λ‘ λ˜μ—ˆλ‹€.

  • Server Program의 Design Evaluation 을 λͺ»ν•˜λŠ”데에 λŒ€ν•œ 슀트레슀
    - Design Evaluation 의 방법을 λͺ°λžλ‹€.
    - Design Evaluation 을 κΌ­ ν•΄μ•Ό ν•œλ‹€λŠ” 강박관념이 μžˆλ‹€.
    - μ„ λ°°μ˜ μž…μž₯μ—μ„œ ν›„λ°°λ“€μ—κ²Œ λ‚˜μœ λ””μžμΈμ„ 보여주면 μ•ˆλœλ‹€λŠ” λ¬΄μ–Έμ˜ PairPressure κ²½ν—˜
    - DEλΌ κ³΅λΆ€ν•˜μ—¬ ν™•μΈν•œλ‹€.
    - κΌ­ DE κ°€ ν•„μš”ν•˜μ§„ μ•Šλ‹€. 'κ°œλ°œμ„ 진행해 λ‚˜κ°€λ©΄μ„œ 문제점이 λ°œκ²¬λ˜μ—ˆμ„λ•Œ' λ””μžμΈμ„ μˆ˜μ •ν•΄λ„ λŠ¦μ§€ μ•Šλ‹€.
    - egoless Programmer. ν˜„μž¬μ˜ μ½”λ“œλŠ” 'λ‚˜λ§Œμ˜ 것' 이 μ•„λ‹ˆλ‹€. 같이 κ°œλ°œν–ˆμœΌλ€λ‘œ κ·Έ νŒ€μ˜ μ±…μž„μΌ 뿐이닀.

  • PPλΌ λ„ˆλ¬΄ μ§€λ‚˜μΉ˜κ²Œ ν–ˆλ‹€.
    - μ„œλ²„νŒ€μ—μ„œ 일의 μž‘μ—…λŸ‰κ³Ό 수μ€μ„ 잘λͺ» μΈ‘μ •ν•΄μ„œ κ³Όλ„ν•œ PPκ°€ μžˆμ—ˆλ‹€.

  • κ³΅λΆ€λΌλŠ” 본래의 λͺ©ν‘œλ³΄λ‹€ 결과에 μΉ˜μ€‘, 초기 λͺ©μ μ΄ ꡬ체적이지 λͺ»ν–ˆλ‹€.
    - ν”„λ‘œμ νŠΈμ˜ λͺ©μ μ΄ 곡뢀 λΌλŠ” μΈμ‹μ˜ λΆ€μ±. κ³΅λΆ€ν•œ 뢀뢄에 λŒ€ν•΄μ„œ (Swing, Java Network λ“±)에 λŒ€ν•œ λ¬Έμ„œν™”κ°€ μ—†μ—ˆλ‹€. SPEC κ³Ό Output 에 μΉ˜μ€‘ν•œ 점이 μžˆλ‹€.

  • 초기 SPEC이 λ„ˆλ¬΄ μΆ”μƒμ μ΄μ˜€λ‹€.
    - SPEC 에 λŒ€ν•œ ꡬ체적 λ¬Έμ„œν™” λΆ€μ±. 초기 λ¬Έμ„œν™” λŒ€μ‹ μ— νŒ€μ˜ λͺ¨μž„μ‹œ λŒ€ν™”λ‘œ λŒ€μ²΄ν•˜μ˜€λŠ”λ°, 후에 μΆ”κ°€ 멀버가 μ œμ‹œν•œ 의견, λ¬Έμ„œν™”λ„ λΆ€μ±ν–ˆμ§€λ§Œ, 후속 λ©€λ²„μ˜ ν”Όλ“œλ°± μ—­μ‹œ λΆ€μ±ν•˜μ˜€λ‹€.



  • (아직 μ •λ¦¬ν•˜μ§€ λͺ»ν•œ λ‚΄μš©μ— λŒ€ν•΄ μΆ”ν›„ 기얡을 μœ„ν•œ ν‚€μ›Œλ“œ) - 좔츑둝, 신기톡, μ΅œν•œκΈ°, Vision, Propose, Problem, Solution

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:24:06
Processing time 0.0439 sec