Program Management for Agile Product Development

59
program management for agile product development tathagat varma http://managewell.net

Transcript of Program Management for Agile Product Development

Page 1: Program Management for Agile Product Development

program management for agile product development

tathagat varmahttp://managewell.net

Page 2: Program Management for Agile Product Development

about me

• 21y software product learner• architect, engineering manager, pgm, gm, coach • telecom, datacom, medical, embedded, internet• cmm, iso, pmp, prince2, agile, scrum, kanban• think, do, learn, blog, talk, share

Page 3: Program Management for Agile Product Development

the world around us!

Page 4: Program Management for Agile Product Development

tech bubble?

Page 5: Program Management for Agile Product Development

adoption @ net speed!!!

https://lh4.googleusercontent.com/-SQ1ugOgu8Ds/TimaHjH0VpI/AAAAAAAAApU/za0BhEjhoio/w402/google%2Bplus%2Bgrowth%2B20mil.png http://thesamerowdycrowd.wordpress.com/2011/12/26/a-moment-of-our-time/

Page 6: Program Management for Agile Product Development

darwin at work on internet

http://www.flickr.com/photos/stabilo-boss/93136022/sizes/o/in/photostream/

2006 2009

http://rossdawsonblog.com/weblog/archives/2009/05/rapid_turnover.html

Page 7: Program Management for Agile Product Development

yet, our product development sucks!

http://blog.amplifiedanalytics.com/2011/07/musing-on-difference-between-successful-product-innovation/ http://www.nickblack.org/2009/10/how-brand-trust-affects-new-products.html

Page 8: Program Management for Agile Product Development

so, why do new products fail?

http://www.bioplanassociates.com/services/newproduct.htmhttp://www.innovarsity.com/products/bec_mc_npd.html

Page 9: Program Management for Agile Product Development

product innovation process at google

• Flat organization• Innovation culture• “Innovation Reviews” force management focus • Lean – Agile development, early release• Launch and iterate• Release 5 products and 2 of them will really take off• “Invitation” model buys time to scale

http://www.slideshare.net/anirudhoswal/google-new-product-development-process

http://evelynrodriguez.typepad.com/crossroads_dispatches/files/GoogleProductDevProcess.pdf

Page 10: Program Management for Agile Product Development

how facebook ships code• Developer-driven Culture

• Culture of speed – fast releases, fast feedback

• Project resourcing is purely voluntary -PM lobbies to engineers, Engineers decide which ones they want to work on

• Engineers handle entire feature themselves – front-end, back-end, etc.

• Mandatory code reviews

• No separate QA team. Engineers responsible for testing, bug fixing and maintenance of their own work

• Use user-sample data to settle argument

• Changes are released daily, often multiple times a day. New features released every Tuesday

• Fail fast but recover quickly

• Some slogans at Facebook

– Done is better than perfect

– What would you do if you weren’t afraid

– Move fast and break things

– Proceed and be bold

– HACK

http://framethink.wordpress.com/2011/01/17/how-facebook-ships-code /, http://c2reflexions.com/2011/03/23/how-people-and-process-enabled-facebook-to-become-a-phenomenal-company/

https://www.facebook.com/notes/facebook-engineering/keeping-the-site-reliable-while-moving-fast/10150277682538920, http://www.limitedwipsociety.ch/en/case-study.html

Page 11: Program Management for Agile Product Development

apple’s top-secret product development process

• Every product starts with Design• A start-up is formed• Apple New Product Process (ANPP)• Products reviews every Monday• EPM Mafia – absolute control on production process• Once a product is done, it is redesigned, built and

tested again• Small, Simple -> Add features and iterate

http://thenextweb.com/apple/2012/01/24/this-is-how-apples-top-secret-product-development-process-works/, http://www.macworld.com/article/151235/2010/05/apple_rolls.html

Page 12: Program Management for Agile Product Development

so, what are the “success factors”?

The Path to Successful New Products

#1: Keep it focused#2: Nurture a Project Culture#3: Talk to the Customer

Companies that did this were:

17x likely to be on-time5x likely to be on-budget2x likely to meet ROI targetshttps://www.mckinseyquarterly.com/The_path_to_successful_new_products_2489

Page 13: Program Management for Agile Product Development

is agile a solution?

http://blog.mountaingoatsoftware.com/agile-succeeds-three-times-more-often-than-waterfall

Page 14: Program Management for Agile Product Development

does iterating help?

http://viniciusvacanti.com/2011/12/12/when-do-you-throw-in-the-towel-on-your-struggling-project/

Page 15: Program Management for Agile Product Development

are small teams more productive?

http://drewcrawfordapps.com/2.0/the-agility-of-small-teams/

Page 16: Program Management for Agile Product Development

does colocation impact team performance?

http://sloanreview.mit.edu/the-magazine/2009-summer/50412/how-to-manage-virtual-teams/

Page 17: Program Management for Agile Product Development

is small batch size faster?

http://www.andrejkoelewijn.com/wp/2011/06/30/is-team-productivity-a-responsibility-of-the-product-owner/

