处理 SSI 文件时出错
 
 
日 历
 
 
<<  < 2006 - >  >>
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
 
 
公 告
 
 

 
 
登 陆
 
 

 
 
我 的 分 类
 
   
 
最 新 日 志
 
   
 
最 新 回 复
 
   
 
留 言 板
 
   
 
BLOG 信 息
 
 
  • 日志:58
  • 评论:-1
  • 留言:3
  • 访问:
 
 
友 情 连 接
 
  处理 SSI 文件时出错
 
 


 

Morning Roll Call
The Coad Letter: Process, Issue 101, Morning Roll Call
Rating:     Ratings: 2     Rate it
Abstract: In this Coad Letter, special guest David Anderson provides a process for the Morning Roll Call. 

Dear Friend,

Welcome to this issue of the Process Edition of The Coad Letter.

In this issue, special guest David Anderson will look at the value of a "Morning Roll Call" as part of the development process.

Naturally, David draws some attention to the SCRUM process, as this methodology heavily promotes using a daily meeting of sorts.

During my days running professional engineering services for a Department of Defense consultancy, we used daily "stand-up" meetings during the (harried) proposal preparation process. Here, the idea was to make the meetings as brief as possible (hence the standup part -- no getting comfortable in a big chair <g>). The meetings were designed to quickly keep everyone informed of progress, to highlight any problems, and to provide cross-team collaboration.

As you'll see from reading David's article (and references on SCRUM), these types of meetings can have very beneficial effects on a development project.

Let us know if you try similar meetings and what works/doesn't work for your team.

-- Jon Kern

PS #1. David Anderson is currently Director of Engineering at 4thpass, http://www.4thpass.com in Seattle, WA. You can reach David at david@thecoadletter.com. You'll be hearing more from David over the coming months, here in The Coad Letter: Process Edition.

PS #2. A note from Jon Kern: I continue working as an independent consultant, while I determine my next position of service in this world. Working on something truly great? Write me at jon@thecoadletter.com

PS #3. How do the industry's best application development tools stack up? Find out in a free independent lab report by Hurwitz Group. Learn more about why Hurwitz believes that Together ControlCenter's usability and technical capabilities are superior to their competition. http://www.togethersoft.com/hurwitz/summary.jsp?c=146


Morning Roll Call

by David Anderson, david@thecoadletter.com

The "morning roll call" was a name that I gave to an FDD process enhancement I introduced 15 months ago, with my development team at a large mobile phone company's Internet business unit.

This is not a new technique, in fact I had used it before - see footnote #1. It is also a known technique in at least one other Agile Process method - Scrum, see footnote #2.

The project we were building was the small end of medium in size - about 10 people, 3 months, for the development stage. About half way into the project our FDD Features Complete metric was telling us we were going to be late. We had been dependent on another team delivering infrastructure and they hadn't delivered. We had lots of Features blocked. We needed to run fast to catch up. It was a highly visible project with lots of political capital at play.

For some of the team it was their first FDD project. The others had done only 1 - the previous quarter. So we had new process, new technology and some ambitious technical objectives. Getting the project back on track was going to take an extra special effort. How could I focus them, raise the pulse of the project, and get that extra performance?

The answer was the Morning Roll Call. I modeled this after the opening sequence in an old, American, TV police drama, "Hill Street Blues", where the sergeant would go over the recent events and allocate patrols and tasks for the day. I was hopeful that this would focus the team, and squeeze out any accidental slack which might have crept in during the early part of the project. The best kind of managers offer coaching, direction, leadership, support, and then get out of the way and let their staff show off their ability. So, the precise definition of Morning Roll Call was developed by my team. Here is a brief outline of how it worked.

