PMBOK and agile development

A Guide to the Project Management Body of Knowledge (PMBOK) is considered the bible of project management. Bible in that it deals with every facet of project management by means of 5 process groups (initiating, planning, executing, monitoring and controlling, closing). Bible also for its size, more than 400 pages packed with concepts that often scare who is studying to become a Project Management Professional.

Thanks to this reputation, concepts expressed in the PMBOK could seem far from the agile development methodology and some weeks ago I expressed my opinions regarding this topic in the Web Project Management FAQ.

And now Forrester publishes on its site an interesting (but not free) report, The PMBOK and agile: friends or foes?, that deepens these arguments.

Starting from the differences between PMBOK and agile development, the authors soon highlight several points of contact between these 2 approaches. But it’s the last part of the report, where they state that it’s possible to combine the strengths of both to optimize outcomes, the more interesting.

In particular, an agile developer can find in the PMBOK:

  • a help to clearly define project initiation and closeure;
  • a guide to effectively communicate with all the stakeholders;
  • clear directives for risk management.

Conversely, an agile methology can help traditional project managers in:

  • defining roles and responsibilities across teams, giving individuals the opportunity to learn from each others and to plan collectively;
  • encouraging teams to focus on detailed planning of smaller blocks and using that knowlegde to influence future planning;
  • building stronger relationships with customers;
  • writing the “right” amount of documentation.

Web Project Management FAQ

This article contains answers to several questions I receive regarding web project management and can be considered a sequel to what I wrote in Introduction to web project management.

It’s a starting point. If you think that there are some aspects that deserve to be deepened you can use comments or the contact page.

What is web project management?

Web project management is a discipline that helps building web projects (sites and applications) that are delivered complying with the deadlines, planning the best compromise between quality and cost and satisfying initial requirements. Web project managements is the expression of the web project manager’s skills in organizing and managing resources towards a shared goal.

What is the role of a web project manager?

The web project manager is the professional in charge of the management and coordination of a web project from its inception to the delivery, dealing with every person involved in the project. For a detailed explanation of the web project manager skills, you can take a look at Introduction to Web Project Management.

What is a web project?

A web project is the set of activities required to build sites or applications that satisfy user requirements. It spans between specific start and completion (delivery) dates and its goal is to create a unique product or service which brings beneficial change or added value. A project is different from a process in that the latter is made by a repetitive series of steps to produce the same product or service (see the definition of project management in Wikipedia).

Is web project management a methodology?

No. Attending some courses you have the feeling that project management is just a series of rules to adhere to using Microsoft Excel or Microsoft Project, all surrounded by acronyms like Prince2, PMBOK, PERT, Scrum. Methodologies are important because they set guidelines that facilitate many web project manager’s tasks, but web project management is a job made of relations with clients, developers, designers and freelancers. A project manager is first and foremost a  leader, not a tracker.

Are there courses that help in mastering web project management?

No one, except some rare case starts his career as a web project manager. A more common situation is to work for the IT department of a software house or web agency  and develop management skills that can eventually lead to become a web project manager. A web project management course can help the project manager in improving her skills and competences, especially in terms of analysys and risk management. But a course is not enough to help a student, a designer or a developer master this discipline.

What is the difference between web project management and software project management?

Web project management has its own peculiarities that make it different from the “classical” definition of software project management in terms of innovation and communication.  The web project manager’s skills span multiple disciplines, such as publishing, design and television. These characteristics are well expressed in Web Project Management, a book by Ashley Friedlein:

  • development schedules shorter and more aggressive;
  • multiple projects to be managed simultaneously;
  • “cutting edge” technology;
  • no standard pricing models;
  • clients understand the medium and its parameters less well;
  • team members often perform multiple tasks and roles;
  • project manager is not always the main point of clients contact;
  • innovation is key objective for many web projects;
  • change is endemic.

Is web project manager synonymous of webmaster?

No. The web project manager is the professional responsible for the right execution (design, development, release) of a web project. Once a project is delivered the web project manager is no longer responsible. At this point the webmaster is in charge of the ordinary management of the site or application. Usually a web project manager works for a consulting company while the webmaster works for the same company that commissioned the project.

Does a web project manager work for the marketing or IT department?

The web project manager usually belongs to the IT or creative department. Reading some resumes or job proposal it happens that one can find the term “web marketing manager”. This label doesn’t identify the professional responsible of the project, but the one in charge of the marketing part of the site, the set of activities aimed to bring traffics toward the web site or web application. Sometimes the term “web project manager” is erroneously used to mean “web marketing project manager”.

Does a web project manager work only for mid-size or big companies?

No. A web project manager can work both for big and small companies. What can differ is the role of the web project manager in these different kind of companies.

