Tag Archives: Agile

Time To Get Agile/Scrum Certified

In earlier posts, I have written about the challenges of agile product management. I also reviewed a pretty good book “Agile Product Management with Scrum” that you should read to learn about Agile software development and the Product Owner/Manager’s role.

Well, now it may be time to go one step ahead and become a Certified Scrum Product Owner (CSPO).

This certification is a basic two-day introduction to gathering requirements and delivering them to the scrum team in the format of user stories. After getting certified, you will also get access to the online forums, blogs and other resources that you can use to hone your story-writing skills. One advertised benefit is the ability to show potential employers your knowledge of Scrum. There are some other certifications associated with Agile development (Scrum Master, Scrum Developer, Scrum Coach etc.) which are of limited use in a Product Owner role. You can find more information on these with a simple Google search.

Alternatively, you can go for the PMI Agile Certified Practitioner (PMI-ACP)® certification. This looks like a rigorous training with a lot of pre-qualifications before you apply for the certification. However, if you are already PMP certified, then it may be easier to get this certification. Personally, I am not in favor of product managers going for a PMP certification, for the simple reason that product managers have a different role that project managers.

If you are an old-timer in the industry, you might remember how Rational OOAD and UML was a pretty big thing at one time. And to get business analyst roles, you had to be well versed in those tools. Now with teams going agile, these certifications may give you the edge, when you are out there, looking for a product manager/product owner role.

Do understand your own career aspirations, the costs associated with these courses and then make an informed decision on either of these certifications.

How To Start A PRD

Background

The Product Requirements Document (PRD) and the product roadmap are the two key artifacts that a product manager must have mastery over, for success in this role. In many firms, the PRD is called something else, such as a Business Analysis Document (BAD!), Product Requirement Specifications (PRS), Marketing Requirements Specifications (MRS) and so on.

Here are a few links to articles on different websites about what a PRD should contain.

One challenge you will face is that there is no easy way to start a PRD from scratch. And you will encounter such a situation if you join a startup, or begin work on a new product, or start working in a new firm. Here are some tips that can help you start the work:

A PRD Follows A Template

The PRD for a consumer electronics product, a web-based product or a VAS product such as caller ringtones are very, very different. Still, all the PRDs follow a common template used within the organization. You should pick up the most recent template in use based on past available PRDs and start filling out the different sections within the PRD.

If you are working in a startup, a quick web search will give you many links where you can download PRD templates. Use the template as a starting point, and simply remove all sections that do not seem important. What remains will allow you to begin writing product specs.

A PRD Is A Live, Versioned Document

As you start writing use cases, functional specifications or other details about the product and product usage, you will quickly realize that this is an iterative process. So you can take 2 approaches to make a good PRD – cover it depth-first or breadth-first.

The depth-first approach is good if there are multiple product managers, or if you have an external dependency. This way you completely scope out a set of features for the engineering team to review, and then to start their work.

The breadth-first approach works best when you are not sure of the specs., and have multiple engineering teams waiting for the PRD. This way, you have something for all the teams in the first draft.

Remember, even after a PRD is reviewed, and specs are accepted after modification, you can make changes and add those to the appendix. This way, a new joinee can see the document history, and understand the product evolution.

Start With Functional Use Cases

Unless the product is a set of API for scripts on the web to use, every product will have use cases. These will include how the product is installed, how it is started, how the controls function, what are the roles of the users and so on. These are easily translated into straightforward use cases.

You should list out all these use cases, write a one line summary for each of them and then break them into functional groups (error handling, security, startup etc). These will help you build the base of the PRD.

Break Up The PRD Into Sections

One section of the PRD must cover the business problem you are solving and the potential revenue opportunity. If you have those, and the functional use cases, you are very far along on the first draft of the PRD. Additional sections that you need to write specs. for will include the performance requirements, usage constraints, security specifications, dependencies and so on. You should spend a lot of time to write these, as these are the tricky issues that can cause major problems after product release.

Make Lots Of Diagrams

