Showing posts with label SCRUM. Show all posts
Showing posts with label SCRUM. Show all posts

Sunday, May 12, 2013

[DevOps / DevCloud] Wanna go beyond 'demo effect' and push your app into REAL production ?


OBSERVATION
Over the past few years, I am facing the following facts :
  • We want to produce to best of the best application according to all possible "best practices" and recommendations (Code quality, tools, methods, Agility vs. micro-management, waterfall, real world constraints, ...),
  • Things seem to be so easy, because we got presented trivial demos or we only considered "Proof Of Concepts". 
As it seems to be so easy to develop and market our application!
Watch out!! Have you thought about the following?
  • Taken into account real delivery and operation constraints :
    •  ITIL v3 (support, billing, delivery, licensing, ...), DevOps or DevCloud, legal aspects, IT security people, ...
  • The IT industry is moving so fast that to beat competitors, many software companies are claiming they can address your problem and is only presenting you trivial cases and we tend to focus only on development aspects. .
However, once the developments are completed, you are left with:
  • No budget beyond development, to address many operational topics!!
  • No time left because delivery and operational aspects are more difficult than expected
  • You don't know how to deliver on time because of unexpected purchases you have to do (production licensing, buy an alternative deployment tool, because the one considered only managed to deploy your easy trivial demo...),
  • You forgot to consider backups, disaster recovery, SLA, maintenance, and retirement of the application (with the associated cost of the cleaning up all backups).
The solution is obvious! 
Think up front, and start small BUT up until the end of the chain, with real-world constraints
  • Development, "true" test, deployment with real-world constraints (true DNS, true SLL certification ...), monitoring of the production instance ...

    This is to force you address topics that could be uncovered... and fail fast if you are stuck in front of a wall!
  • Use Agility and DevOps / DevCloud to face real problems:
    "Think big, act small, fail fast; learn rapidly" (cf. 
    Lean software development)

Easy to say, what can I do about it?
Based on my numerous ALM experiences and on experts around me, I have created a Microsoft .Net Lab
It is a gathering of experts, sponsored by ObjetDirect, where various people from the fields are sharing their experience and real-life problems. Then, this experience is "instantiate" (=“coded” and documented) as a large project to:
  • highlights real-life issues
  • show how to address them (if possible)
  • or find a hack around.

Zoom on the 'Dev' part: The TFS+VS 2013 Software Factory




Thursday, August 2, 2012

8Years-Study_Waterfall_vs_Agile

I wanted to share you 1 slide: 
Waterfall vs Agile project's success rate from 2002 to 2010

No comments!

Sunday, August 28, 2011

Fwd-Agile is dead - L'Agile est mort - Rumination From a Tortured Mind

This post is quite special because I am translating a French Post talking about Agile.
It is rather a long one (about 9 pages), but the author states some sharp truths and view points, which let you think for quite a while!

With the authorization of the author, I translated it entirely. Here is the original French version  "L'Agile est mort" http://douche.name/blog/2011/08/08/l-agile-est-mort/


I share most of his views, except some points such the one concerning Scrum (no! I am not a Scrum consultant and started my agile quest in 2001, as a developer working for an ISV that had to be a UK market leader in his field. Moreover, I currently work for another software vendor. I am just an agile lover).

To my perspective, Scrum is not that bad:
 - If you ignore its related marketing aspect,
 - If you are already understand the philosophy of Agile but are just missing some guidance to actually transform your philosophy into practical project,
 - If you could break free from Scrum template, once mature with Agile,

As far as I am concerned, my career lead me though the following path:
  1. Get the Agile state of mind (yes, you should feel it ! it should enlighten and change/explain your way of thinking),
  2. Practice it in real cases (for instance 2 projects) and read a lot at the same time (Blogs, Books, articles...) and speak to as many agilist as you can (conferences, user groups, ...). Then, start to go deeper into agile,
  3. Start to realize that the more you know about Agile, the more you are convinced you just scratch the surface of it. This is a good sign! Now you have to improve and adapt all the time (for years, day in day out),
  4. Then get into Scrum and practice to help you. And read A LOT about Scrum and Agile to go beyond the marketing aspect (read Mike Cohn that quote hundreds of references and examples, and other authors that will make you think even more, with other references to other books and quotes and examples) !!
    This should give you mature answers to your own questions and past mistakes (at least it did for me). Some advanced elements of Agile would have taken me a while to converge to a satisfying answer, if I had to rely only on my own "try and error and improve" approach.
  5. FINALLY adapt Scrum to have more freedom inside the Agile world, and don't forget to BLEND it with other methodologies and most importantly adapt it to your company / situation / team / constraints...