In mid-sized or big companies the web project manager can work for project that last several months. In this specific case the web project manager has to possess a strong understanding of project planning and risk management because even the smallest problem can have a huge impact on costs.

In small companies the web project manager usually manages various projects at the same time, many of which can last for few weeks. In this case it’s important for the web project manager to be able to define roles and schedule team members ensuring that project resources are used effectively.

For these reasons a web project manager should underline his skills while writing a resume, specifying in detail roles and responsibilities.

Can a startup be interested in hiring a web project manager?

Yes and it’s self evident reading the findings from the web design survey held by the ezine A List Apart in 2007. Job title distribution by organization type, in particular, highlight that the greatest percentage of web project managers work for startups, followed by web and software agencies. A possible reason is that in working environments that require strong innovation skills, frequent releases and fast changing roadmaps, a management role is paramount.

How does web project management fit in an agile development environment?

Web project management finds its expression with different methodologies and development tecniques. It’s a project manager’s task to define, together with his team, the right method to follow and, when needed, its learning and widening.

Can a web project manager be responsible only for a part of the project, such as web design?

It depends. Usually a web project manager is responsible for the entire project’s life cycle, from its inception to the delivery. However, if his firm works only in the web design field, the web project manager obviously will be responible only for this part, that eventually will converge in a broaden project. This activity has however its own life cycle, that could end when templates are developed.

In well structured situations a web project manager can be in charge of a part of the entire project, while other colleagues can be in charge of other sections. In this case it can be that a gerarchic structure exists, with junior web project managers that report to senior web project managers.

What are the roles involved in building a web project?

It depends on the project, but usually the main roles, apart from the web project manager, are:

  • account manager – responsible for winning new business, he’s usually the first person the client meet;
  • webmaster – manages the site once it’s live;
  • information architect – build and organize the site’s architecture so that information is easily searchable and findable;
  • art director / web designer – responsible of the creative concept of the entire product;
  • analyst / developer – the professional that, together with the web project manager defines the technical standards to adopt and is responsible of the programming part;
  • editor / copywriter – chooses and writes the site contents;
  • consultants (marketing, usability, user experience, strategy, etc.) – professionals with particular expertise not found in the agency.

Other experts can help with the project delivery, such as testers, illustrators, database administrators, audio/video professionals, journalists, search engine optimizators, community professionals.

How much a web project manager has to master his team’s skills?

A lot. The ideal situation would be that the web project manager is able to build on his own some parts of the project and that he reserves time to do so. This would allow him to be up to date with current standards and solutions and to anticipate problems. Project planning skills can be improved too, even if it’s clear that the web project manager should ask his team to provide a detailed scheduling.

Does the web project manager work for a company or is he a freelance?

In most cases a web project manager works for the company he manages projects for. The main reason, considering that he’s a professional that works closely with other experts, is that the quality of the project depends on reciprocal people acquaintance. This approach is not profitable if the web project manager is a freelance.

Does a web project manager need to master Microsoft Project?

It depends. Some web project managers work with just Excel sheets while others prefer to build complex diagram in Microsoft Project. More than the tool what’s important is to keep these documents updates and share them. A detailed diagram kept in the web project manager’s drawer is useless, while a simple sheet of paper delivered every week to every member of the team is invaluable.

Is web project management a full-time job?

In small agencies it’s quite common that the web project manager works side by side with his team and helps developing small portions of code. This is the ideal working environment for him, because he has the opportunity to improve his technical skills too.

What’s the difference between management and leadership?

The answer to this question is well expressed in an article written by Mike Morrison. In short management skills are the ones required to manage people and resources to deliver a product or service while leadership skills are the ones required to engage with people and persuade them to ‘buy-in’ to a vision or goal.

Introduction to web project management

Update: I recently wrote the Web Project Management FAQs

If you look at my profile you’ll see that I work as a web project manager. But what does a web project manager do and, consequently, what is web project management?

A web project manager is a professional that deals with the management and coordination of a web project (site or application) from its inception to the delivery (and more, if a maintenance phase has to be considered). The web project manager is an all-accomplished figure as he gets in contact with the client, with the salespeople, with designers, with developers and with systems analysts; with – in other words – everyone involved in the project.

Compared to a project manager in the traditional software field, the web project manager usually works on pathways that have yet to be explored. Constant innovation, heterogeneous working groups, agile development methodologies are all variables that deeply influence his working behaviour.