Any time you feel that there is a complex use case, or a particular system component is hard to describe, make a diagram. You can make block diagrams, flow charts and navigation maps and anything else required. And you can either add them to various sections of the PRD, or keep them at the end in the appendix. Make PPTs if required and insert them in the appendix.

More Is Good

A PRD must have a lot of details about every feature, requirement and scenario. This will remove ambiguity, simplify the design process and avoid trouble down the line. Use as much detail as possible for every facet of the PRD. It is actually for this reason that many firms use 2 versions of the PRD, a smaller version in PPT format summarizing the product release for external audiences, and a detailed version in a DOCX or XLSX format for review and referral.

Forget The Competition’s Features

Sometimes, a PRD will contain comparisons with a competitor’s product or even specific features. This is a waste of time, as you are comparing a current feature set with something you team will deliver much later. Such comparisons should not enter the PRD, however, you can add a list of internet resources on the competition to the references section of the PRD.

Summary

Writing a PRD is a prestigious task for a Product Manager. Following the guidelines listed above will let you create a high-quality PRD within a few weeks, that will be acceptable to all groups, and will allow engineering to build the solution that you describe.

7 Tips for Fresh MBAs working as Offshore Product Managers

[Caution: long post]

Today, most business schools prefer candidates with some work experience, which is also useful during lateral placements. Hence you see an increasing number of candidates with exposure to IT services or software engineering joining these schools and completing their MBA. Post-MBA, it is inevitable that some of them will head towards product management during campus placements or shortly afterwards. This post is about the 7 things to focus on in your first year on the job, apart from working on PRDs or MRDs.

1. Build a rapport with program managers

In most offshore R&D centers, program managers play a key role in organizing projects, resources and schedules. Hence they know the resource costs and availability for any ongoing or upcoming project. And since engineering dominates decision-making in ODCs (offshore development centers), the program managers help to balance the engineering dominance.

2. Get customer exposure on a sales call

An enterprise sale is a complex process, involving dozens of people from different departments, and it typically has a long completion cycle. You must gain a first hand exposure to how this works, as this is the main source of revenue for the firm and for your product line. However, it can be difficult to gain a sales person’s attention, as he is always looking outwards for opportunities. As an incentive to sales folks to get them to talk to you, arrange a product demo or a feature presentation. If the demo is interesting enough, they will make sure that you get in front of the customer.

3. Gain the trust of engineering and service delivery managers

I have written previously about key stakeholders for offshore product managers. If you cannot get these people to trust you, you will never be able to drive product decisions, even with your supervisor’s help. And you cannot keep going to him all the time. One good technique to gain the engineering trust is the show them that you can deliver on the product requirements and are not simply there because of your MBA. Essentially, you need to prove yourself with every engineering resource, right from the VP to the intern.

4. Train yourself

If you are just coming out of b-school, with a few years of pre-MBA IT experience, you have NO relevant skills whatsoever. The people in the ODC do not care that you can prepare kick-ass powerpoint. Neither are they interested in the font, color or direction of arrows in you block diagram. You must focus on gaining survival skills, which today include, UI design using HTML, CSS and Javascript, UML and MS Visio usage, basic analytics, and programming skills in at least C++, Java or PHP. There is a lot more to gaining skills in multiple dimensions, and I will cover this in a future post.

Do not bother to go for a formal product management training yet. Without relevant experience, it will have very little value and you will forget most of it very soon.

5. Prepare for a change to your role/product within 12 months

In today’s connected, global economy, it is almost guaranteed that your first role will last no more than 12 months. The change could be due to external forces or internal restructuring (ODCs are very prone to this), but it will definitely happen. In the worst case, you might feel stagnating in your role, and you will yourself ask for or start looking out for a change. The best way to survive this is to shine in front of senior management, build a rapport with the US teams and network with HR and other support staff.

6. Connect with Solution Sales, Analytics, Customer Service Teams