Page 18: Program Management for Agile Product Development

does agile work as advertised?

Page 19: Program Management for Agile Product Development

software development life cycles

• Ad-hoc• Serial• Iterative• Incremental• Iterative/Incremental

Page 20: Program Management for Agile Product Development

risk management in SDLCs

Page 21: Program Management for Agile Product Development

notion of ‘progress’ vs. time

Page 22: Program Management for Agile Product Development

test-code-refactor loop

Page 23: Program Management for Agile Product Development

feedback loop in agile lifecycles

Page 24: Program Management for Agile Product Development

agile lifecycle – big picture

Page 25: Program Management for Agile Product Development

from daily builds to project

Page 26: Program Management for Agile Product Development

scrum

Page 27: Program Management for Agile Product Development

so, where and how does program management fit in this?

Page 28: Program Management for Agile Product Development

project vs. program managementArea Project

ManagementProgram Management

Focus Non-strategic StrategicObjectives Singular MultipleExtent of Change Narrow BroadBenefits Realization Once IncrementalDeliverable Complexity

Low High

Deliverable Quantity Few ManyOverall Time Scale Rigid LooseScope Change Exceptional DesirableFunctional Diversity Minimal MultidisciplinaryFrom “Program Management Complexity”

Page 29: Program Management for Agile Product Development

program management issues

• Competencies– Professional Competencies– Foundational Personal Competencies– Critical Competencies

• Process Framework• Org Structure

Page 30: Program Management for Agile Product Development

what is a program?• a group of projects related through the

common outcome or collective capability. If the relationship between projects is only that of a shared client, seller, technology or resource, the effort should be managed as a portfolio of projects rather than a program

• Programs may include elements of related work outside the scope of the discrete projects in the program

Page 31: Program Management for Agile Product Development

program management• Program Management is centralized coordinated management of a

program to achieve program’s strategic objectives and benefits that are not available from managing the sub-projects individually

• Program Management focuses on the project interdependencies and helps to determine the optimal approach for managing them. Action related to these interdependencies may include:– Resolve resource constraints and/or conflicts that affect multiple projects

within the system– Align organizational/strategic direction that affects project and program goals

and objectives– Resolve issues and change management within a shared governance

structure

Page 32: Program Management for Agile Product Development

competencies

Levin-Ward Program Management Competency Model

Page 33: Program Management for Agile Product Development

professional competencies

Page 34: Program Management for Agile Product Development

defining the program• Strategic benefits of the program are understood

by all stakeholders• A plan to initiate the program is prepared• The program’s objectives are aligned for the

program• A number of stage gates or check points are

identified when program status (including benefits realization) will be reviewed

Page 35: Program Management for Agile Product Development

initiating the program

• A program charter is prepared• The program vision is documented to describe the end state and its benefits to the

organization• Key program decision makers are identified• Stakeholders’ expectations and interests are identified• High-level risks to the program are identified• Candidate projects to be in the program, as well as non-project work, are identified• An initial infrastructure for program management is determined• The timetable to complete the program is determined• Initial estimates of the program’s cost are prepared• Key resources for program management are identified to set up the program• The program charter is approved

Page 36: Program Management for Agile Product Development

planning the program• A program management plan is prepared• A benefits realization plan is prepared• Key program risks and issues are identified• The program’s budget is determined• Dependencies, constraints, and assumptions are documented• A strategy to manage the program and its components is agreed upon and documented• Necessarily feasibility studies are conducted• A roadmap or architecture showing the interrelationships among the component projects and non-

project work in the program is prepared• A communications strategy for each key stakeholder is determined• A Program Management Office (PMO) is approved and implemented• Tools, processes and techniques required for program management are obtained• The program management plan is approved and implemented• A program management governance structure is determined• A program control framework is established to assist in benefits measurement as well as in overall

management of the program’s components

Page 37: Program Management for Agile Product Development

executing the program• Projects are initiated as part of the program• Shared resources required for component projects and the non-project work are

coordinated• Change request are reviewed• Additional work is authorized as required• Communication with stakeholders is fostered and encouraged at all levels• Communication with members of the Program Governance Board occurs on a

regular basis• Alignment of the program’s goals and benefits is assessed against that of the

organization• Common activities among the program’s projects and non-project work are

coordinated• Dependencies with other organizational initiatives are coordinated• The program management plan is executed

Page 38: Program Management for Agile Product Development

monitoring and controlling the program

• Progress is analyzed according to the program management plan• Benefits realization is analyzed according to the benefits realization plan• Issues and risks are continuously identified, and corrective actions are taken as required• External environmental changes are analyzed to determine possible impact on the program and its

realization of benefits• Governance oversight is regularly practiced at the program and project levels• Program changes are implemented in accordance with established integrated change control

procedure• Program execution is monitored according to the program management plan• Schedule slippages and opportunities are identified and managed• Proactive cost control is practiced• Stakeholder expectations are managed• Performance data are considered to determine appropriate resource to deliver benefits• Components transition to closure

