Agile Snippets 1

19
David Geoffrey Litten Agile Primer Agile Easy Read Snippets - Book 1 Agile Snippets

description

Study material for Agile project managers.

Transcript of Agile Snippets 1

  • David Geoffrey Litten

    Agile Primer

    Agile Easy Read Snippets - Book 1

    Agile Snippets

  • Agile Easy Read Snippets BOOK 1

    CasaBlanca Publishing 2014 |www.agileprojectmanagementprimer.com | agile easy read snippets 2

    The origins of DSDM Atern and Agile.

    The DSDM consortium which was formed in 1994, resulted

    from a need for a different approach to software

    development. This was in two main areas; the first was for a

    quicker method, and the second was to develop a scalable and

    maintainable form of software applications that was suitable

    for current business requirements.

    The DSDM consortium harnessed the knowledge skills and

    experience of various organizations, business users and consultants to help develop this new

    approach.

    Modern organizations need to develop and build such applications quickly in order to respond

    to change, and to actively involve representatives from the business so that they too were

    committed to the change from the outset.

    This new method and its techniques were based upon a documented and repeatable lifecycle

    harnessing an iterative development approach.

    Accordingly, DSDM Atern and was launched in April of 2007.

    The focus of DSDM Atern is on delivery of early business benefits, and since its launch, it has

    been enhanced for various types of project, including those with no technology elements.

    DSDM Atern is an agile project delivery framework for business solutions and is appropriate for

    all types of project, not just software development. This framework is able to support both the

    development and deployment of high speed, high quality business solutions in increments that

    deliver within tight timescales.

    DSDM Atern and agile project management have the priority to deliver business value to the

    customer on time, on budget and to the right quality rather than delivering against a fixed

    and rigid specification.

    To do this, time and cost are fixed within an agile project management project, while the

    functionality and features to be delivered are flexible.

    A major misunderstanding about an agile project is that project management is no longer

    needed, and therefore agile is best applied to small and simple undertakings. This incorrect

  • Agile Easy Read Snippets BOOK 1

    CasaBlanca Publishing 2014 |www.agileprojectmanagementprimer.com | agile easy read snippets 3

    assumption leads to another error, and that is than organization must use either agile or

    traditional project management.

    A fact that his little known is that DSDM Atern was originally designed to integrate with the

    PRINCE2 methodology. DSDM Atern can be used straight out of the box allowing

    organizations two that simply adopt this tried and tested approach.

    If an organization already uses PRINCE2, then adopting agile project management will enable

    them to harness the power of both and hence provide a complimentary best practice set of

    processes.

    Both agile project management and DSDM Atern have a formally recognize certification process

    which case the development of professionalism as part of an individuals professional

    development.

    The Agile project management certification provides both foundation and practitioner levels

    which allowed an individual to progress from a basic level to a more advanced level.

    Project managers will be able to develop their agile management skills because agile project

    management training is based on best practice, and allows that individual to have a different

    set of management skills and experience when applying for agile project management

    positions.

    DSDM Atern uses five key techniques to do this:

    MoSCoW prioritization

    Facilitated workshops

    Iterative development

    Modeling and prototyping

    Timeboxing

    DSDM Atern also has a considerable life cycle which is designed to create frequent product

    delivery, iterative and incremental development, and active business involvement plus only

    delivery of business benefits.

  • Agile Easy Read Snippets BOOK 1

    CasaBlanca Publishing 2014 |www.agileprojectmanagementprimer.com | agile easy read snippets 4

    The Seven Phases of the DSDM Atern lifecycle:

    Pre project

    Feasibility

    Foundations

    Exploration

    Engineering

    Deployment

    Post-project

    There is flexibility in applying the above phases, for example the feasibility and foundations

    phases may be combined. In addition, there are various permutations of how the exploration

    and engineering phases are used within a given project time frame.

    DSDM Atern has a philosophy that any project must be aligned to clearly defined strategic

    goals, and be focused on early and frequent delivery of business benefits.

    In addition DSDM Atern defines EIGHT principles which are fundamental to successfully

    applying both the approach and its philosophy.

    The Eight Principles of DSDM Atern:

    Focus on the business need

    Deliver on time

    Collaborate

    Never compromise quality

    Build incrementally from firm foundations

    Develop iteratively

    Communicate continuously and clearly

    Demonstrate control

    DSDM Atern also describes a set of defined roles and responsibilities at both the project and

    the solution development team levels:

    Project level roles: The business sponsor, the business visionary, the project manager, and the

    technical coordinator.

    Solution development team roles: Team leader, business ambassador all, business analyst,

    solution developer, solution tester, and technical adviser.

  • Agile Easy Read Snippets BOOK 1

    CasaBlanca Publishing 2014 |www.agileprojectmanagementprimer.com | agile easy read snippets 5

    Agile methodology.

    The term agile methodology is derived from a set of techniques and methods that have the

    following characteristics:

    Development of the products occurs within multiple iterations and this is called iterative

    development

    The culture and methodology is based upon simplicity and transparency

    A flexible approach is taken dependent upon the project situation

    Self-empowered, cross functional, and self-organizing teams

    Working useful products are used as a measure of progress

    Project management approach is empirical and constantly adjusted based on experience

    This last bullet describing an empirical approach in agile means that everyone involved

    understands the process and makes contributions to its being refined.

    For this to work, independent inspection of each product by suitably skilled individuals must

    occur in order to identify any variances from the acceptance criteria. This further infers that

    the solution development team must adapt and adjust quickly to minimize further product

    deviations.

    As you might expect, there are various approaches that could be considered agile. But the main

    three that are generally recognized as agile are; lean software development, extreme

    programming (XP), and scrum.

    The Downfall of Waterfall.

    Traditional projects, in stark contrast to agile methodology based projects, use the so called

    waterfall approach. Since water cannot fall uphill, this approach is based on the fact that as

    each step in the process is completed and reviewed, the project is either stopped or continues.

    Going back to a previous step is forbidden.

    The waterfall approach was first used as a method for materials procurement during World

    War II and was adopted by early computer developers back in the 1950s and 1960s.

    By the 1970s a Dr Royce published the following diagram which clearly shows the derivation of

    the term waterfall:

  • Agile Easy Read Snippets BOOK 1

    CasaBlanca Publishing 2014 |www.agileprojectmanagementprimer.com | agile easy read snippets 6

    The above diagram suggests that each process step is done in strict sequence, but that is not

    the fall set of information that Dr. Royce described! He actually added the fact that in the case

    of a project where the product was being developed for the first time, that the version

    deployed by the customer should be the second version which of course means that his

    intention was that the waterfall method should be iterative in nature:

  • Agile Easy Read Snippets BOOK 1

    CasaBlanca Publishing 2014 |www.agileprojectmanagementprimer.com | agile easy read snippets 7

    Returning now to the agile methodology, there is a great deal of common ground between the

    three approaches of lean, extreme programming, and scrum. These can be summarised as part

    of the agile manifesto and the twelve agile principles

    Each approach includes engaging everyone, using the entire team, and applying the principle of

    collective ownership within a cross functional solution development team.

    In addition, the emphasis is upon optimizing the whole team within a test driven development

    harnessing continuous integration product increments. The approach is also summarize fast

    delivery via small releases using between one and four week sprints.

    Agile principles of project management and methodology

    The role of the project manager within an agile project has

    significant methodology differences as compared with the project

    manager on a traditional project. For a start, the project manager

    does not plan the project in detail at the beginning, but rather,

    creates a high-level plan with the intention of adding more detail at a later point.

    The second difference for an agile project manager is that they will use different techniques

    and tools to track progress. But the main difference lies in the way in which the project

    manager manages the team within an agile methodology.

    An agile project has a role called a team leader who plans and he or she manages the detailed

    creation of the products within each Timebox. With SCRUM, this is called a Sprint.

    The project manager on an agile project is there to ensure that the empowered solution

    development team has a suitable environment within which to develop the products. The

    project manager is also there to minimize interruptions to the teams work and to act as an

    escalation path for any risks or issues which may arise.

    So the agile project manager must make sure that the solution development team can be

    productive and to increase their efficiency and effectiveness throughout the Agile project

    methodology and lifecycle.

  • Agile Easy Read Snippets BOOK 1

    CasaBlanca Publishing 2014 |www.agileprojectmanagementprimer.com | agile easy read snippets 8

    The project manager is responsible for communication and for ensuring that information about

    the projects progress is available to stakeholders while minimizing interruptions to the solution

    development team.

    As a mindset, the project manager must keep their focus to always welcome changing

    requirements to the project, no matter or at what point during the life cycle that they arise.

    The benefits of adopting Agile Management and Methodology

    Agile minimizes early planning by creating high-level planning documents allowing

    development to start earlier than in a traditional project would, and hence bring projects in on-

    time with the added benefit of project cost savings.

    The management overhead caused by the project manager having to spoon-feed the work

    packages to the development teams is removed because the development teams are self-

    empowered, self-organizing, and self-managing. This allows the Agile project manager to focus

    on ensuring that the teams can work efficiently and effectively as well as removing any

    distractions from them doing so.

    Choosing an Agile Management and Methodology will significantly lower the risk of time and

    cost overruns, because an agile development team plans and determines how much work they

    can accomplish within a Timebox and iteration, they are fully committed and empowered to on-

    time delivery, and this of course is reflected upwards so that the

    project also comes in on time.

    Due to the power of prioritization, an agile project delivers the

    minimum necessary in order to meet the project and business

    objectives, rather than meet a typically bloated set of requirements

    or specifications of a traditional project.

    This typically results in less documentation, fewer meetings, less formal communication

    replaced by a speedy informal communication, and of course it also minimizes the development

    work.

    Similar to the above point, because documentation is kept to a minimum level by making sure

    that it is just sufficient, more time is available by the development team and the project

    manager to focus on developing the products / deliverables of the project.

  • Agile Easy Read Snippets BOOK 1

    CasaBlanca Publishing 2014 |www.agileprojectmanagementprimer.com | agile easy read snippets 9

    An Agile Methodology uses the approach of iterative and incremental product creation and

    delivery, and that the lower level, this is carried out within each development Timebox typically

    lasting only a few weeks.

    Because prioritization is used to allow dropping the lower prioritized features, then each

    Timebox can guarantee it will finish on time by delivering the minimum usable subset of the

    requirements.

    In this way, if Timeboxes deliver on time, then so do the increments, the project phases or

    stages, and indeed eventually, the project itself.

    Because such planning, requirements prioritization, product development, testing and

    demonstrating occurs within each Timebox and increment, this significantly lowers the risk of

    product development veering in the wrong direction, or worse, delivering a product that is not

    what the business needs.

    Because of the approach used in an agile project, the development pace tends to be fairly

    consistent mainly due to the active involvement of business representatives, early delivery of

    benefits, and frequent demonstrations of the product being acceptable to the business.

    Compare this to a traditional project, where often in an attempt to meet an unrealistic and

    bloated set of requirements and specifications (not to mention unrealistic milestone delivery

    dates), forces the development team to work longer and unrealistic hours in order to meet such

    targets.

    In summary, the job of an agile project manager working within an agile project consists of:

    Producing documentation that is just sufficient

    Supporting the solution development team

    Minimizing any non-development tasks

    The creation of simple status information by the team themselves rather than time

    consuming calculations by the project manager

    By encouraging the need for change whenever needed

    Using just in time prioritized requirements to minimize change rework and wasted effort

    Using the solution development team to create realistic schedules targets and goals

    By keeping external disruptions to the development team and allowing them to only

    work on relevant products

    Early delivery of prioritized products that will realize early benefits to the business and

    hence enhance return on investment

  • Agile Easy Read Snippets BOOK 1

    CasaBlanca Publishing 2014 |www.agileprojectmanagementprimer.com | agile easy read snippets 10

    Agile Scrum Master Role.

    Scrum is the most popular agile method when carrying out a software

    development project, with the Agile Scrum Master performing a key role

    within the project organization. And since Agile has evolved from software

    projects, it is natural that the Agile Scrum Master role remains center-stage.

    But like most methodologies, agile continues to evolve. Today, mainly due to

    the excellent work carried out by the DSDM Consortium, agile can now be

    used on any type of project within any industry.

    It is natural therefore, that the role and responsibilities of the Agile Scrum Master is often split among

    several roles depending upon the nature of the project.

    Since the development of the Agile Project Manager qualification (developed in partnership between

    the DSDM Consortium and the APM Group), an evolved set of role names have developed.

    Scrum is an iterative approach and uses the sprint as its term for iteration. A scrum team uses

    inspection throughout the project to ensure that the delivery goals of the project are met.

    However, there is a relationship between the many disciplines used under the flagship term of agile:

  • Agile Easy Read Snippets BOOK 1

    CasaBlanca Publishing 2014 |www.agileprojectmanagementprimer.com | agile easy read snippets 11

    Here, you can clearly see that Scrum fits neatly at the Team Management level. Of course, the Solution

    Development Team creates the products or deliverable of the project.

    DSDM straddles all disciplines, dipping into project management.

    But the piece that was always missing was the harnessing of the project management discipline and co-

    coordinating that downward into the solution development team.

    Further, the disciplines needed to work together for any type of project as well as just software/IT

    projects.

    The perspective of Scrum:

    An Agile Scrum Master, sometimes called a project facilitator, is responsible for supporting the solution

    development team, clearing organizational roadblocks, and keeping process is true to agile principles.

    A scrum master is a servant-leader who ensures that the solution development team is fully functional,

    efficient and productive, and as such is an enabling role rather than an accountability role.

    A servant leader is a role who leads by removing obstacles and distractions while helping the rest of the

    team carry out their responsibilities. Leaders on agile projects help to find solutions rather than

    assigned tasks.

    The scrum master has the following responsibilities:

    Coaches the project team to adhere to scramble use and practices

    Shields the development team from external interference

    Helps remove project impediments

    Fosters close cooperation between the scrum team and others stakeholders

    Facilitates consensus building within the scrum team

    The product owner / business ambassador

  • Agile Easy Read Snippets BOOK 1

    CasaBlanca Publishing 2014 |www.agileprojectmanagementprimer.com | agile easy read snippets 12

    The Agile Scrum Master personal skills.

    Must be an expert on scrum processes and passionate about agile techniques

    A good communicator and listener

    Has organizational influence and able to resolve problems quickly

    Understands the facilitation techniques to help reach group agreement

    Ensures the development team have the right information and tools to track progress

    In this way the members of the scrum team, the solution development team, the product owner, and

    the scrum master work closely together on a daily basis throughout the project.

    Product Owner / Business Ambassador.

    It is worth mentioning this role, sometimes called the customer representative, and they manage the

    relationships between the customer, business stakeholders, and the solution development team

    The Product Owner must be an expert on the products including the customers needs and

    priorities. The product owner is a member of what might go sure if what you want it I knew a mark of

    the work to do the solution development team, and make decisions about what the product scope

    including what products and when deployment is to be made into the life business area.

    The Agile Scrum Master role options

    With the creation of the agile project management handbook some two years ago, agile has evolved to

    suit any project with in any environment, leading to splitting the roles into a project level and solution

    development team level organization.

  • Agile Easy Read Snippets BOOK 1

    CasaBlanca Publishing 2014 |www.agileprojectmanagementprimer.com | agile easy read snippets 13

    The following diagram (also known as the alien baby due to its shape) shows how the agile roles have

    evolved:

    Here, it could be argued that the Agile Scrum Master role has been shared between several other

    roles. However, this does not stop for a single individual from taking these roles on as an individual.

    The challenge has always been finding a single individual who has the necessary knowledge, skills, and

    experience to carry out the agile scrum master role.

    Splitting the responsibilities into more than one role therefore, makes sense as it shares these attributes

    among the solution development team.

    Here then, are the roles that COULD share the title of agile scrum master:

  • Agile Easy Read Snippets BOOK 1

    CasaBlanca Publishing 2014 |www.agileprojectmanagementprimer.com | agile easy read snippets 14

    Project Manager.

    This role provides high-level management direction to the solution development team and focus is on

    optimizing the teams environment, removing distractions, planning and managing at a high-level, and

    being delivery focused.

    The role includes communicating with senior management, planning and monitoring progress at the

    project-level, providing resources, and handling any escalated problems or issues from the team.

    Team leader.

    This role reports to the project manager and is responsible for ensuring that the solution development

    team functions effectively and efficiently while meeting their product deliverable objectives.

    The team leader plans and co-ordinates all aspects of product delivery at the detailed level, and is a

    leadership rather than management role.

    Business Ambassador.

    This role represents the business area being addressed and as such represents those who will make

    direct use of the solution. The role must ensure that the products are fit for business purpose and is

    responsible for the day-to-day communication between the project and the business.

    DSDM Coach.

    This was formerly called the Agile Coach, but now more correctly is focused to help the team get the

    most out of the DSDM approach.

    Summary.

    As you can see from the above diagram, the environment of agile has evolved and matured to both

    recognize and include various disciplines within any project or endeavor.

    Since the term Agile Scrum Master was derived from the use of agile for software development projects,

    it quite rightly continues to be used.

  • Agile Easy Read Snippets BOOK 1

    CasaBlanca Publishing 2014 |www.agileprojectmanagementprimer.com | agile easy read snippets 15

    However, as more definition has evolved around the roles used within a full blown generic Agile project,

    the Agile Scrum Master role may need to be shared between several individuals, working closely

    together throughout the project, and contributing their own knowledge skills and experience towards

    that of an agile scrum master.

    Agile Testing Approaches

    Agile testing adheres to the Atern principle of never

    compromise quality and it takes place within the project

    lifecycle.

    In a traditional project testing is usually done as the last

    phase before product deployment, and some features are

    therefore tested many months after they were created.

    In an agile project, testing is a daily part of each Timebox and increment (also known as a

    sprint), where the creation of such products is not started until the acceptance criteria for that

    product is first determined and agreed. In this way, agile testing has a far higher success rate

    than when it is done during the last phase of a traditional project.

    Testing is often a project's largest unknown risk and for this reason agile testing is carried out as

    soon as a complete or partial product is made available.

    Errors, defects or bugs are more expensive due to the amount and complexity of rework fixes

    when discovered towards the end of a project and hence traditional projects have more

    inherent risk of cost and time overruns. Whereas in an agile project you can test riskier

    features in earlier Timeboxes and increments and therefore do so at a point when had sunk

    costs are still low.

    In addition, defects are much easier to find when testing smaller amounts of work as well as

    being easier to fix when discovered shortly after the product was created.

  • Agile Easy Read Snippets BOOK 1

    CasaBlanca Publishing 2014 |www.agileprojectmanagementprimer.com | agile easy read snippets 16

    Agile testing concepts.

    Fail fast. It is far better to identify and fixed defects within the early phases of an agile project

    and for this reason, early testing via reviews and inspections should occur during the

    foundations, exploration and engineering phases.

    The product does not need to be fully complete be for testing can occur and hence the

    opportunity to find defects early is enhanced.

    Regression testing should be carried out following any changes or defect fixes, and Integration

    testing should be carried out as soon as there is something to integrate rather than waiting

    until a larger or final integration point.

    Short development iterations limit the number and complexity of features and in this way

    makes the whole or partial product easier to test. For this reason, the testing strategy should

    be thought through during early planning to ensure that each increment and Timebox is not too

    complex in terms of product creation and testing.

    The agile solution development team has a solution tester assigned since the knowledge, skills,

    experience, and preference will be different from those creating the products to those testing

    it.

    It is important that whenever possible, that those who fill the roles within the solution

    development team should remain constant so there is a strong empathy between developers

    and testers.

    With the agile project management, the solution development team creates each product

    against its prioritized requirements and I want to fix any problems or immediately rather than

    trying to remember how to test and fixed defects on a deliverable that was created many

    weeks or months previously.

  • Agile Easy Read Snippets BOOK 1

    CasaBlanca Publishing 2014 |www.agileprojectmanagementprimer.com | agile easy read snippets 17

    Agile Testing within Timeboxes and Increments (sprints).

    Agile testing can take place within any of the three iterative steps contained within a timebox;

    investigation, refinement, and consolidation:

    Each of these steps is conducted in an Iterative manner giving opportunities for early testing.

    Agile testing will also happened at the end of each increment, after say, several Timeboxes have

    been completed, and this is often an opportunity to perform integration testing.

    There are limitless sequences with regard to the time frame of Timeboxes and increments, and

    hence every project should have a defined testing strategy which will take cognizance of one of

    Agiles major strengths, and that is to deploy higher priority products early in to the appropriate

    life business area.

    For the same reasons, the requirements or features will have been prioritized using the

    MoSCoW approach, and so it makes sense to test the higher priority features/products first.

    This in and of itself, reduces project risk.

    In a similar manner, some tests will significantly reduce the risk of a product being deployed

    within the life business area, while other tests have less risk. For this reason, products with a

    high risk should be tested first.

    Wherever possible, tests should be made repeatable as it is likely that each test will be run

    more than once for each product before it is accepted by the customer. All tests along with the

    acceptance criteria are specified for a given product before it is created.

  • Agile Easy Read Snippets BOOK 1

    CasaBlanca Publishing 2014 |www.agileprojectmanagementprimer.com | agile easy read snippets 18

    One of the key techniques for an agile project is the use of facilitated workshops, and these can

    be used very effectively for agile testing. Examples of the use of workshops include:

    For final fast inspections and walk-throughs of processes, documentation and modeling

    To create agile testing documentation such as the business testing strategy

    To resolve and repair any defects found during testing

    As a risk assessment workshop to prioritize associated tests against product risks

    Did you know that an Agile Project Manager can command up to 30% more salary?

    Find out what it takes with my

    Agile Project Management Primer!

  • Agile Easy Read Snippets BOOK 1

    CasaBlanca Publishing 2014 |www.agileprojectmanagementprimer.com | agile easy read snippets 19

    Check out more of my quality downloadable Project Management Video Training Products:

    http://www.AgileProjectManagementprimer.com (Pass the new APM/DSDM Agile

    Foundation and Practitioner exams)

    http://www.pm-primer.com (Pass the prestigious PMP Exam)

    http://www.prince2primer.com (Pass Your PRINCE2 Exam First Time!)

    http://www.directingaproject.com (Learn the Art of Advanced PRINCE2 Governance)

    http://www.project-management-primer.com (Introduction to Project Management)

    http://www.apmic-primer.com (Introductory Certificate exam for the APM)

    http://www.msproject2010primer.com (Master MS Project 2010!)

    http://www.taskpack.com (Hone your personal task assignment skills)

    and coming soon

    http://www.apmpforprince2practitioners.com

    (Conversion course for PRINCE2 Practitioners get take the simpler/reduced APMG

    exam and become an Accredited Project Manager!)

    http://www.LeanSixSigmaPrimer.com (Champion Six Sigma in your Organization)

    I look forward to working with you in the near future!

    Dave Litten