It’s quite difficult to define exactly the skills of a “good” web project manager, but we can try to list them. A web project manager

  • is able to evaluate a project in terms of cost (infrastructure, people, content, maintenance), time (needed to design and develop the application and delivery date), quality (measuring it with quantitative metrics)
  • interact with the client. At the beginning of the project meetings are held with both the web project manager and a salesperson; subsequent meetings are managed solely by the web project manager together with the client. The web project manager is often the client’s only referent; that means he is also the only one responsible for delays/bugs/misunderstandings related to the project
  • works with a group whose members own very heterogeneous skills
  • masters communication skills: face-to-face, in a meeting, on paper. A web project manager can write documentation fluently, especially the requirements document and the project specifications. Sometimes a web project manager designs prototypes and wireframes
  • chooses the most appropriate professional figures for a particular project
  • is able to plan his team’s timeline even when there are concurrent projects in development
  • doesn’t just define costs and timings on his own, but knows when and what to ask to his team in order to obtain a detailed and shared forecast. He’s not a one man band.
  • he believes in group spirit, and cultivate it
  • promotes and rewards everyone’s success. The project manager suggests improvements in one’s professional skills when he thinks it’s time for something new and eventually is able to evaluate the achievement of agreed objectives
  • is conscious that problems can’t be avoided, but knows how to anticipate them. He is able to recognize them in advance, so they can be addressed before they turn into emergencies
  • defines how much space there is for innovation in a new project and when, instead is better to reuse consolidated solutions
  • finds and works with teams and freelances in outsourcing when internal resources have been already allocated (or are not enough skilled for the particular task)
  • knows how to design and develop most of the project on his own, even if with poorer results compared to his team. This allows him to estimate projects with good approximation and to understand his team’s problems and difficulties
  • understands when to accept compromises – budget constraints not always allow to build an excellent product

When the web project manager improves these skills, the quality of his work improves too. Using delegation in the right terms, for example, can lead to the development of new skills inside the team and can add more time to other opportunities for the web project manager himself.

The lifecycle of web accessibility

Nowadays, building a web site is a task that requires many different professional skills, each one with its own life cycle. Development, as we learned in some software engineering class, has a life cycle and so have usability, design and content.

However, when we discuss web accessibility, it often seems that this discipline comes into play only when we develop templates or write content.
Instead, this is rarely the case.

In this article we’ll divide the life cycle of web accessibility into 5 different phases and we’ll see how they are strictly interconnected with other disciplines such as graphic design, development and content management.

Please note that this cycle is not intended as a linear sequence of steps and that it focuses on skills rather than on people (because the same person can master more than one skill, especially for small size projects).

Requirement Analysis

What’s In This Phase?

During the requirement analysis phase you define the target audience of the site, the business expectations, the technical constraints and the user’s goals. You interact with your client to have an understanding of the site purpose and to know which resources and which tools are needed to build it.

Usually, if you’re doing a good job, you will prepare different scenarios. A scenario is a hypothetical representation of how a specific (imaginary) person will interact with the site, it contains a user profile (called persona) and a schedule of their typical day.

How Web Accessibility Comes Into Play

You need to define specific profiles of people that will use your site, being as detailed as you can. This means that you have to take into account people with a combination of disabilities that can be physical, mental or technological. An excellent example can be found reading Mark Pilgrim’s Dive Into Accessibility, a tutorial meant to help developers in building accessible web logs (and websites), where the author presents 4 different scenarios based on disabled people.

Which disability considered in your scenarios depends on the audience of your site, but bear in mind that a disabled person interacts with almost every kind of site. You could think, for example, that a blind person will never use a site that sells books, but this is far from being the truth. What if this person wants to buy a present for a friend? Can you afford to exclude him?

The scenarios you’ll write can affect several aspect of your project.
If you are redesigning a site, for example, you may decide to exclude previously written content from your site (because it’s totally non accessible) or to convert it in accessible format. This can have a huge impact on costs, so you have to take this decision at this early stage.
If you are evaluating a CMS, you may decide to adopt it or not depending on its support of accessible tags (you may even decide to build your own). What about your content providers? Do they have the required skills to produce accessible content or do they need training?

Conceptual Design

What’s In This Phase

Here you need to define the workflow and information architecture of the site. You will describe the way users interact with your site, how they move through the pages and how they achieve their goals. In this phase you will also structure, organize and label the content of you site, design the search functionalities and last but not least, define the navigational paths.

How Web Accessibility Comes Into Play

The purpose of this phase is to present an interface so that the user can easily use the site and find out what he’s looking for. Accessibility shouldn’t be taken for granted, just remember that you have to address specific needs.

A person affected by dyslexia, for example, may find it difficult to understand the labels you used for the menu bar. For the same reason, limit the number of items on a list and limit the length of a page as well.

On the other hand, a blind person using a screen reader lacks an overall picture of the page, so you have to organize content in a way that can provide him a short summary of what he can find. In this sense an effective search functionality is extremely important because a blind person can’t scan the page and will generally trust the first results he receives (usually, we all do).

