Project Management

Taking the Plunge

by
In case you actually read this description, the beginning of the blog is about preparing for the PMP exam. It then evolved into maintaining my credential. While maintaining relevant credentials is important, it doesn't make a good long-term topic. Watch for experiments, some serious topics as I try out new things and "take the plunge", and maybe a little bit of fun.

About this Blog

RSS

Recent Posts

Whose Idea Is It, Anyway?

Rejuvenating Your Career

Which Certification Should YOU Get Next?

Volunteering and Change

My AI Writing Experiment - Conclusion

Categories

Agile, Artificial Intelligence, Business Acumen, Career Development, Certification, communication, Exam Prep, Influence, Information Technology, Innovation, Job Duties, Lessons Learned, PDU, PMP, Project Management, volunteering

Date

Flavors of Agile - Feature Driven Development

Categories: Agile

linkedin twitter facebook Request to reuse this  

Unlike some of the other flavors of Agile, Feature Driven Development (FDD) is intended for larger teams, anticipating that team members will have disparate experience and maturity levels.  The latest FDD processes can be found here, if you don't mind reading ten pages of process reminiscent of the PMBOK.  Or you can keep reading, here. I can't promise it won't be dry, but it's less than ten pages.

FDD is built around five processes, the first three are done before development work begins (shh, don't say Sprint '0'), while the last two cover design and development:

  1. Develop an overall model - don't let the name fool you; this is not big up front design.  The model is a living artifact that identifies tasks and quality checks, and is used to discuss, challenge, and clarify requirements.
  2. Build a features list - features are small, client valued functions that typically take 1-3 days to implement.  They may take up to 5 days, but never 10 or more.  The Features List is organized into three levels, broken down by Areas, Activities, then Features.  Between you and me, this sounds a little bit like a work breakdown structure.
  3. Plan by feature - Sequence the work, create an initial schedule, and assign responsibilities.
  4. Design by feature - collaborative analysis and design of the features for an iteration, concluded by a design review.
  5. Build by feature - Coding, unit testing, feature testing, code inspection, and build

Primary FDD Roles are:

  • Project Manager - the administrative lead for the project
  • Chief Architect - owns overall design of the system, responsible for collaboratively facilitating the system design
  • Development Manager - manages day-to-day resource assignments and development activities. May be combined with Project Manager or Chief Architect.
  • Chief Programmer - experienced developers who lead feature teams and facilitate iterations.
  • Class Owner - experienced developers
  • Domain Experts - people with deep business knowledge who provide input into tasks the system is required to perform.

There are also several supporting roles that may, or may not, be needed based on the size of the project.

In addition to having a Project Manager (gasp) and a hierarchical team structure, there are more practices of FDD that make it different from other flavors of Agile:

  • Feature teams consist of 3 to 5 people who own the classes they are working on, so that there are no dependencies between teams.  You can expect there to be multiple feature teams on an FDD project, unless it is a small project.
  • Team members (or Class Owners) may be on more than one team at a time.
  • While iterations may last up to two weeks, they may only last a few days.  They are not fixed length, and the start and finish of one iteration by one Chief Programmer may not line up with the start and finish of an iteration being run by another Chief Programmer.
  • The Chief Programmer chooses the work that will be included in the iteration.
  • Tests may be written before or after coding is complete.
  • There should be a "regular" build, but this could be weekly, daily, or continuously.

I won't argue whether or not FDD is scalable for large projects.  The literature says it was built for larger projects; who am I to argue.  I will say it comes across as development centric; however, this is not necessarily a negative point.  It is not the only flavor of Agile that is development centric, and FDD processes could be a fit for your organization. 

Transitioning to FDD may be an easier transition than Agile flavors with a flat organization structure simply because of how your organization currently works.  It's not about how the process looks on paper; it's about how it fits your organization. 

Keep in mind that if you fail to adopt one flavor of Agile, you may not get a second chance to pursue another.  There is still a large knowledge gap, when it comes to Agile and its many flavors.  If one flavor leaves a bad taste in the company's respective mouth, it may not want to try another even if it knows there are other flavors.  This brings us back to why I am reviewing flavors of Agile.  It's a learning process for me, and it hopefully gives you a resource to help you determine which flavor of Agile will be best for you.

Posted on: August 16, 2016 12:04 AM | Permalink | Comments (2)

Flavors of Agile - Disciplined Agile

Categories: Agile

linkedin twitter facebook Request to reuse this  

I was going to review AUP - the Agile Unified Process (having read about it, once, several years ago, when part of the company I was working for used RUP), but, in 2006, Scott Ambler abandoned it in favor of Disciplined Agile Delivery (DAD), which has since evolved into the Disciplined Agile Framework.  The reason for this shift was to address how to be effective at IT, not just at delivering IT solutions.

Disciplined Agile has its own manifesto and principles.  It is intended to be an extension of the Agile Manifesto, so it will seem very familiar when reading it.

Scott provides several reasons why you should choose Disciplined Agile.

  1. Disciplined Agile picks up with Scrum leaves off, dealing with architecture, design, testing, programming, documentation, etc…
  2. It is pragmatic, allowing you to choose how to execute it in response to your situation
  3. It supports both lean and agile lifecycles
  4. It is based on proven strategies used across multiple industries
  5. It provides a foundation for scalability
  6. It enables and goes beyond SAFe (Scaled Agile Framework; watch for it next week)
  7. It is constantly evolving as new agile and lean strategies emerge

Roles are split into primary and secondary roles.  Primary roles exist regardless of the scale of the project.  They are:

  • Stakeholder
  • Product Owner
  • Architecture Owner
  • Team Lead (analogous to a Scrum Manager and Agile Coach)
  • Team Member

As a project grows in scale, the following roles may be added:

  • Specialist
  • Independent Tester
  • Domain Expert
  • Technical Expert
  • Integrator

As you learn more about Disciplined Agile, you'll begin to recognize flavors of other project management approaches.  It is intentionally a hybrid approach, with the intent of borrowing the best from other approaches and combining them in attempt to leverage their strengths and overcome their weaknesses.

In keeping with its emphasis on the agile organization, not just agile delivery, Disciplined Agile provides guidance on establishing and running agile Communities of Practice and Centers of Excellence, governing agile teams, and maintaining awareness of agile at five different levels within an organization.  This, combined with other practices, is referred to as Strategic Agility at Scale.  Organizational processes are broken down into lifecycles and blades.  These are:

Disciplined Agile Delivery

  • Continuous Delivery
  • Exploratory/Lean Startup
  • Lean/Advanced
  • Agile/Basic
  • Program Management

Disciplined DevOps

  • Non-Agile/Lean Lifecycles
  • Release Management
  • Operations
  • Support
  • Data Management

Disciplined Agile IT

  • People Management
  • Product Management
  • Portfolio Management
  • Enterprise Architecture
  • Reuse Engineering
  • IT Governance
  • Continuous Improvement

While this is not the same process as ASAP, it's starting to feel the same - highly structured, which almost feels contrary to Agile - but that is not a bad thing when dealing with Agile at the enterprise level.

While I can't say whether or not Disciplined Agile is the best approach, I completely agree with the mindset that transitioning to Agile cannot be just an IT change.  Not only does Agile change how products are delivered, it changes how progress is reported, how requirements are prepared, how projects are planned, and more.  If your leadership is still expecting things to run the way they used to, you may struggle to get support because leadership expectations are not aligned with Agile practices - this is a concern with all Agile flavors, not just with Disciplined Agile.

Posted on: August 07, 2016 09:53 PM | Permalink | Comments (2)

Flavors of Agile - Agile ASAP

Categories: Agile

linkedin twitter facebook Request to reuse this  

Change of plans, and I apologize for the delay.  My intent was to cover, very briefly, three more flavors of Agile in one post, so that I could get to scalable approaches sooner.  These flavors are:

  1. Agile ASAP
  2. Feature Driven Development (FDD)
  3. Disciplined Agile Delivery (DAD)

As I was working on this, I realized that I could not address all three in adequate detail without writing a short book (I'm trying to keep my posts more concise.  Trying…), and both FDD and DAD have elements of scalability built into them.  Addressing them individually makes more sense.

In case you've never worked on an SAP project (or maybe even if you have), ASAP stands for Accelerated SAP.  It is SAP's implementation methodology for SAP solutions, with end-to-end coverage of the Process Lifecycle, Application Lifecycle, Project Lifecycle, and Value Lifecycle.

ASAP addresses:

  • Project Management
  • Organizational Change Management
  • Data Management
  • Business Process Management
  • Technical Solution Management
  •  Integration Solution Management

…and provides templates, tools, questionnaires, checklists, and guidebooks to assist the project team.  I'd explain more, but I'm not sure I can condense a four day training class into a blog post; it is not a lightweight methodology.  So, how is this Agile?  It's not.  ASAP is the foundation for Agile ASAP.

What is Agile ASAP, then?  Essentially, it is a slightly lighter-weight methodology that uses elements of Lean and Scrum during development.  Kind of.  There's a little more to it than that, but I'm trying to keep it simple and I don't want to lose your attention rehashing Lean and Scrum. 

If you're using ASAP, Agile ASAP may be a good fit for you (transitioning to Agile is challenging), but it's really for SAP implementation projects, so I don't recommend it if you're working on other types of projects.

I've been working on several SAP implementations, over the last couple of years.  We haven't used ASAP, largely because of the technical requirements.  There are some specific requirements for your SAP landscape and SAP Solution Manager to use the methodology effectively that the company I work for has only recently started to pursue.  The new version of Solution Manager can, reportedly, be used for more than just SAP projects, and has integrated with Microsoft Project, to some extent, for the last couple of versions, at least.  It can add a lot of value if you have the time and resources to get everything set up correctly.

If you have experience using ASAP or Agile ASAP, please share your experience in the comments.

Posted on: August 02, 2016 11:56 PM | Permalink | Comments (4)

Flavors of Agile - DSDM

Categories: Agile

linkedin twitter facebook Request to reuse this  

I'm going to keep it short today.  At least that is what I am telling myself.  Short is such a relative term to someone who can be as longwinded as me.

The DSDM Agile Project Framework is a scalable "full project" approach to Agile (it emphasizes more than development) that is supported by a set of eight principles built upon:

  • People with defined roles and responsibilities
  • An iterative and incremental lifecycle for development and delivery
  • Clearly defined products
  • Recommended practices

…and further founded on an underlying ethos of common sense and practices.  The principles are:

  1. Focus on the business need
  2. Deliver on time
  3. Collaborate
  4. Never compromise quality
  5. Build incrementally from firm foundations
  6. Develop iteratively
  7. Communicate continuously and clearly
  8. Demonstrate control

After having read the framework, I would think that if you are hesitant to adopt Scrum because it seems too unstructured, DSDM might be a good alternative for you.  Keep in mind that I have never used it and have never spoken to anyone who uses it, so I am not speaking as an expert.  However, I am experienced enough in the majority of the information, tools, and processes presented in the framework that I am comfortable saying that this is a good approach to consider when deciding which Agile approach to use.

There, nice and short.  And I'm having to force myself to not go back and add all the detail behind those two short lists.  There is a lot of detail, and it's more than two lists, but if you have even minimal experience in Waterfall and Agile, you'll find very little that is new.  What makes it unique is how the pieces are put together; it's more than just Scrum.  There are things you would do on a Waterfall project that are not specifically called out in Scrum, but it's Agile.  I'm starting to feel like a candy bar commercial… Hey, you got Agile in my Waterfall…

Next week, I think I'll combine the last few flavors I've been thinking about into one post, so that I can get to scaling Agile a couple of weeks earlier than planned.

Posted on: July 25, 2016 09:47 PM | Permalink | Comments (2)

Flavors of Agile - Crystal

Categories: Agile

linkedin twitter facebook Request to reuse this  

Crystal is a family of methodologies that I have not been able to find a wealth of information about.  I've found a few books by Alistair Cockburn:

  • Crystal Clear: A Human-Powered Methodology for Small Teams (used as a reference for some of the content on this post)
  • Crystal Orange: Surviving Object-Oriented Projects
  • Crystal Orange/Web: Agile Software Development

…and there is a website, where Alistair Cockburn indicates that Crystal predates the Agile Manifesto:

http://alistair.cockburn.us/Crystal+methodologies

…but I haven't been able to find comprehensive coverage of all members of the family.

There are several members of the Crystal family, with the intent to scale up from a small project to large, complex projects.  The Crystal Family is divided as follows, with Crystal Clear being the smallest (1-6 team members) and, as best as I can tell, the largest is the last three, with Crystal Diamond and Crystal Sapphire including additional complexities, such as risk to human life:

  1. Crystal Clear
  2. Crystal Yellow
  3. Crystal Orange
  4. Crystal Orange Web
  5. Crystal Red
  6. Crystal Maroon
  7. Crystal Diamond
  8. Crystal Sapphire

I know, a link to wikipedia… this is not meant to be a scholarly article; please bear with me.

Each member of the Crystal family is built on what is referred to as a 'genetic code' made up of:

  • The economic-cooperative game model, which says that, "software development is a series of resource limited games whose moves consist of nothing else besides inventing and communicating
  • Selected priorities
    • Safety in the Project Outcome
    • Efficiency in Development
    • Habitability of the conventions
  • Selected properties
    • Frequent delivery
    • Reflective improvement
    • Personal safety
    • Focus
    • Easy access to expert users
    • Technical environment with automated testing, configuration management, and frequent integration
  • Selected principles
    • Exploratory 360
    • Early victory
    • Walking skeleton
    • Incremental rearchitecture
    • Information radiators
  • Selected sample techniques
    • Methodology shaping
    • Reflection workshop
    • Blitz planning
    • Delphi estimation using expertise rankings
    • Daily standup meetings
    • Essential interaction design
    • Process miniature
    • Side-by-side programming
    • Burn charts
  • Project examples

Notice the use of the word "selected?"  I find it interesting that, while there are several members of the Crystal family, there are few hard and fast rules.  You are not expected to use each item in the list, above, on every project.  Using the properties as an example, Crystal Clear only requires the first three.  Furthermore, Crystal (the family) is not opposed to using principles and practices from other project management methodologies. 

As you dig in to Crystal Roles and Work Products, you'll find artifacts that you expect to see in a waterfall project, that don't get a lot of attention in some of the other Agile flavors.  I wouldn't call it the perfect marriage of Agile and Waterfall, maybe more of an evolutionary step between Waterfall and more recently evolved flavors of Agile.  I don't know.  What do you think?

Posted on: July 18, 2016 02:05 AM | Permalink | Comments (1)
ADVERTISEMENTS

"A day without sunshine is like, you know, night."

- Steve Martin

ADVERTISEMENT

Sponsors