Morning Roll Call Process

  • 9:15am Morning Roll Call - all hands on the project, attendance is mandatory. [ 9:15 was chosen as an acceptable compromise. A few team members had to get in a little earlier than usual. Everyone else was already there. Some started at 7 am. The idea was to be as early in the day as was reasonable and still get full attendance. ]
  • The meeting was a "huddle" (or standup meeting, so that people did not get too comfortable and spend more time than was necessary). It as held in an open area near the developers' cubes. The manager was not present. [ Actually, the team often used my office. I wasn't there - purposefully. I always had other meetings to attend. ]
  • Duration 15 minutes - maximum 30 minutes - never longer.
  • The Norms [#1] :- Honor the rules - turn up on time, keep focused, take lengthy issues and resolve them outside of the meeting, keep things moving.
  • The meeting was chaired by the Chief Programmer, or the most senior of several Chief Programmers.
  • In the event that the CP was absent, the Process Coach (or Mentor) would run the meeting. [ The role of the Process Coach in the adoption of FDD across a team or organization may be the subject of a future Coad Letter. ]
  • Each CP would run through the Features on the current Chief Programmer Worksheet. Developers were asked for: Features they had completed since the last meeting; status of Features in progress; when they expected to finish and if they needed more work to do. The whole team could make an assessment of whether each Feature was on track.
  • Developers were encouraged to ask for help, if needed. Sometimes the team would suggest that they might need help. If help was needed, a more senior and experienced developer was assigned to help out for that day.
  • Technical discussion and debate about solutions was banned. The whole team would see to it that the roll call only took 15 minutes. Developers wanted to get the meeting over so that they could get to "real" work. Colleagues were asked to take debates off-line.
  • Issues with requirements, environments, test plans or anything else out of the immediate control of the developers were noted by the CP who would have a separate discussion afterwards with the Project Manager / Project Secretary to log the issue. The PM would be responsible for chasing down the issue or assigning it to someone. When closure occurred the CP would be informed and work could restart on that Feature.
  • Developers who expected to finish current work that day or next, would be allocated more work. They always knew a day or two in advance what was coming.

Did it work?

Yes, it did. A project which initially looked as if it was 50% - 100% behind schedule was delivered into System Test close to schedule. Face was saved.

How big does it scale?

Obviously a Morning Roll Call on a very large project would be impractical. So, how large is practical for a Morning Roll Call? I would suggest that the team working on a single Major Feature Set, meets together for a Morning Roll Call. At most, you could stretch this to two Major Feature Sets [See Footnote #3]. What if some developers need to be at more than one Morning Roll Call? They have a clash because they are working across Feature Teams which are working on different Major Feature Sets. There is a simple solution - stagger the start times of the Morning Roll Calls for each Major Feature Set where a schedule clash occurs.

I have seen Morning Roll Call successful with up to 20 or so people. Typically, we used it with around 10 to 12 people. If you have more than one Major Feature Set but less than 12 people, it is perfectly reasonable just to hold a single meeting. Remember the ground rule - 15 minutes, maximum 30 minutes.

When to Use Morning Roll Call and Why

Morning Roll Call was initially used as a process for recovery because the FDD Features Complete metric was suggesting that the project was going to be late. It served the purpose of keeping people honest and making them accountable for their work. They had to stand in front of their colleagues each morning, look them in the eye, and state how they were getting along with their piece. The process was stopped about two weeks after the hand over to System Test, as the bug count dropped off and the work on the project wound down.

Morning Roll Call served a second purpose. Some of the team were new to FDD. They were also new to several technologies such as XML and XSL. They had a lot to learn all at once. Morning Roll Call helped them to get over the hump with FDD and gave them a forum to ask for help on technical issues such as XSL.

Since the end of this project, the team has found that Morning Roll Call is useful for team communication. They have adopted it as a regular process. Morning Roll Call is now a daily part of life on an FDD project.

Footnote #1 - Why I hadn't used a roll call meeting for over 3 years?

Ironically, a daily (though not morning) roll call meeting was used on the CLS [#3] project in Singapore, during the last quarter of 1997. I had used this technique many times, years before that, on games projects. So we gave it a try. However, it was not terribly successful and was abandoned when the first interim deliverable was produced. It was during this time, that Feature Driven Development as documented in "the coloring book" [#2] was developed. Although, the first part of the project was delivered on time, the roll call meeting was assessed as "ineffective". I have never used it since.

So why did it work this time? I believe that an underlying process structure is required on which to hang a roll call meeting. In the early days in Singapore, we were struggling to define process and build adoption. FDD was emerging but did not fully exist. There was no daily, automated Feature tracking going on. When you have metrics, fine grained task definition and automated reliable tracking, I believe that the roll call meeting has a focus. It is objective. Without a fine grained, iterative process, a roll call meeting is subjective and loses its bite. Hence, the reason it was previously ineffective.

Footnote #2 - Scrum

I have only recently learned about the Agile method known as Scrum. Scrum puts a daily roll call style meeting, which is referred to as "the scrum" at the core of its process. [ See http://www.controlchaos.com/ ] . The scrum is a ritual during a 30 day development cycle called a "Sprint". It appears that Scrum bears a lot of similarity with FDD. A "Sprint" is similar to a Chief Programmer Worksheet but the cycle time in Scrum is 30 days, as opposed to 2 weeks or less in FDD. Scrum was a name adopted to mean "a process for bringing the ball back into play". It therefore appears to have been a method born out of a need to recover projects which had fallen behind. Precisely the reason for adopting Morning Roll Call with FDD. With the addition of Morning Roll Call, FDD begins to show a strong similarity to Scrum, at the developer level.

Footnote #3 - Scale of Morning Roll Call and differences from Scrum

In their book explaining Scrum [#4], Schwaber and Beedle suggest that it is possible to have different shells of Scrums. They talk of a Scrum of Scrums, and even a Scrum of Scrum of Scrums. The Scrum of Scrums is used to gather project status on larger projects. The Scrum of Scrum of Scrums is used to report to senior management or executives.

I do not believe that FDD requires these shells of Morning Roll Calls. I believe that we must look to the purpose of the Morning Roll Call, which is: to keep the development running efficiently; to keep programmers busy; to identify issues early; to provide expert assistance where required. Morning Roll Call is a tool for the Chief Programmer. It is intended to avoid down time in the fine grain of Feature development. It is not needed at higher levels such as project management.

FDD is grounded in the notion of automated progress tracking. Where automation is not possible, a weekly meeting with the Project Secretary is held for Chief Programmers to manually report progress. It is essential to see this as a manual step, being used to supplement a deficiency in automation. With automation FDD projects can be tracked daily. Without automation, weekly or twice weekly will suffice.

In FDD, Morning Roll Call is used only to avoid downtime and inefficiency at the coal face where the code is cut.

Acknowledgments

I would like to thank my old team at Sprintpcs.com for their contribution to this article. My Chief Programmers: Neil Lowrey; Dan Vacanti; Sei Ng; and Chris Bock. My Process Coach: Vahid Nabavizadeh. Together they developed the Morning Roll Call enhancement for FDD and have used it with great success, on many projects, over the last 15 months.

Thanks also to Jon Kern and Stephen Palmer for their review comments which contributed to making this a better article.

David Anderson

References

 
Ref #1
The Coad Letter #40 - Lessons Learned From Fred, Peter Coad, 1997

Ref #2
Peter Coad, Eric Lefebvre and Jeff De Luca
Java Modeling in Color with UML : Enterprise Components and Process
Prentice Hall, 1999.

Ref #3
CLS - Commercial Lending System, a.k.a "The Singapore Project". The original name of a project conducted in Singapore between 1997 and 1999, at a large locally owned bank. During this project, Jeff De Luca, Peter Coad, Stephen Palmer, David J. Anderson, Paul Szego and Phil Bradley all worked together. It was the first project to use UML Modeling in Color with Archetypes and Feature Driven Development.

Ref #4
Ken Schwaber and Mike Beedle
Agile Software Development with Scrum
Prentice Hall, 2002.
 


The Coad Letter is a service provided by Peter Coad and colleagues.
Feel free to share this issue with others.

NOTE: The views and information expressed in this document represent those of its author(s) who are solely responsible for its content. Borland does not make or give any representation or warranty with respect to such content.

mindware 发表于 2006-3-25 0:49:00


Re:Morning Roll Call
[url=http://www.shtcfz.net]干洗,干洗设备[/url]
[url=http://www.shtcfz.net/new-third.asp]干洗机[/url]
[url=http://www.shtcfz.net/jmzc.asp]干洗加盟[/url]
[url=http://www.shtcfz.net/hxjzl.asp]干洗连锁[/url]
[url=http://www.shtcfz.net/jygl-second.asp]干洗店[/url]
[url=http://www.shtcfz.net/hxjzl.asp]干洗店加盟[/url]
[url=http://www.shtcfz.net/jmsxjd.asp]干洗机价格[/url]
[url=http://www.shawfw.com]上海管道疏通[/url]
[url=http://www.shawfw.com]上海空调维修[/url]
[url=http://www.shawfw.com/ktyj.html]上海空调移机[/url]
[url=http://www.shawfw.com/ktaz.html]上海空调加液[/url]
[url=http://www.shawfw.com/gdst.html]上海疏通马桶[/url]
[url=http://www.shawfw.com/xsdgz.html]上海下水道疏通[/url]
[url=http://www.shawfw.com/xsdgz.html]上海下水道清理[/url]
[url=http://www.shawfw.com]上海空调回收[/url]
[url=http://www.shawfw.com]上海管道疏通公司[/url]
[url=http://www.shawfw.com/ktwx.html]上海维修空调[/url]
shtcfz(游客)发表评论于2007-7-27 0:34:00

处理 SSI 文件时出错

发表评论:

    大名:
    密码: (游客无须输入密码)
    主页:
    标题:
    教育人博客页面数据载入,请耐心等待

 
? COPYRIGHT 2001 ALL RIGHTS RESERVED http://www.blog.edu.cn
处理 SSI 文件时出错
Powered by Oblog.