Showing posts with label Agile. Show all posts
Showing posts with label Agile. Show all posts

December 3, 2008

Download Scrum Summarized eBook for FREE

Scrum Summarized will introduce readers to the Agile software development methodology - Scrum. It is written for anyone and everyone who wish to understand and adopt Scrum. In this book, I have used my experience and knowledge of Scrum to describe the key concepts to get readers started on using Scrum. If you think that this book is worth a read, please feel free to share it with your colleagues and friends.

Download Scrum Summarized eBook for FREE at: http://rapidshare.com/files/170065207/Scrum_Summarized_by_SachinMehra.pdf

You may buy the print version of the book at: http://www.pothi.com/pothi/book/sachin-mehra-scrum-summarized

COST: $5 (Rs 230/- INR) + shipping charges

December 2, 2008

Published my second book titled "Scrum Summarized"

Published my second book titled "Scrum Summarized", here is its cover with intro. You may buy the book at: http://www.pothi.com/pothi/book/sachin-mehra-scrum-summarized

November 25, 2008

Importance of instant messengers (IM) for Agile teams

We need to have good, clear and continuous communication to be able to effectively collaborate with our team in any engagement. The selection of method and tools for enabling the smooth communication depends on the type of information, intended recipient, and project needs. In Agile teams, the importance of tools which enable to communicate is no less than any other teams.

 

Agile teams should be collocated, however if they are not Instant messengers (IM) enable Agile teams to communicate with each other instantaneously in groups and one-to-one communication. IMs are the most popular tools for Agile teams who wish to stay in touch and share stuff.

 

I use Yahoo and Google messengers. Yahoo is particularly beneficial to share files, etc because it uses LAN to transfer files which makes it faster and more effective. GTalk is better for light and speedy talks. You should choose the IM as per your needs and team’s comfort. Most messengers comes with features to save the conversation, this enables to track what was decided and when. Voice chat feature is useful if teams are split across the globe or they do not have a phone on their desk.

 

At the end, I would say that IMs are more effective for small/quick chats. Longer/complex conversation should be done in person or using video conferencing or over the phone (in that order).

 

 

 

 

November 18, 2008

Has Agile failed? I guess not

Today, I read an article “James Shore: The Decline and Fall of Agile” posted by Chris Sims at http://www.infoq.com/news/2008/11/decline-of-agile.

 

I really liked this part “James thinks it's not all the fault of Scrum, however, as each team must take responsible for its own success or failure. Many are choosing to adopt only the superficial, and easy, parts of Scrum such as short development sprints and daily stand-up meetings, while ignoring harder, yet critical practices such as reflecting and improving. Via this process, teams are empowered to identify and adopt the engineering practices that they need to deliver shippable software every iteration. Unfortunately, many teams fail to take this step.”.

 

I absolutely agree that team must take responsibility of their actions and results. To take this inference further, good team members (self-organizing types) will produce good results wherever they work. We can only create agile teams to the extent of resource allocation, their passion is their own and it cannot be forced to act in a specific way. Taking the Agile route we can enable those who want to (and can) perform.

 

It is not the decline and fall of Agile, but of those who are unable to understand the methodology. Those people practice what they believe to be Agile and when they fail, they blame Agile for it.

 

I have failed with Agile several times, however I learned something new every time. The only learning I pass on is that “you cannot go by the book”, that’s what Agile is all about. Also, Agile has to be XP and Scrum together, one without other leads to failures.

 

Agile is not one size fits all. I am of the opinion that Agile have a lot of good practices which have to be practiced and improved with experience. Methodologies have evolved over decades, the good things don’t vanish, they just change names and evolve for betterment.

Is Agile for real?

This weekend (Saturday, 15th Nov, 08) I attended Agile Expert Series at Impetus Noida facility. The event was organized by Xebia. Sanjiv Augustine, President LitheSpeed, world renowned & leading agile thought leader was the speaker on the topic Agile Project Management Overview. Luckily for me, I got seating in the front row and was only project manager for the first 30 minutes of the 1hr presentation; this gave me an opportunity to interact with Sanjiv on issues/questions.

During this interaction Sanjiv over-emphasized (or maybe I paid much attention) to the aspect of self organizing teams. He gave an example of developer becoming a designer. In this example, after becoming designer the team member felt superior than others which reduces the communication/interaction within team. My question is, how would this be any different in Agile team (I mean the designer has an attitude problem, not the development/project management methodology problem).

After the presentation, I was thinking about the critical success factors (as per my understanding) of Agile:
<![if !supportLists]>·         <![endif]>Self-organizing teams who abide by their commitments (to customers)
<![if !supportLists]>·         <![endif]>Customer having enough time to spend with the team

