Several suggestions were offered to me by readers when I was trying to decide how best to structure the Autumn of Agile screencast series. One of the challenges of this screencast series is that unlike the previous Summer of NHibernate series that focuses on just a single technology for its entire length, the Autumn of Agile series is designed to showcase multiple technologies and practices all at once (or at least in a logical self-reinforcing sequence). As such, there is not going to be the same opportunity to dig as deeply into each technology and practice as might be needed to form a complete learn-from-zero training experience.
One of the suggestions I received was for me to provide some reference material (or at least links to other people’s materials ) on the topics that were to be covered in the immediately to-be-released session. This would allow viewers to do some up front research on the topics and issues covered in the screencasts so that the screencast itself wouldn’t have to be 100% detailed on every how-to point on every concept/topic/technology that was demonstrated.
Reference Materials
So without further ado, here is the list of reference links for the upcoming screencast, Autumn of Agile: Iteration 0 – Part A.
- Wikipedia on User Stories
- The Advantages of User Stories for Requirements
- Considerations for writing good user stories
- Scott Ambler on User Stories
- TargetProcess Agile project management toolset
Feel free to bone up on the the concepts in the above links before the next screencast installment is released. I hope this helps and I’d be interested in feedback about whether people feel this part of the process is of value or if I’m just wasting my time with this.
Steve:
i think you should go with your original plan and i very much like the topic you listed for agile screen cast and if you started planing your screen cast based on what other thinks/wants then i don’t know what you will come-up with.
oh i like to see 100% detailed on every how-to point on every concept/topic/technology otherwise it will be like news reader or something where you just pointing ref without talk which it will hard to swallow (for me).
my 2cents
@Nisar:
As discussed in my past post where I wrestled with the challenges of doing 100% training coverage on all aspects of all of the technologies and techniques that I plan to try to weave together into a coherent whole, I’m going to have to do a mid-level dive into many topics, a little deeper dive into some, and a very shallow toe-in-the-water in many others in order to keep the series focused on the higher level aspects of how all these things go together and reinforce each other rather than taking the time to dig into all of the nuances of each of them in tremendous detail.
I could spend two or three hours just on Unit Testing, another several hours or more on mocking techniques, at least three to four hours on Continuous Integration environments, at least a day on requirements gathering and iteration planning, etc., etc. and in the end, I would *still* just have scratched the surface of many of these kinds of topics.
Whole multi-day classes could be needed in Domain Driven Development techniques in order to provide everyone a complete understanding of DDD fundamentals and yet there would still be nuances left unaddressed. And don’t get me started on TDD techniques 🙂
As mentioned, I’m going to be depending on the ASP.NET MVC framework for the guts of this application and that alone could require a week or more of training content just to get through it.
Unlike NHibernate for which (IMHO) there are few coherent sources of well-organized comprehensive information that explain the concepts well, for most of these other topics I believe that there are many introductory sources of information already available on the internet and so there is less value in my offering the same intro-level details as are already available elsewhere.
Instead, I’m deciding to offer links to much of that kind of content so that viewers can do a bit of up-front reading, viewing other screencasts, etc. in advance of viewing my own screencasts so that they can watch my content with at least a passing familiarity with the technologies and techniques that I will be demonstrating.
Rest assured that the content in my own screencasts will still be informative (hopefully — I’m sure I’ll hear from everyone if its not!), useful, and valuable to watch. Its just that you are not going to come away from this next series an expert in Unit Testing, an expert in Mocking, an expert in ASP.NET MVC, an expert in JQuery, an expert in setting up a CI server, or an expert in any other technology or technique we will explore here.
But you will still (hopefully) come out of it with a much better understanding of how the technologies and techniques we will examine and implement fit into a coherent, self-reinforcing whole in order to enable you to both be a better developer and also deliver better software (if in fact there is a difference between those two things).
I hope this helps clarify how I’m approaching this. I invite you to continue to watch the content and provide feedback re: whether you continue to find it of value to you. If not, that’s something I want to know as well since such feedback is critical to my ability to course-correct if I start to go off-target.
Steve: thanks for what you doing and its much appreciated.
I did not mean that you literally go 100% on every single details but what I meant to say that… in the first screen cast of agile where you have talked about principles of OO design like SRP, OCP, LSP, DIP and I really like the way you explain and it was very clear and to the point but the only think I was expecting is show that in a real world scenario with code (I’m hoping that you will eventuality will have hands-on code with similar principal.) in coming screen cast
thanks again and I’m waiting for the next screen cast.
@Nisar:
No fears, the first screencast was just a jump-start that covers some of the principles. Rest assured that the intent is to move into doing ‘real’ code with ‘real’ examples as the project progresses.
Since not everyone necessarily understands Agile’s principles and values, that first screencast was about laying some foundation concepts for people to use to place what we are about to embark on into context. That’s why it was labeled ‘Iteration -1’ — its not *really* part of the series but is instead more of a prequel to the series.
In the next installment we get down to work and start to try to organize our requirements and understand the project’s needs a little better.