Let's talk about another important concept, Vertical Slicing in an Agile development. Here is how it works.
Just to bring everyone on the same page, in Horizontal slicing approach, project is broken primarily along Architecture lines. So there are several teams working on a particular phase of the project, mainly in serial. This clearly has advantage when it comes to doing things in a consistent ways. It's however less resilient to changes in the requirements.Plus the team can't deliver the product anything until things are integrated and All Bells & Whistle are in place, due to interdependency.
This is where we do things differently in the Vertical Approach.Project Management Office (PMO) and executives divide the team into Verticals. These verticals work collaboratively on common delivering a working product. That puts the TEAM in a great position to deliver working product in a timely manner within the budget. Plus there is no overhead of putting all the pieces of the puzzle together towards the end.
I must mention here that although Vertical approach is great and works in most of the environments, one shouldn't consider it without performing the complete analysis. There are perfectly legitimate situations where horizontal slicing is the best fit ..
-S
Tuesday, June 29, 2010
Monday, April 26, 2010
Scrum
Thanks for the comments / suggestions. There is enough interest among the readers about Scrum. So let's talk about Scrum for next few posts.
Scrum is one of the many Agile methodologies. There is nothing right or wrong with any of these methods. Most of the AGILE places I am aware of go with Scrum though.
Broadly speaking there are 3 fundamental roles:
Broadly speaking there are 3 fundamental roles:
1) Product Owner
2) Scrum Master
3) Team member
1) Product Owner is an extremely important stakeholder and generally represent business side of an organization. Her responsibility includes sharing the vision of other important stake holders / executives with the team. She would have the highest authority when it comes to making product related decisions and obviously with that comes highest responsibility as well.
2) Scrum Master is the link between the Product Owner and development team. She will be the first point of contact for the development in case of any hurdles.Scrum master should therefor have an excellent understanding of the product being developed and must have a very good idea about the bigger picture. Note that the scrum master shouldn't be confused with the Manager. In most of the cases, Scrum master and development team would report to the same manager.
3) Team Member An ideal Agile team will have 6-7 cross functional members working towards the common goal of delivering a successful product within the project time frame. This typically contains Software Developer,Designer, Architect, QA-expert / Tester, Database Administrator. Depending on the nature of the work this composition could change a little bit.
After all we are living in an Agile world where only change is constant :)....
-S
Friday, April 23, 2010
Agile Manifesto
Let's spend some time understanding the history of Agile. This might be a good time to talk about Agile Manifesto.
In 2001, 17 established individuals met at Snowbird Ski resort in Utah to come up with a lightweight software development methodology as against the traditional heavyweight waterfall method. They came up with the Agile manifesto(1) that states,
In 2001, 17 established individuals met at Snowbird Ski resort in Utah to come up with a lightweight software development methodology as against the traditional heavyweight waterfall method. They came up with the Agile manifesto(1) that states,
"We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left more."
You can read complete history about the Manifesto at The Agile Manifesto(1)
Thursday, April 22, 2010
Agile characteristics
Another important characteristic is Co-location. Agile puts tremendous emphasis on face to face communication. So normally all the team members are located in an open office space more like a bullpen. This is different than traditional cubical sitting arrangements. This facilitates easy communication within the team members. Normally, the managers would also have a spot in the same space (of course by the window .!) . In cases, when the members have to be in different physical locations, they use all the latest and greatest advancements in communication technologies.
Typically such a common area will have a bunch of desks, with a couple of drawers for the developers . There would be a few rooms for spike, scrums ( stay tuned for more about these in later blogs) purpose and executives offices in the corner. This makes it extremely easier for anyone to walk into a director or VP's office ( don't push it too much though :P) in case of any issues or problems
p.s: It takes a while for everyone to get adjusted to this kind of set up, eventually the team resources see benefits of co-location ( I didn't say 'put up with' ... :P)
Wednesday, April 21, 2010
Agile 101 Contd...!
I am sure by now there is enough interest and curiosity about Agile methodology. Please keep in mind that Agile is a development methodology rather than a Project Management methodology.
Anyone who is remotely interested in Project Management must have heard about Project Management Institute and PMBOK, the ultimate word in any PM's world. It is widely believed that PMBOK is applicable to only traditional waterfall methods. Here is an interesting article from Project Management Institute (PMI) website,
Click here to go to the link
Monday, April 19, 2010
Agile 101 !!
Ready to dive into the details ?
Agile methods break tasks into smaller chunks of stories that could be better managed. Normally, Agile groups work on a regular interval of time called Iterations. Depending on the project and the organizations, Iterations could vary between 2 to 4 weeks.
We are currently on a 2 weeks iteration planning. The team size normally is smaller, so that everyone on the team is more focussed and is aware of all the things happening in the team. Basic idea is to plan the iteration in such a way that all the decided tasks can go through complete SDLC cycle of Analyzing, Designing, Coding, Unit and Acceptance testing. That's right, all of it in a single iteration and as you might have guessed, if the team successfully achieves that in an iteration, what you have at the end of the iteration is a working feature of the final deliverable with no or minimal bugs. It might take more iterations to successfully add significant product launch. Add a few iterations like this and there is the final , ready to be launched product at the end... ! wow, isn't that awesome.....
Agile methods break tasks into smaller chunks of stories that could be better managed. Normally, Agile groups work on a regular interval of time called Iterations. Depending on the project and the organizations, Iterations could vary between 2 to 4 weeks.
We are currently on a 2 weeks iteration planning. The team size normally is smaller, so that everyone on the team is more focussed and is aware of all the things happening in the team. Basic idea is to plan the iteration in such a way that all the decided tasks can go through complete SDLC cycle of Analyzing, Designing, Coding, Unit and Acceptance testing. That's right, all of it in a single iteration and as you might have guessed, if the team successfully achieves that in an iteration, what you have at the end of the iteration is a working feature of the final deliverable with no or minimal bugs. It might take more iterations to successfully add significant product launch. Add a few iterations like this and there is the final , ready to be launched product at the end... ! wow, isn't that awesome.....
Friday, April 16, 2010
Getting Started - Agile 101 !
Agile implementation is one of the hot topics in Project Management world, if not the hottest. So what is the deal with it... In short and sweet terms, Agile PM means TEAM WORK and COLLABORATION. The most important aspect of any project utilizing Agile methodology is the final deliverable, i.e Software or the Product. and one really can't put enough emphasis on these keywords.
This is not to say that traditional Waterfall development method doesn't put the final deliverable ahead of all other things. Intention of any project, large or small is always to successfully meet the objective. It's just that, due to the way in which things are being handled in the waterfall model, things get slowed down at certain stage of the game, resources get distracted and that leaves very little time to recover gracefully. That's the reason a significant percentage of the projects fail to meet it's objectives causing waste of a lot of money and time...
This is not to say that traditional Waterfall development method doesn't put the final deliverable ahead of all other things. Intention of any project, large or small is always to successfully meet the objective. It's just that, due to the way in which things are being handled in the waterfall model, things get slowed down at certain stage of the game, resources get distracted and that leaves very little time to recover gracefully. That's the reason a significant percentage of the projects fail to meet it's objectives causing waste of a lot of money and time...
Sounds familiar ?, if you have witnessed something like this in your profession, you probably are wondering about being Agile !
-S
Subscribe to:
Posts (Atom)