The question is: If we live in a perfect world, who needs Agile (Scrum to be specific)?

On Sunday, I spent most of my time looking for more instances of success of Agile with normal teams (not the ones who are self-organizing) and/or normal customer (the one who is available during kick-off, requirements and UAT phase of the project, and maybe on notice of 3-5 days too). Well, disappointed at the results, I went back to my book shelf to look for “Managing Agile Projects”, the most wonderful book on agile project management to look for answers. Well, I am not yet done with re-reading this book. Will post once I find something really interesting. If you wish to read the book buy Managing Agile Projects from Amazon.com





November 1, 2008

Thinking of writing a book on Scrum

I had a very good time writing my first ever book on any subject. I have been writing sine my collage days but never used Scrum at that time. I enjoyed using Agile principles while writing the book. I am highly inspired by the results and am thinking about writing a “Summarized” series book on Scrum too.

Wish me luck :)

October 18, 2008

Use strategic agility to face the economic downturn/slowdown

The world is in a global economic downturn/slowdown. The retail industry can see signs of a sharp pullback in consumer spending habits. We read and hear about bad news from morning till evening. Every day the newspaper talks about pink slips and bailout issues. I don’t want to list the bad news in my blog, however you may go to any news website for that kind of information.

Most companies are looking for cost cutting measures to stay afloat during this time and wait for things to get better. Most companies have shelved their growth plans. The problem is nobody can predict a trend and hence corporate planning has gone for a toss. The current downtrend may go on like this for another 3,6 or 10 months, or maybe for another 1,5, or 10 years... who knows!

So the question is what do the corporate do when they don’t know what to do? Do they wait for the eventuality to happen? Would cost cutting help them survive…forever?

I think it’s time to use strategic agility to face the economic downturn/slowdown:

  1. Plan and go for long term growth.
  2. Be agile in your approach. Be proactive (not reactive) to the economic indicators and market trends.

Let me illustrate an example from our real life:

  1. Let’s say we are to party with our friends at the beach and grab some beer (this is a business objective to make profits and grow).
  2. We reach the beach and park the car. We don’t know where our friends are on this huge beach so we call them for directions (this is the economic indicators and market trends).
  3. Our friends are on the move looking for a good spot to settle down (this is the changing market trends).
  4. We have two options,
First, to wait till they settle down and then go meet them, but that might be too late (half the beer may finish by the time we reach there). Second, to find the current location of our friends and start moving in their direction (we have to walk anyways). Proactively calling them to find the new current location to alter our course and meet them sooner (than the first option).

What I suggest is to take the second option in this period of economic slowdown. Don’t let this recession ruin your business, think about the opportunities, follow the market trends and invest in the right growth plan. This will enable you to come out as a winner when the dust settles down and you’ll be much ahead of your competition.

July 4, 2008

Success does not happen in isolation

There was a farmer who grew superior quality and award-winning corn. Each year he entered his corn in the state fair where it won honor and prizes.

One year a newspaper reporter interviewed him and learn something interesting about how he grew it.

The reporter discovered that the farmer shared his seed corn with his neighbors'.

"How can you afford to share your best seed corn with your neighbors when they are entering corn in competition with yours each year?" the reporter asked.

"Why sir, "said the farmer, "didn't you know? The wind picks up pollen from the ripening corn and swirls it from field to field. If my neighbors grow inferior,

sub-standard and poor quality corn, cross-pollination will steadily degrade the quality of my corn. If I am to grow good corn, I must help my neighbors grow good corn."

The farmer gave a superb insight into the connectedness of life. His corn cannot improve unless his neighbor's corn also improves.

So it is in the other dimensions! Those who choose to be at harmony must help their neighbors and colleagues to be at peace. Those who choose to

live well must help others to live well.

The value of a life is measured by the lives it touches.

SUCCESS DOES NOT HAPPEN IN ISOLATION. IT IS VERY OFTEN A PARTICIPATIVE AND COLLECTIVE PROCESS.

May 5, 2008

Yahoo Pipes

Yahoo has a tool called yahoo pipes which works much like a hose pipe we use in our gardens. All you have to do is fetch some data (search results maybe) and pipe it through another filter to sort and eliminate some records. That’s it…your kind of data is ready!

For non-technical people (the one who are unable to understand the above paragraph), there are pipes built by others which can be used by you. Lets say you are looking for a good deal on camera phone with Bluetooth, there is a pipe available which will search for all the deals and show you the results.

The ones I liked:

1. People Search - This tool is fetching search results from Yahoo, MSN, Google and Flickr to find any people entered with "Name FirstName".

2. Google and Yahoo news - Searches Google and Yahoo news, then merges them together into one feed.

