Sunday, May 15, 2011

The Great Divide - Project Management vs. Systems Development


The Project Management Life Cycle addresses specific project related activities such as Project Initiation, Planning, Schedule and Scope Management, Risk/Issue/Change Management, etc…  This life cycle can be applied to several disparate project goals whether building a house or a software application.  The same principles and disciplines apply.

The System Development Life Cycle addresses specific product related activities such as discovery, analysis, architectural design, development, testing, etc….  This life cycle can be applied to several disparate product goals whether building a server farm or planning a new system. These same engineering type principles and disciplines apply.

The clear delineation of these life cycles becomes critical when an organization is thinking about maturity certifications such as CMMI. When considering maturity certification the organization is focusing on repeatability and continuous improvement in order to improve quality.   Providing the Project Management professionals within an enterprise the chance to focus on project activities, artifacts and project process improvement, you afford them the opportunity to develop processes and procedures that best provide the results for the project.  Alternatively, providing the engineering professionals within the enterprise the ability to focus on product development activities affords them the ability to refine engineering aspects for the product so they produce processes that support repeatability, process improvements and a higher quality product.

Additionally, this separation of duties provides increased ability for education, mentor-ship and personal growth.  In turn, resources can focus their talents, passions and ultimately their career on the path they desire to travel.  This leads to an increase in specialty and productivity the project team and enterprise will benefit from.

Here is an example of how you can demonstrate "The Great Divide".
The Great Divide - Project Management Life Cycle vs. Systems Development Life Cycle



Sunday, January 23, 2011

The Importance of an Agile Team’s Rhythm


The Importance of an Agile Team’s Rhythm

Setting up a new agile team?  Where do you start?
Rhythm! 
When setting up a new agile team it is important to immediately get that team into a rhythm.  Begin with the daily stand up meetings.  Schedule these meetings for the same time and place everyday.  This will help form the team’s basis of rhythm.  Once this rhythm basis is set, extend that rhythm to other project related meetings.  Depending on your team’s release plan, schedule the sprint planning meetings and sprint review and retrospective meetings to occur on the same day and place on a regularly scheduled basis.  If you have other required organizational meetings, verify these are also rhythmic and remember to keep the team from getting bogged down in approvals.  Also, help the Product Owner to not get tied to organizational deadlines by scheduling releases around those from the start of the project.  This simple strategy will keep the team moving and focused on the overall goal of product delivery.  As the team matures, their velocity will increase and hopefully you will need to adjust the rhythm to keep up.

Below is a sample schedule that could be useful:

Meeting Name
Frequency
Time
Room
Next Occurrence
Stand Up
Daily
9:00-9:15
Room B
Tomorrow
Sprint Planning-Part A
Every 20 days
9:15-11:30
Room A
15-Mar-2010
Sprint Planning-Part B
Every 20 days
1:00-4:00
Room A
15-Mar-2010
Release Approval
Every 20 Days
10:00-11:00
Board Room
25-Mar-2010
Sprint Review and Retrospective
Every 20 Days
10:00-12:00
Room D
26-Mar-2010

Other areas of impact:  Maintaining this chart in the conference room where the daily stand up meetings will occur will keep the team focused on the next step and all team members will know what is next and when it will happen.  This will also help the Scrum Master in scheduling the conference rooms with recurring events and help the team’s stick-to-itiveness (Sticking to the schedule).

Remember:  In the event something disrupts the team’s defined rhythm, Stop, Reassess and Start Over.
Happy Scrumming…..






Saturday, December 4, 2010

Methodology Selection: Project Management (Part 2)


Previously we discussed 5 questions to ask when determining if a project will be successful when using an agile project management methodology like SCRUM.  Here are some additional questions to ask.

6)    Project Scope and Requirements: How well defined are the requirements and scope of the project?

If the scope and high-level requirements of the project are extremely well defined, you may want to think about a waterfall methodology approach.  However, if these critical aspects of the project are not well defined, an agile project management approach will work well.  This is because an agile approach allows the team to develop small increments of work based on small batches of requirements that can be defined as the project life cycle progresses.  Additionally, the business analyst can be working of requirements for sprint # 2 while the developers are completing design and development tasks from sprint # 1.  This creates a rolling sprint approach that promotes team self-direction and quick releases of the product.

7)      Team Composition: Is the team demographics small and cross-functional?

The ideal agile project team consists of a small group of cross-functional members.  For an agile project team to be self directing and successful the team should be 8 to 15 members consisting of the product owner, scrum master, developers, business analysis and testers.  Other functional members may be necessary to maintain corporate certifications such as CMMI.  In this case a quality assurance team member would be responsible for verifying the processes are documented without disrupting the team doing the requirements management and development.

8)      System Integration:  Can the majority of development be completed on a single isolated system?

When determining if a project should use and agile approach, we should consider how the development of the system will impact or be impacted by other integrated systems.  If there are multiple systems that need to be integrated, the development process could be hampered by external teams and external requirements.  For and agile approach the majority of development needs to be conducted on a single isolated system.

9)      Continuous Integration:  Can the project support test-driven development?

Agile project develop small increments of work product and implement those work products rapidly.  This approach creates the need for a critical link between requirements, development and testing.  An agile team should be able to develop initial work packages and refine the product of the work packages based on the test results and changing requirements.  This is also why it is important to have a small cross functional team that is co-located or has the tools to act co-located.

10)    External Dependencies:  Does the project have dependencies on external vendors, project or teams?

The agile project management methodology does not support extensive integration with other systems, projects, vendors, etc. because of the rapid pace of development and testing.  Extensive integration or regression testing can also slow product delivery. So is a project is dependent on the results of an RFP or delivery of hardware or software contracts.  An agile approach may not be the most productive approach to take.

So there it is.  Ten things to consider when determining if an agile project management methodology will support of successful project and product.  Some organizations have created tools to assist the project management teams in determining which project management methodology to use for each project.  An agile approach is not always the best and is no silver bullet.  Each project should be reviewed individually to determine the best approach based on the product, the project team and management support.

In January I will be presenting “Project Angels” to the Kentuckiana Chapter of PMI. And in March I will be presenting “The Great Divide” at CodepaLOUsa.  Hope to see you there.

Followers

Search This Blog