Page 39: Program Management for Agile Product Development

closing the program• The program is formally closed• Products and services transition to operations• Program benefits are realized• Customer support is provided, as applicable• Lessons learnt are integrated into the organization’s knowledge

management system• Feedback is provided on areas outside the scope of the program• Program documents are archived for reuse• Contractual obligations are met• Intellectual property is captured for reuse• A legacy of benefits sustainment is achieved

Page 40: Program Management for Agile Product Development

personal competencies

Page 41: Program Management for Agile Product Development

communicating

• Actively listens, understands, and responds to stakeholders

• Uses the key channels of communication• Ensures the quality of the information that is

communicated• Tailors the information to the audience• Effectively uses each of the different

communications dimensions

Page 42: Program Management for Agile Product Development

leading

• Implements the program’s vision• Establishes the program’s direction• Recognizes the interdependencies within the

program• Takes calculated risks; is venturesome• Assumes ownership of the program

Page 43: Program Management for Agile Product Development

building relationships

• Builds trust among stakeholders, clients, and team members• Leverages the organization’ political dynamics to promote

program goals• Advocates for diversity and treats others with courtesy and

respect• Establishes and demonstrated high standards for personal

and team member performance• Promotes and demonstrated ethics, integrity, and adherence

to corporate values in all interactions

Page 44: Program Management for Agile Product Development

negotiating

• Obtains needed program resources• Ensures program alignment with the

organization’s strategies• Works proactively with the Program

Governance Board• Promotes overall stakeholder support

Page 45: Program Management for Agile Product Development

thinking critically

• Conducts ongoing analyses to identify trends, variances, and issues

• Applies fact-based decision making to current and prospective issues

• Works proactively with the Program Governance Structure that provides for decision making at the appropriate levels

• Constructively challenges common beliefs and assumptions – always looking for a better way

Page 46: Program Management for Agile Product Development

facilitating

• Plans for success from the start of the program

• Ensures that all team members work together to achieve program goals

• Effectively resolves issues to solve problems• Effectively handles personal and team

adversity

Page 47: Program Management for Agile Product Development

mentoring

• Supports mentoring for program team members

• Establishes a formal mentoring program• Supports individual and team development

activities• Recognizes and rewards individual and team

accomplishments

Page 48: Program Management for Agile Product Development

embracing change

• Establishes an environment receptive to change

• Influence factors that may result in change• Plans for change and its potential impact• Manages changes when they do occur

Page 49: Program Management for Agile Product Development

critical competencies

• Initiative• Managing at Interfaces• Leading without Authority

Page 50: Program Management for Agile Product Development

scale of initiative

Level 1: Wait

Level 2: Ask

Level 3: Recommend

Level 4: Act independently but report Immediately

Level 5: Act independently and report routinely

Page 51: Program Management for Agile Product Development

managing at interfaces

• “agency theory”• Collective outcomes more important than individual

outputs• Optimize “whole” and not just the “parts”• Even more critical with self-organizing agile teams• Move away

– from “back-seat driving” to trusted coalition– from pushing dependencies to facilitating

interdependencies

Page 52: Program Management for Agile Product Development

leading without authority

• Leading with influence

• Key is to establish credibility

• Move away from “command and control” to collaboration

Page 53: Program Management for Agile Product Development

process framework

Page 54: Program Management for Agile Product Development

agile pmo

http://fastfrontier.com/services/

Page 55: Program Management for Agile Product Development

process framework considerations

• Align top-down strategic planning and bottom-up project planning

• Create adequate visibility for senior stakeholder• Need not be built for 100% pure methodologies• Focus on early feedback loops and move away

from ‘compliance to plan’ to ‘inspect and adapt’

Page 56: Program Management for Agile Product Development

org structure considerations• Individual vs. Team performance and rewards• How do you redeploy existing managers?

– Scrum masters?– POs?– Who does people management and admin?

• Does every team need a PgM?• Is PMO = Scrum of Scrums?• Is PMO = Agile Coach?

Page 57: Program Management for Agile Product Development

conclusions• Conventional product development approach fails to

meet current challenges• Agile product development (in some shape or form)

are here to stay• Program management is all about leading without

authority to create collaboration among component teams by managing at interfaces

• Skill is far more important than any process• “Horses for courses” is more effective than a “one size

fits all” process

Page 58: Program Management for Agile Product Development

further reading• Manage It! – Johanna Rothman• Program Management Complexity: A Competency Model – Ginger Levin and J. LeRoy

Ward• The Agile PMO – Adrian Quinney• An Agile PMO – Mike Griffiths• PM at Microsoft – Steven Sinofsky• Agile Program Management Best Practices – Pete Behrens• Agile Program Management: Another Approach to Large Project – Johanna Rothman• Project Management vs. Program Management – Tathagat Varma• What are the Program Management Competencies – Tathagat Varma

Page 59: Program Management for Agile Product Development

connect

Twitter: @tathagatvarmaBlog: http://managewell.net

Email: [email protected]: http://slideshare.net/managewell