A word of caution: don’t design an alternative text-only version of the site: disabled people are not second class citizens; they can and have the right to experience the same page as you do. Don’t forget that web accessibility is an additive process: you have to add things (accessible tags and attributes), not get rid of them. You can read more in an interesting article by Usability Infocentre.

Prototyping and Production

What’s In This Phase?

As you can imagine, this is the core phase. Here you build graphics and HTML templates, develop all the needed software applications and write the content for the site.

How Web Accessibility Comes Into Play

This phase is deeply affected by accessibility issues.

Graphic Templates

A web designer will translate inputs coming from the preceding phase into something that’s visually appealing. You are surely aware of the constraints about a graphic template that will eventually be translated in HTML by a web developer. But this is not enough. You have to know how to meet a disabled person’s expectations. Here is a non-exhaustive list of things to keep in mind:

  1. try not to use graphics for menu and forms if text can suffice (and, most importantly, don’t use small text on these graphics)
  2. use legible fonts
  3. don’t use small graphics if they are linked (they can be difficult to click)
  4. do not create precision layouts that need to be translated in HTML as fixed pages, prefer liquid layouts
  5. avoid using colors for meaningful descriptions
  6. use high contrast
  7. avoid hiding menu items (that will be rendered using DHTML or applets)
  8. don’t get rid of submit buttons in forms (that will require Javascript)
  9. provide enough space for accessibility-related items (transcripts, D links, skip navigation links, form labels, accesskey descriptions). In other words: don’t design to the pixel
HTML Templates

The work of a web developer is fundamental for assuring the required level of accessibility. The best choice is by far the adoption of standard such as XHTML and CSS (also for layout), but an accessible site can be built also with simple HTML. Whatever is your choice, the code must be valid. This means that you need the help of the graphic designer, because if they have built a very precise, complex and fixed template, you’ll have a hard time reproducing it using only valid markup.

When you build an HTML template you have to use all of the tags and attributes available regarding accessibility:

  1. when coding forms, use a rich set of tags to enhance accessibility
  2. make sure that all meaningful graphics have text equivalents
  3. don’t use DHTML, Javascript or Applet if it’s not strictly necessary (and if you use them, provide alternate access to the information)
  4. include links that a user can click to skip repetitive regions of the page
  5. use the right markup (don’t leave h1h6 on the shelves, use them)
  6. the page has to be read also if CSS are turned off
  7. use relative font size so a user can easily change them from the browser interface
  8. create a logical tab order through links
Application Development

Every application used for publishing content on the site has to accept accessible input and has to produce accessible output. This is especially important for applications like CMS.

If this system doesn’t accept alternative text and descriptions for multimedia (input), the page generated can’t be considered accessible. On the other hand, if it produces a questionnaire using non standard HTML or without description labels, the page can’t still be considered accessible. This is a key point for the accessibility of a medium/large scale web site.

You can spend a lot of time and energy developing accessible templates and content, but if the system doesn’t manage them, all your efforts will be vanished.

Content Development

As a content manager, you need specific skills to produce accessible content. First of all, you need to know how to write for the web, because this skill is strictly related to web accessibility: use a clear and simple language, write short sentences, use the active form whenever possible, and so on. You can find a valuable resource reading Hot Text – Web Writing That Works.

Concerning web accessibility, the list of things to consider seems intimidating:

  1. provide alternative text for images
  2. write audio captioning and transcription
  3. write video subtitling, captioning and transcription
  4. insert data table supplementary information
  5. use the right markup (paragraphs, heading, titles, keywords)
  6. produce content that validates
  7. use the title attribute whenever is applicable
  8. specify changes in natural language

The above are the minimum requirements, but a good content manager needs to possess a general understanding of semantic, so that content can be organized, archived and presented to the user in different ways.

Testing and Launch

What’s In This Phase?

Applications are evaluated to test their adherence to specifications and initial requirements.

How Web Accessibility Comes Into Play

Web accessibility of the entire site can’t be evaluated using automated applications, such as Bobby and A-Prompt. Yes, these tools can give you some suggestions and catch macroscopic errors, but testing accessibility is a human intense task.

Depending on your site, on your content and on your audience, your accessibility level can vary. Using different browsers such as screen readers, voice browsers, or text-only browsers, try to use your site keeping in mind your audience and their goals. Moreover, with the evolution of technology, be ready to refine your accessibility in the future and limit the use of "ad interim" solutions.

Maintenance

What’s In This Phase?

New content is added, new applications are built, new sections are opened.

How Web Accessibility Comes Into Play

Never forget that you have to check all your new initiatives with an eye towards accessibility. The risk is to slowly lose the accessibility of your site by way of non-accessible content, templates and applications. Every modification to your site, no matter how small, needs to be tested for accessibility.

You can’t imagine how easy is to transform an accessible site into an inaccessible one.