Here is the translated post . Do not hesitate to give any feedbacks to the author or myself as needed.


Rumination From a Tortured Mind
(Original French Post: http://douche.name/blog/2011/08/08/l-agile-est-mort/
Credits of the translation into English: Vincent THAVONEKHAM – www.Thavo.com)


Agile is dead
Under this title - that might seem provocative - can be found some rather bitter facts. It is even sadder given that fact that we could have predicted this situation many years ago. Agile has become mainstream, we talk regularly about it in newspapers for IT decision-makers (which is a proof of its spreads, isn’t it?), developers claim to practice it daily, so does project managers. So why being pessimistic? Because each month proves it, for instance, when someone stands in from of me saying:

    “Agility is real crap!”

And that happens to me very often (but not necessarily that vulgar). It would take less than 2 minutes to determine that that person does not work within an Agile context at all. Last but not least, a good sign that Agile is dead is when you hear so-called experts saying non-sense on blogs, newspapers or mailing lists.
Oh, I see you saying, "but who are you to define what is and what is not Agile?". Excellent question! In fact, if defining the edges of agility is difficult (especially in 2011 when many practices or movements call themselves Agile), it is a lot easier to claim what is not Agile, when it totally contrasts to the philosophy that Agile wants to embody. While the amount of practices has increased, the basics are still set in stone and clear. All those practices must be derived from the same core.

I like to compare agility to Free Software (I am into both Agile and Free Software fields for a while – 10 and 15 years respectively) since it mixes high-tech and human being. They both are a partial representation of the world with relationships between people:

If I release a software as a Free Software, such as BSD, but I do not offer a bug-tracker or mailing list, or I refuse any external contribution, or I make my code obfuscated, or I ignore users’ requests, I am indeed writing a Free Software (and my license proves it). However, it is only a substitute (i.e. fake), as I do not respect the initial philosophy of Free Software. It is similar with agility.
As far as I am concerned, agility sums up in three points, which you could easily verify the presence.

Searching for a value
Often called inappropriately “a working software”, the goal is to provide the end users with a functional, usable and handy application. Unless you are developing the same application for a while again and again, it is usually a discovery land for both the customer and the development team. So it is an utopia to believe that we can define in advance the full specifications of the software. The primary aim is to produce a software nice and functional, not to release it quickly. The “waterfall method” is in many ways the most efficient approach to generate rapidly software:

  • I listen to the needs
  • I understand and validate the specifications.
  • I am developing it.
  • I test.
  • I deliver.

There is no faster way of doing a software. If you are doing the same thing for 20 years, no worries. I only heard two (yes two, not three) companies that can deliver successfully within schedule 99% of the time, and they are based on “waterfall method”. And not surprisingly those two companies were coding in Cobol on a mature platform with highly similar needs, with:

  • A constant Team.
  • A well known technology and platform's architecture.
  • Business strongly mastered.
  • Similar products.

In a nutshell, an ideal environment. But it is unrealistic to expect from a client the ability to accurately define his needs. Not only he does not know what he wants, but often and afterwards he realizes that what he managed to explain was in fact irrelevant! Worst, his business or his needs have changed between the developments' start and the end. I do not even mention the ability of a development team to deliver a quality product in one go, especially if it is discovering the customer's business. In short, it is utopian. Let's consider that this is due to the immaturity of our job, the youth of our tools and a training too basic.
On the contrary, agility is intended as a quest for meaning:

  • What should I get?
  • What features are really useful?
  • Is this functionality needed? (Note: cannot translate the original text “N'est elle pas le symptôme d'un problème non technique ?”)
  • To the extreme, is this software useful?