This is probably the most important task that you can perform outside of self-training. To understand how the product is built, you need to sit with engineering teams. To understand how the product is sold, you need to work with sales teams. And if you really want to understand how the product is used, you need to work with solution sales, analytics and operations and customer service teams, who cover all real use cases that the product was designed for. And remember, you need to proactively seek them out and learn from them. As a fresher, it is expected that you will be learning all the time.

7. Network outside the firm

There are a lot of opportunities for networking in Bangalore, Hyderabad and all the other major tech. centers in India. You must go to these get-togethers (a few of them are listed in the resources section of the blog). It can be a lonely job, working as a product manager, with no outbound teams near you. Connecting with other people in similar situations is a good way to understand the challenges of an offshore product management role, and the different ways in which people are coping.

Summing Up

A product management role, even offshore, can be incredibly rewarding, but only if you take care of your first few years on the job. It is not for everyone, and you should make sure that you are still interested in it at the end of your first year. Else, as an MBA, it will be easy to find something else.

Agile and Accountability: 7 Things to Get Right

Very often, Agile is presented as the panacea for delayed releases, disconnect between the business and technology teams and the slow pace and long release cycle of the waterfall method. Well, Agile is simply a process to develop software, with its own positives and negatives. A process by itself can never be perfect, and with human involvement, there is a high likelihood that the new method will also fail, although in different ways from the old software development methods.

In this post, I would like to describe the key challenges that a product manager must watch out for, when he

  1. Joins a team following the Agile methodology and Scrums for software releases
  2. Joins a team that is transitioning from Waterfall to Agile

The information here is useful for both offshore enterprise and consumer product managers.

1. The very first thing he must ensure is that all requirements are clearly defined and documented. When something goes wrong, or the engineering output is not satisfactory, the first thing to do is blame the quality of requirements. My advice would be to never change requirements even if a customer demands a feature enhancement. You can always add it to the backlog, instead of disrupting the existing backlog.

2. The next important thing is to make sure that all processes are clearly defined and documented. If the team is transitioning from Waterfall to Agile, the program manager must remain available until at least 2-3 sprints are completed. It is also vital to make sure that a Scrum Master is designated to track the team progress. The Scrum Master must not report to the engineering manager. Weekly sprints must reach their sprint goals.

3. Make sure that QA is independently accountable, and is testing the weekly output both for new use cases as well as regression testing for existing features. One team I came across had QA also reporting to the same engineering manager. Needless to say, either bugs were not reported or were immediately reduced in priority.

4.  Make sure that the non-functional requirements are adhered too. A common excuse I have heard is that since this is the first version of the use case implementation, we will improve performance later. Well, no client is going to wait for a half-baked feature, and releasing that feature will only cause high priority customer escalations, reducing sprint velocity and causing a cascading effect on other features.

5. At least 20-25% of the development time of the engineering team should be spent on defect resolution. In fact, one sprint out of 4 or 5 can be an exclusive bug-fixing one. This will ensure a reasonable product quality after a while.

6. Make sure that the effort estimations do not vary from week to week. This is the most common trick employed by engineering managers to prioritize features that they want to build, and change the product backlog priorities. There is no easy solution for this, but if you closely track the past performance of each engineer (yes, YOU have to do it, with the help of the scrum master) you can get a good idea of the real vs. claimed effort estimates.

7. Finally, do not hesitate to call out the engineering manager if you see the product drifting, the quality being lowered, or the performance not up to the mark. He will blame someone from his team, perhaps even fire someone to make an example of him, but ultimately, each engineer is accountable for his output. And he is accountable for managing them. If required, escalate to the engineering leadership and make them aware of the release delays. In addition, if you keep your own leadership informed too, then client escalations will not cause too many disruptions.

One final thing, there are never as many engineers of sufficient quality as desired. And recruitment remains a constant struggle in the product development world. It is not your job to manage this constraint. And yeah, the old story of tripling the engineering estimates to plan a future release date makes a lot of sense in India.

There are dozens of tricks and pitfalls to watch out for, when Agile is proposed as a software release process. This post mentions a few, but the key to on-time, in-quality releases remains close tracking of the progress made by the team against the defined requirements.