- Posted by zachariahyoung on November 17, 2008
The Austin Tech Book Club will be discussing the book Agile Principles, Patterns, and Practices in C#. We will be meeting every other Thursday at 11:30, starting November 20.
Location:
The North Location will the Microsoft Technology Center.
Stonebridge Plaza—Building One
9606 North Mopac, Suite 200
Austin, TX 78759
Just us via LiveMeeting:
http://snipr.com/5qgb0
For more information post a thread to the Google Group Austin Tech Book Club.
http://groups.google.com/group/austin-tech-book-club
- Posted by zachariahyoung on August 2, 2008
In this post, I will introduce the concept of daily standup meetings for instructional designers . A lot has been written on this topic for agile software development. But this agile principle can be used in any field like instructional design. Therefore, this blog will explain the benefits, key questions and structure of a daily standup meeting.
A lot of benefits come to my mind when I start thinking about daily standup meetings. One of the most important benefits is communication within a team. Without communication, agility is impossible. Conducting standup meetings provides a way for communication to happen on a daily basis.
Without this communication occurring daily, the team could be in the dark. For example, if the direction is changing and not communicated, then the team could be running in circles. By providing statuses, the team members know what the direction is on a daily basis. Knowing the direction, you can set your focus and priorities on your particular tasks. What keeps this meeting from being micro-managed is that the manager only listens and writes down issues that need to be resolved. Also the manager helps by keeping the meeting focused.
Also another important benefit of these meetings is shared commitment. One of the questions that is asked during this meeting, is what you are committed to working on that day. Because the next day you'll explain what you accomplished the previous day. The discussions that are held at these meetings are really about commitments and obstacles. The purpose of the meeting is not to solve problems.
Team building is another benefit of having these standup meetings. Effective teams are always communicating and can easily overcome obstacles. Another question that is asked during these meetings is current obstacles. Communicating these obstacles on a daily basis to the team provides everyone the history of the obstacles. Also these obstacles can be heard by all team members and can be brought to everyone's attention. You never know when someone else has struggled with the same obstacle.
Now let's talk about how to keep the meetings focused. The best way to keep the meetings focused is by asking three key questions. These questions are What did I do yesterday? What am I doing today? and What are the obstacles that I have to keep me from doing what I need to do today? In the article, It's Not Just Standing Up: Patterns of Daily Stand-up Meetings Martin Fowler rephrases these questions to the following Was I able to fulfill what I committed to? What am I comfortable committing to today? and What is obstructing me in meeting my commitments? As I have already explained, the first two questions focus on commitment and the last focuses on obstacles. Each team member should only take about two minutes answering these questions for the team. The precaution is to focus the three question and not to trying to solve problems. Problems that do need to be resolved need to be handled in a different meeting.
Lastly, I want to discuss the structure of the meeting. Below is a list of recommendations that I found during my research.
- Meeting should only last about 15 minutes.
- For smaller teams, meeting every other day may be more effective.
- Answers to the questions should not be detailed, but should be a happy medium of not enough details and too much detail.
- The meetings are always held at the same place and same time.
- If the meetings are not being effective, then change it and try something different. The meetings should always be a state continuous improvement. These meetings should provide a very supportive feeling for the team.
- Anybody that is committed or involved in the project can attend but only the committed members can talk. Someone who is only involved, and who wants to discuss something outside the scope of this meeting, should set up something outside of this meeting.
- If someone cannot make the meetings they can attend by proxy. This could mean that they send in their status via e-mail or attend via a conference call.
You can read more about the standup meetings by starting to look at what I tagged on delicious. http://delicious.com/zachariahyoung/standup
- Posted by zachariahyoung on March 31, 2008
I'm currently working on a project with Jay Smith called Hermes Reader. We have been working on this project which simply reads RSS/ATOM feeds. The reason we are creating a simple project like this is to learn about BDD and to incorporate some of the newer technology. One of the books I'm reading is "Applying Domain-Driven Design and Patterns: With Examples in C# and .NET" which focuses on DDD. It has been a really good read.
- Posted by zachariahyoung on March 27, 2008
Lately I have been researching BDD. What I have discovered so far, is that BDD is about joining Test Driven Development and Domain Driven Design agile methods together. TDD starts with creating unit tests for code that will be developed, and not code that has already been developed. Then as the developer acquires a better understanding of TDD, this agile method becomes more valuable. What happens next is that TDD becomes a tool to help focus on the needed code. The tests that are created help with the understanding of the program when the developer comes back to it six months later. So by creating the test first, the developer can gain a quicker understanding of the required behavior. By using an unambiguous language, we help ourselves with the understanding of the behavior.
With TDD, xunit frameworks are required to develop the test. With BDD something like NSpec is needed.