It is a collective effort, starting from the developer up until the customer to understand, analyze and develop business value. Otherwise, you will have a cascading style: we agree on a functional scope, the cost and the timescale and let’s go!


Let's talk about the second point.

Human centric
What also emerges is this constant desire to put people on the first stage, and not the tools nor the processes. The latter are helping human, and not the other way round! The development primarily dealing with developers. You have to trust people, respect them in their ability to develop, in their judgments. To me, this emphasis seems to be missing from previous approaches such as waterfall or RUP. These are rather process oriented, with dozens of procedures and huge documentation. The developer being just a single drop within the system.
CMMi is a good example of this vision: the official and lengthy documentation deals with organization and processes. And worse, you must be CMMi certified to read a CMMi documentation (where is the error?) so much it is unreadable and full of incomprehensible terms. In fact most of them are using “cascade” which indicates their belief in the processes.

It was not until 2010 when we seriously hear about CEI’s agility (added to the original text:  see http://www.ceiamerica.com/outsourcing/methodologies.aspx), i.e. 11 years after the book of Ken Beck!

On the contrary, agility favors “the interaction over processes”, the result over documentation. This is possible by collocating physically all participants, by organizing short but regular meetings, and by listening to people.

Now, let's see the third point.

Development is a discipline
The developer is back at the center of the developments. In exchange we asked him to master his job: not only we want software that works, he must always keep questioning himself, learn to do better and to refine its development techniques.
The software industry likes to be seen as an artisan (each fields likes to describe themselves elegantly) just like drivers, bakers, cooks, musicians ... except that the software industry is not only very complex but also is just at its early days: 60 years. This is little.

Agility brings a lot of interesting solutions: for instance, the TDD, testing, peer review, continuous integration and refactoring. Of course a developer worked very well for a while without ever having read a single book on agility. After all Ken Beck and his acolytes have discovered these techniques, why not others? Yes, but ignoring agility would mean putting aside years of thinking on software development practices. That would be a shame.

So why saying that Agile is dead?
I am unfortunately not old enough to know what was happening in the 70th, 80th and 90th in the software industry, but I might not be wrong saying that agility is a decisive milestone. However, I am an old Geek who bought quite a few books on programming 20 years ago. Nevertheless I have no memories of books (well at least in France anyway!) that even have any slightest talks on agility. Instead, we learned by mimicking codes from masters (cracking software, listening to demo-makers or chatting on the BBS). Practices that were nearly unknown 10 years ago are considered essential practices nowadays (you did write a lot of Unit Tests in year 2000?).

Agility has enlightened thousands of developers, including myself, and improved our job by building for the first time a stable ground. It is still the beginning, but every day we try to better understand this job and its dear difficulties.


But you know what? Who cares?

Agility is a new fashionable technique
It soon becomes clear that the majority of organizations uses Agile because they have heard it works but they do not give a damn of what is inside. And for good reason, because this would mean for organizations to reconsider two fundamental visions:

  • IT is a cost, not an investment.
  • Employees can be replaced, not the bases of the company.

Not wanting to question these two assumptions, it can result in an abuse of the Agile movement. And that is what is going on. The Agile is therefore a fashion, just following the one on Object Oriented development, Design Patterns, C++, Java, frameworks, RUP and others. New ones will bloom in few years time, when the promises of Agile evangelists will have crashed against the wall of the businesses’ reality.

But what are “They” doing?
Some iterative and incremental development. “They” cut their developments into smaller chunks, with regular checks. What is the common point with the Agile I described previously? Nothing! Trusting people? Let's be serious, “They” practice regularly command & control, which is a technique of getting people working as puppets, and then accuse them of doing badly their job when something goes wrong. See development as a discipline? You talk about CFO's purchasing departments that crush down the developer’s daily rate? Concerning the seeking of business values, this would mean criticizing the current of the organization’s processes.

Do you start to understand me?
“They” are selling you Scrum, which consists of having chunks (called iterations) with regular demos and daily meetings, and a retrospective from time to time. And the trick is done, thus “They” are doing Agile!
Tell me if these few examples remind to you anything:

  • The Project manager is called ScrumMaster, because he attended a two-day training.
  • The relevance of business functionality is not evaluated.
  • Under qualified or inexperienced developers are picked because they are cheaper.
  • The pair-programming and code review are too expensive and unnecessary.
  • The ScrumMaster assigns tasks during each daily meeting.
  • The retrospective is done with the customer.
  • A specification document is created before developing.
  • Time is never spared to review the elements/processes that cause problems.
  • Late hours are required to catch up or manage the new requests from the marketing.
  • The project will hit the wall but no one does anything.
  • People are micro-managed.
  • The project is divided into delocalized teams thus never have any eye contacts.
  • Team members are not given the ability to increase their knowledge.

I could add many other examples, but you get the idea. Where is the Agile philosophy? Absent, because organizations do not want to change their views on software development, and even less concerning the way they work.

Why are “They” doing it?
Because it sells, of course! Consulting firms went onto the market; associations were formed to develop this business. So it sells, and pretty well now.
But how to perform Agile:

  • in a command & control environment?
  • in a culture that blames and searches for the guilty, and where each manager opens their umbrella at the slightest trouble?
  • When a specification document is handed without questioning what the business’ needs are?

By tweaking Agile so that it could fit into boxes.

An example? The great hypocrisy of the Agile development on fixed price contracts. Let us have a closer look: the fixed price contract consists in defining a functional scope, a timebox and price for development. Does it remind you of something? That is the reason why "Agile for fixed price contracts" topics sneaked into every Agile conference for years. It is because every IT decision makers are wandering how doing it.

Agile died in 2001
More precisely in February 2001, in Snowbird Utah, United States. It corresponds to the creation of the Agile Manifesto and the term Agile. Generally speaking, it is the willingness to develop a model / a framework. Staring from 2002, books with the agile term in the title begun to bloom.
This may seem surprising to say this (since it is also the beginning of the Agile movement) but the purpose of standardizing terms and principles, and freezing them was primarily done to selling it. It is curious to notice that out of the 17 signatories of the manifesto, 17 of them are consultants: all sell books and trainings. The Agile Alliance was formed in the row to promote it.

A sclerotic model that cannot evolve
What are the results in 2011? Despite some progresses, the official discourse is close to the Agile of 2001. We did not learn anything 10-years time? Of course there is: the development by iterations and taking into account of the organization in the development are just two fundamental examples. But still, the Agile model remains quite insensitive to those changes.

We have seen some new features but nothing too serious. Why? Because we are more interested in selling to thinking. Because before being able to think one must do first! Writing books and doing consulting cannot help. XP is the result of many years of practice of software development. Taiichi Ono (founder of the Toyota Production System) spent several decades to perfect its organization. He probably did not ask his new organization to pass a TPS certification 5 years later!

There have been slight shifts from the developer to the organization. Although the Agile model opens to the outside world, it is limited: just look at the role of the PO (Product Owner), a proxy of the company. Where are the stakeholders? What about marketing? Techniques? What about searching for new markets? What about deployment? And the operational side? The user experience? Design? Basically, where is everything else?! The void, the brains of the Agile model are still strongly talking about TDD and planning poker, what a big deal!
Worse, this slight positive is balanced by the craftsmanship movement(added to the original text : http://www.infoq.com/news/2008/08/manifesto-fifth-craftsmanship) which aims a return back to the origin, self-centered to the developer. The only interesting progress has just been sent to the void! If you want to know why, just look at the business of the founder's movement, Bob Martin, who sells books and training ... on how to code. Surely, the company-level is not useful to his business. It is also funny to see people swoon over this movement as if it was new. XP said roughly the same thing 13 years ago. Moreover, it is significant that it is mostly Scrumistes (in France at least) who promotes it, as they openly criticized XP.

Conclusion
I hope I have clarified my point on Twitter (140 characters is sometimes too short :-)). No, do not stop doing the testing, pair programming and daily meetings. No, do not underestimate the impact of agility on our job. It is quite the opposite! I encourage you to read books and blogs, and take what you need.

You only have to have a systemic vision of the movement (comment added to the original text: i.e. ignore the causes, and try not to analyze it psychologically, and do no use models), understand where it comes from, why it was created and why some people sell Agile. This allows for example to understand the Agile Manifesto, instead of stupidly repeating its content that is far from optimal in 2011. This also explains the model created in 2001 (and Scrum in 1996, and XP in 1999) and why it has been slow to spread, and does not bring any new elements for many years. If money was always the engine, the model is now warped to fit into the matrix of consulting, far away from the original objectives. And neither the official voices (Agile Alliance, Scrum Alliance), nor its thinkers rose up against that. Worse, they were actively involved in this perversion (who said certification?).


I could sum up my opinion as follow: Agility is an important step forward, but the Agile model is useless. This may be the fate of any model. In any case, it is time for each organization to invent, as Toyota did for its own vehicles' production. A model adapted to the business, the customers, and the employees. A model that takes into account all the new improvements that can be found in movements such as Devops, Lean, Lean Startup or Kanban. A model that is constantly evolving along with its maturity and its ability to organize its production.
But having tried to do it constantly for the last 4 years, I can guarantee you that it is way more difficult and painful than having a 2-day training, or urging to apply what one has read in a book…

Monday, July 25, 2011

Timeline of Scrum in 1 slide !

Mots clés Technorati :


July 2011 : The creators of Scrum released a new version this month.
Ken Schwaber and Jeff Sutherland published “The Scrum Guide” in many languages (http://www.scrum.org/scrumguides/).
To celebrate that, I wanted to summarize Scrum and fit most of it into 1 slide !
Since it is not quite easy, here is my first iteration on that :


  • To keep it as simple as possible, I skipped on purpose some concepts.
  • However, alsthough it is not part of Scrum as such, I have added in bracket “Continuous Build and Deploy”, as I find that a keystone to Agility,
  • The “Definition of DONE” is applicable at many level and could also be representing “Behavior”, if you do “Behavior Development Driven” (BDD).x²
Feel free to use it / modify it, and if possible send me your feedbacks so I can make it evolve too.
I think this timeline is a complement to the well known graphic of Scrum :
ScrumLargeLabelled
© Mike Cohn, Mountain Goat

Well, obviously, Scrum is much more than that, and answers many other questions such as :
  • how to decompose the Product Backlog into a Spring Backlog into User stories, tasks, with repectively Story points, …
  • how to determine the amount of Story points, …
However, this would be out of scope of this post.I would however higly recommand you this great book :

- Agile Estimating and Planning (Mike Cohn)
as well as some of his other books "Succeeding with Agile: Software Development Using Scrum".

Sunday, March 13, 2011

Comparing PRINCE2’s Agility with Scrum within the TFS2010 ALM (Blending Methods to Succeed)

Usually people do not notice the large amount of similarities between PRINCE2 and SCRUM. Rather than presenting them all in detail, here are some few examples (see the slides below, or link here).



Synopsis :
ÉBY DEFINITION
ÐPRINCE2 and SCRUM are mature and based on practical feed backs of thousands of successful project worldwide,
ÐNeither PRINCE2 nor SCRUM could be used alone, they have to be blended to other technics,
ÐNeither PRINCE2 nor SCRUM should be fully used “from the book”, they have to be adapted to the company,
ÉCONTROL
Ð[PRINCE2] Stage and decision boundaries ó [SCRUM] Sprint iteration of fixed length and Spring Review
Ð[PRINCE2] Driven by the Business' needs ó [SCRUM] Driven by User Story and prioritized by Business values
ÐShall we carry on ?
×[PRINCE2] End Stage Assessment ó [SCRUM] Sprint iteration review
ÐRegular reports :
×[PRINCE2] highlight reports {by Project manager}ó [SCRUM] Daily stand up meeting {by the team + Scrum Master}


ÉTECHNIQUES
ÐAssumes that changes will occur (detailed and big design up-front cannot predict all)
×[PRINCE2] Change Control ó [SCRUM] Reprioritizing User Story before the start of a sprint, and reprioritizing technical tasks during a sprint
ÐDecompose user’s needs to visualize the problem and feeds that back to the users :
×[PRINCE2] Product Break down structureó [SCRUM] Epic (=Big User story) > sub-User stories > related tasks > related sub-tasks
ÉPLANS
ÐQuality boundaries : Agreed and strict tolerance at many levels
×[PRINCE2] Project {program management}, stage  {project board} and product {project manager}ó [SCRUM] “Definition Of Done” : Program {program management}, End of sprint iteration {project board}, User Story {Product Owner}, Tasks {Team / Scrum Master}
É
É

Monday, March 7, 2011

Secret of Fully 
Distirbuted
 Scrum

Jeff Sutherland (one of the creator of Scrum) along with Xebia wrote some papers about Fully 
Distirbuted
 Scrum, to optimize Scrum in a Distributed environment :

"Case
 Report 
on 
Linearly 
Scalability
 of 
Distributed
 Teams
 in 
San 
Francisco 
and
 India"

Here are some very interesting readings :

http://www.slideshare.net/xebiaindia/fully-distributed-scrum-schoonheim-sutherland-agile2009
http://agile2009.agilealliance.org/files/FullyDistributeScrumAgile2009.pdf
http://confluence.agilefinland.com/download/attachments/884822/Pretty+Good+Scrum+v6+CSM.pdf?version=1&modificationDate=1235904884000

Friday, March 4, 2011

TFS 2010 Large projects in real life

Why this presentation ?

Because I often hear from my customers, or during some TFS/Scrum training courses :

« Yes, Team Foundation Server 2010 and this Scrum methodology are really great, but it(*) can only work on small projects ! 
Our project is different, and our team / project is too big and critical to apply this. »


This presentation is about showing that one of the biggest companies such as Microsoft can rely on TFS 2010 and Agile. It also presents how very Product Management uses the concept of ZBB (Zero Bug Bounce, see MS TechNet Stabilizing phase) {Yes, Scum does not mean you don't have high quality indicators, nor strict QMS processes}.





(*) The sticky notes on the big board, the detailing of the User story as we go, the Agile planning  and estimating, the self-organizing team, …

Because the conversion to SlideShare has shifted some images vs. text, here is a sample as full images: 


Monday, January 3, 2011

Visual Studio ALM Ranger Projects Scrum Guide (TFS 2008)

For the fun, here is Visual Studio ALM Ranger Projects Scrum Guide.... Personally, I found it interesting but REALLY scary at first sight, despite the fact that I have been using TFS for the last 3 years, with Agile, and recently Scrum for about a year !!

So a good advice, if you don't know Scrum, don't look at this diagram, else you'll be scared scared to death for the rest of your life, and fly away as soon as you hear "Scrum",  "Agile" or TFS !

Sunday, December 19, 2010

ALM submit Redmond november 2010 (TFS, Agile, Scrum, ...)

Last month, Microsoft organized one of the best ALM event ever :

During 3 days great and hot topics were presented, among which we can find Team Foundation Server 2010, Visual Studio 2010, and Agile, Scrum.
with great speakers (Ken Schwaber, Brian Harry, …).

The Web casts and more info are available here :
http://www.alm-summit.com/almsummit/schedule.aspx

Wishing to have this same great program organized in Europe too, 'cause many employers don't see the needs in sending people in conferences ;-)

1 Agile Acceleration
Keynote - Scrum: the 3rd decade - Ken Schwaber
Featured - The state of ALM: An industry view - David West
Heterogeneous ALM environments - Jamie Cool
Keynote - IT for the future - Moving into the cloud - Tony Scott
Using failure to pave the path for success - John Szurek
Managing Change
  • Scenario-focused engineering - Drew Fletcher,
  • Chasing agility - Chris Kinsman
  • Agile transformation of a Microsoft product team - Cameron Skinner
2 Collaborative Development
Keynote - From individual to team to organization - Brian Harry
Making Continuous Delivery a Reality from Product Backlog to Virtual Lab - Amit Chopra
Successful software project management styles - Stephanie Cuthbertson
Increasing Revenue Opportunities with Automated Development Tools - Karel Deman
Platform Integration
  • Extending the ALM platform - Mario Cardinal
  • Synchronizing and migrating ALM environments - Grant Holliday
  • Values: Exploring the Why Behind What We Do - Jim Newkirk
  • The future of collaborative development - Mary Czerwinski

3 Engaging the Whole Team
Keynote - The agile consensus - Sam Guckenheimer
Requirements Management: a smooth transition - Ido Eshed
Testing in an agile world - Vinod Malhotra
How are they different, really? - Eric Willeke
Professional Practices
  • The Marriage of Exploratory Testing & Agile Development - Jon Bach
  • Professional scrum developer practices - David Starr
  • Connecting Developer Workflow: Mylyn and the Task-Focused Interface - David Green
  • ALM Summit Panel Discussion - Schwaber, Starr, Guckenheimer, Provost, Willeke

Tuesday, September 21, 2010

To celebrate our last Sprint

Good things always end... Here is the last time we are using those cards on our project since we are doing the 9th and last Sprint iteration. It'll be a hard one to finalize everything !

Sunday, August 29, 2010

TOP 10 SCRUM Advantages

Obviously, I will not state that SCRUM is 100% the best of the best project management ever. It obviously hides some drawbacks. However, because the advantages are so numerous, the overcome is really good. I would like to emphasis only 10 of them.

Bear in mind that if you ask 100 persons a top-10 list, you will have 100 answers; furthermore, ask me to perform this exercise in a few weeks time, my list will surely be different!

  1. Freedom of the team, since the team works without any bosses. As a result, the team has to be very responsible and work tightly together to solve problems in a challenging environment. The only limit to the freedom is the User Stories to implement at the end of the sprint, and the sprint’s objective to reach,
  2. KISS - “Keep It Simple Stupid! ”: Scrum rules are simple to understand. You don’t necessarily have to study and understand why it works, just follow the rules! Obviously, it is best to study project management theories and leadership concepts either to apply the rules with even more convictions, or to go beyond them once mastered. In theory (I don’t fully agree on that point), any decisions is done on a KISS bases,
  3. The capacity to improve ourselves with retrospective and brainstorming sessions. This allows us to state and agree that we are bad in such or such area, then take actions to change completely one or more processes. Any process belongs to the team, and it is its duty to improve or suppress it. No boss knows better the problem that the extended team (i.e. including the PO, the SM and the Team),
  4. I have done a few projects in AGILE, but what I find excellent with SCRUM is that it provides a worldwide proven project management pattern. Moreover, the best practices are basic enough to allow us: To apply them strictly, AND to add creativity so that it could be applicable to solve various problems,
  5. My aim is not to list all SCRUM’s definition, but if I had to pick up 2 great stuff in it would be : Rely on Time box nearly everywhere: In many occasions on an AGILE project (without SCRUM), when everything is important, some tasks are endless and we tried to cheet our deadlines, and add a bit more, and another team member a wee bit more, and so on. As a result, we resulted in the very well-known issue, that everyone knows : we were late, and the quality was bad !! By applying Timebox most of the time AND defining the rules beforehand with the entire team member ("definition of Done"), it is easier to stop it due timescale. As long as the ScrumMaster plays its role of leader so that the rules are applied.
  6. I just knew AGILE before starting a project with SCRUM. What I was really astonished by is its ability to predict the future, based on our previous sprints' experience!! Obviously, no rule is perfect and it is only estimations, but we managed to have a 6 months plan for instance, and identified risks. For example, a “Release Burnup chart” is simple, but it enables us to take important decisions few months in advance, and inform the project board and sponsors well ahead.
  7. It is a humble project management: no bosses, no experts, beginners are welcome. Personally, I found that later point bizarre and I doubted it on that point before trying it, then changed my mind. In fact, in our SCRUM project  generated so much motivation and “helpfulness” that “beginner” and “experts” could work in harmony with efficiency. In addition, holidays or the turnover within our team was less a catastrophy due to the sharing of the information (eg. pair programming).
  8. The team is “self-organized” hence many decisions and tasks could be done in parallel: well, in fact, don’t forget that the ScrumMaster is here to lead the way, and although he do give any orders, a good leadership could indirectly tell what to do!
  9. I was surprised that, on quite a big project, our team was able to work properly with such a few emails sent!! In fact, we found out that most of our communication is done orally.

    . emails are used when a fair amount of information has to be communicated and when a quick answer was required. In this case, those emails were followed by oral communication anyway. This is particularly true when you could have email server problems: Once, I found out only after 5 days that my inbox email were down, because on one hand we were often and on the other hand because my outbox email still worked.

    . Documents in a common repository (such as Sharepoint) are used when large documents are to be shared. Never send those documents by email, just its link. 
  10. Last but not least, we are just happy to work in such a friendly conditions, as long as retrospectives/feedbacks sessions are performed when something goes wrong!
Just to illustrate that it is not only a dream methodology, I can quote one of the major drawback: the fact that it is difficult for us to always find a tradeoff between quality and the time boxed delivery. That is to say, we were able to deliver on time, but the quality of the product is not as great as what I would have expected!!


Another major drawback, is that the tester is always required to catch us up and rewrite its GUI tests, so that the Software Factory is useful. As opposed to the ideal world where you write only one big GUI test according a detailed specification document (that would always change anyway in the real world !).


The good news is that, because the customer and the sponsor where strongly involved in the product's creation and could play with it, they were “sort of!!” happy to grant us more budget to perform some extra-iterations.

Thursday, July 15, 2010

Playing around with the Process Template "Team Foundation Server Scrum v1.0 Beta"

Although I was quite interested in trying this template, I did not expect a huge difference with the default "MSF for Agile Software Development v5.0" at first. However I was quite pleased by the little details I came across.

Here are the seven new WorkItems templates : Bug, Impediment, Product Backlog Item, Shared Steps, Sprint, Task, Test Case :





  • Bug:

  • Impediment:

  • Product Backlog Item:

  • Shared Steps:

  • Sprint (showing the 2 tabs Details and Retrospective):

  • Task (along with its TFS Web version):

  • Test Case:


Unfortunately, I did not try the Reports, since I have neither Sharepoint nor Reporting Services/BI on my test computer. According to what I saw on the Net, they sound great.

As for us, we just use EXCEL connected to TFS to perform automatically basic subtractions, so we can draw a line every day on the A2 sheet of paper stuck on the wall.

I particularly like the Rich Text Editor support (not only in the History part), but also in the Description part. However, the drawback of this nice advantage is that is it obviously not compatible anymore with EXCEL. Since, our Product Owner and few other people essentially work with EXCEL in sync with TFS, this could be a problem
.





As I said, I was just playing around with this template: to really evaluate it, I shoud be using this template in our production project, with real projects constraints.

As a conclusion, now that I am back to work using the "MSF for Agile Software Development v5.0" template, and knowing the advantages of the Scrum version, I just can't wait it release.

However, since it is in Beta version, and like any projects, ours is critical and due to deliver soon, I prefer sticking with the MSF Agile that works fin for us 

(I just added 2 fields and removed 1 field to suite our needs so far).


More info on Scrum methodology and how to use this template in the following video : Channel9 Walkthrough.

.

Saturday, June 12, 2010

Certified ScrumMaster

Certified ScrumMaster with Mastery level






Sunday, May 16, 2010

Great addon to VS 2010 to better SCRUM

Urban Turtle is an intuitive Agile Project Management tool (plug-in) for Visual Studio 2010 to ease by Drag and Drop within the browser any SCRUM projects connected to TFS.

 
http://www.urbanturtle.com/

Thank you Pyxis !

Tuesday, April 27, 2010

Recommanded SCRUM reading

Here is a great book about SCRUM (unfortunately in French so far) :
SCRUM : Le guide pratique de la méthode agile la plus populaire
(or amazon).


The great thing is that the author (Claude AUBRY) gave us his feedbacks and returned of experiments about SCRUM.
As a Product Owner of "IceScrum" (OpenSource), he also tells us how to use it; the only drawback so far is that he does not presents other tools.



Great value either for beginners willing to improve their knowledge or for confirmed SCRUM practitioner.

Thanks.