3. Page to Podcast - This pipe extracts mp3 links from page, analyze ID3tag, and makes Podcast.

4. Meta Search Alert - This Yahoo Pipe: 1. Aggregates these search results from (Del.icio.us + Findory + Flickr + Google Blog Search + Google News + Google Search + Icerocket + Live Search + Technorati + Yahoo News + Yahoo Search); 2. Filters the results and ensures that the links are unique; 3. Sorts the results by date…

URL: http://pipes.yahoo.com/pipes

October 7, 2007

what is Certified ScrumMaster

Don’t be mislead by the title, I am not (yet) a certified ScrumMaster. And in no way authorized or capable to judge the trainers who conduct these ScrumMaster workshops. My colleagues at work ask me all the time about what is the course content for becoming a certified ScrumMaster and who gives this certificate, so here is an insight for them (and everybody else too):

1. Who is a Certified ScrumMaster: Any person who has attended a 2 day workshop provided by a certified scrum trainer.

2. Who is this certification for: Anybody who wants to get started on Agile project and has no idea of what this journey means.

3. What are the prerequisites: No formal requirements, however it is suggested to read a book on Scrum before attending the workshop.

4. What is the course content: Possible content will include introduction to scrum, roles and responsibilities of a ScrumMaster on the project, etc

5. Does everybody become a Certified ScrumMaster after the workshop: Yes (unless your trainer wants to punish you for sleeping during the workshop).

6. Who gives this certificate: Scrum Alliance

7. Any suggestions (from me): Must take this workshop.

Unfortunately, most people attend this workshop to fool others (read current and perspective employers) that they are Agile in big way. You please don’t fool others and yourself into this, the workshop is very useful to give you a jump start into the Agile journey.

August 28, 2007

Agile requires full-team collaboration, so where do the project managers go...

I started off with writing the “Bad ScrumMaster’s guide to good practices”, it turned into the “Why agile fail” and it then turned into this blog about what happened (or should happen) to traditional project managers.

Agile adoption is on the rise and we all appreciate it. Clients love it cause they get better value for their money. Teams like it cause they do not have to work long hours or on weekend, also they get real satisfaction for the efforts they put into the project. But nobody cared what happened to the plan-execute-control type managers, they became “Bad ScrumMaster” who contribute to the reason of why agile project fail. Most ScrumMaster have a history of being 'plan alone, command to execute and control' project managers or a "decision taking" technical lead

Lets face it, there is no role for project managers in agile teams. It’s the need of the hour to train our traditional project managers (and leads) to turn them into ScrumMasters who can positively contribute to the project and the project team. A few points for traditional project managers to start with:

1. Bring the team into the planning room. Yes, the team can contribute to iteration plan, task estimation, deliverables and task assignments.

2. Be patient with the team. They need your time and support for agile success.

3. Team learns something new everyday, let them take decisions and change them as necessary, this is what makes them agile.

4. Be open to accepting bad news. Embrace truth, it will motivate team to provide “real” status to project’s stakeholders.

5. Good news, now you don’t have any backlog to follow-up the team for. Let go of that scope statement, it is product owner’s task to prioritize features they need in the product.

6. When you don’t have work, identify and remove obstacles for the team (with teams inputs and discussion on solution).

7. Last but not the least, constantly inspect and adapt to the environment to support the teams.

Note: The above points will help project managers even on non-agile projects.

January 26, 2006

How bad can Test-driven development (TDD) go...

We have been working for a project for big telecommunication giant in US. I have a team which enjoys working in an Agile (so called) team however they are not aware of the methodologies and the efforts in educating them are not fruitful because they deliver quality work on time (every time). Management is happy and so are the team members.

So what’s the problem you may think, it is all in my mind (I guess)…to begin with. What’s going in my mind is the question “How bad can TDD go”, the answer is as bad as the developers working in the team.

For those who don’t know, Test-driven development (TDD) is a software development methodology (used in XP) that uses short development iterations based on pre-written test cases that define desired functionality.

The sequence of development should be:

1. Write the test cases based on required functionality.

2. Test run the test cases, they will fail.

3. Start coding the functionality enabling each test case to pass. Keep executing the test cases to verify.

4. Deliver when all test cases have passed.

How my team does it:

1. Coding the functionality.

2. Write the test cases based on the code.

3. Deliver after testing that all test cases have passed.

To my surprise, I found out that this problem is not unique and limited to my organization, there are plenty of such examples available across the globe. The problem it seems is the motivation to use TDD comes from the fact that people want to use something new and tell others about is (prospective clients). They are unable to realize the importance of the new thing (technology/tool/methodology), hence they don’t get the benefits and end up blaming the methodology/technology.

TDD was and still is a very good technique for test-first programming concept.