When to use waterfall, when agile?

Software projects failed a lot in the past. They failed to deliver the value for the business, were too late or ways out of budget. The selected process method was usually the scapegoat for the failure with agile methods being the answer to any question in software development. But as usually in live, it’s not black or white. The selection of the right software process method depends on the surrounding of the project. I gathered some industry input and combined it to reflect the current thinking regarding agile software development methods vs. traditional methods.

The adapted Stacey matrix

Adapted Stacey Matrix for technology / software development environment

The original stacey matrix supports decision making processes suggesting appropriate management actions and defines four areas: simple, complicated, complex and chaotic. The suggested actions depend heavily on the context of the decision making.

The dimensions of the adapted matrix: HOW and WHAT

The x-axis of the adapted matrix deals with the HOW. If the team knows the technology well and has used it many times before, we’re on the left. Otherwise, if the technology is completely new to the team we’re on the right of the dimension. The y-axis positions the WHAT. On the bottom of the axis, the stakeholder of the project all agree on the goals and have the same understanding of the expected outcome. On top it’s the opposite, no agreed requirements and no alignment on expectations. The individual mix of the project points to a certain area with a process model suggestion in the adapted matrix.

Waterfall …

Waterfall is a traditional project management method with sequential steps and no iterations. Massive upfront planning is done before any implementation work starts. If all goals and steps are clear, waterfall produces consistent results in a predictable and repeatable way. The clearly defined tasks lead to an optimized sequencing and optimal resource allocation. Waterfall optimizes resources and return on invest if cause and effects are clear to anybody in the project team.

… vs. Agile

Agile stands for SCRUM, Kanban and LEAN methods with flexibility, quick response and constantly changing environments in mind. They start quicker with smaller scope for the current increment with the scope being like a rolling window. Uncertainty of the projects’ goals needs quick adjustment and adaptation during the whole execution. Only close and frequent collaboration with all team members make agile projects successful. If causes and effects aren’t clear, agile works in small steps towards a value-generating and broadly accepted result.

Simple to chaotic – from “known knowns” to “unknowables”

Simple = easily knowable, the known knowns

Projects in the simple zone unveil very few surprises, decisions are fact- or evidence-based, advancement occurs in orderly, sequential steps and the WHAT is clear to anybody. Any size projects with clear activities and repeatable results fits in this category. It has been done multiple times before and best practices exist as benchmarks. The process is simple and could be handled in a check-list style.

Going forward in a simple, fully predictable project means reducing it to the maximum to make the single pieces easier to understand. Examples of simple: recipes, tasks on an assembly line, checklist based work.

Complicated = not simple but still knowable, the known unknowns

The complicated zone segments into socially and politically complicated and technically complicated. Complicated means less simple but still somewhat predictable.

In Social/political complicated environments people can not agree on the purpose of the project and the expectation on results is not clear. Requirements are conflicting amongst the diverse stakeholder which could be resolved with waterfall to get clearance on WHY before WHAT before HOW. On the other hand applying agile techniques could help convincing stakeholders to agree on already achieved results and smoothing the further requirements discussion. The project team needs to pay special attention on getting early agreement between stakeholders in place.

In technically complicated contexts it’s clear on WHY and WHAT to achieve. Still, the HOW is not clear. An agile iterative approach helps getting feedback from the project team on the achievements making adaptations possible.

Going forward in a complicated project means as well reducing it to the maximum to make the single pieces easier to understand. Technically complicated is e.g. using a specific technology for the first time. Political/social complicated is e.g. if the relation between cause and effect are not clear enough or conflicting opinions amongst various stakeholder exist.

Complex = not fully knowable but reasonably predictable, the unknown unknowns

The complexity zone stands for high risk and uncertainty and requires a high feedback frequency. Neither requirements nor the execution are clear. Holistic defined process methods don’t work any longer. The context asks for a more explorative approach with transparency, frequent inspection and adaptation. SCRUM as a process method in the toolbox of the agile mindset is the method of choice. It increases transparency with small iterations and frequent check-points allowing cheap adaptations. The team planning is the start point for each new iteration and allows immediate feedback from stakeholders to the teams to adapt the next iteration.

Complexity can not be reduced, some understanding can be achieved and complexity can not be planned, it simply grows. A good example of a complex project is software development in general. The requirements are rarely fully defined right at the beginning and it’s seldom clear which architectural solutions are superior to others.

Chaotic = neither knowable nor predictable, the unknowables

In chaotic zone requirements and execution path are both undefined and the risk is high. Kanban as the most flexible project management method is the tool of choice. With no structure like sprints and the only focus on work in progress (WIP) Kanban focuses on continuous delivering results to allow further modifications in direction and backlog items.

The goal is to move from chaotic towards complex by dividing the problems. The principle “Act, Sense and Respond” helps navigate towards the zone of complexity.

Sources – from where I learned:

Agile at LEGO

Quote

I am interested in agile software development methods, LEAN management styles and the impact on a company’s organization. All these attributes are usually associated with software development companies – not hardware companies or toy companies.

I got a “must-read” recommendation for the book “brick by brick” by David Robertson. "Brick by Brick" by David RobertsonThe book proved to be a real “must-read”. Especially the portion where David Robertson describes the turnaround of the company. The methods applied to an almost bancrupt company reminded me to techniques nowadays well-known in software development teams. I mailed David Robertson and asked for permission to cite a portion of his book (page 170, Brick by Brick, David Robertson):

Before the rise of Bionicle, the LEGO Group’s product teams were soloed from one another and toys were for the most part developed sequentially: designers mocked up the models and then threw their creations over a metaphorical wall to the engineers, who prepared the prototypes for manufacture and then kicked them over to the marketers, and so on down the line. Rarely would one team venture onto another team’s turf to offer a suggestion or ask for feedback. If all went well, the team’s product would hit the market in two or three years.

The Bionicle team’s six-month deadlines forced a different way of working, one that was less sequential than parallel, and highly collaborative. Once the outline for the next chapter of the Bionicle saga was roughed out, the different functional groups would work side by side in real time, swapping ideas, critiquing models, and always pushing to simultaneously nail the deadline and build a better Bionicle.

“We had a massive project team,” recalled Farshtey. “It wasn’t just the creative people; it was also people from Advance and from marketing, sales, events, PR – all different parts of the company, all helping to steer the franchise.”

Because the marketing group worked directly with designers, Bionicle’s advertising campaign felt connected to the product. Promotional posters for Bionicle’s first-year run had to look and feel of movie posters, precisely because the toy featured the powerful visuals and narrative sweep of an epic film. “We wanted more communication in the product and more product in the communication,” said Faber. “That meant the marketing group needed to be involved at the very start of product development, so the story flowed out through the product. We wanted the product almost to tell the story by itself.”

“We had a kind of triangle, where the marketing, the story, and the product had to move ahead together,” he continued. “None of those could be the spearhead. Each needed to support and inspire the other.”

That single page really got to a point. I’m relentlessly telling that the core of the agile movement is about focus and collaboration (see Agile Defined). Usually, I refer to these values in software development environments, organizations and teams. But LEGO – a brick & mortar company – used the same principles in 2001 to turnaround their company. That was really mind-boggling news to me.

After doing some research on this topic, I found a SMB here in Germany working with agile principles: HEMA Bandsägetechnik. This (german) article talks about their experience.

 

Customer & Service Provider interface – the End of the Story

Customer & Service Provider interface … the End of the Story 

With the start of the-then-new job in October 2015 I started writing about my experience – and especially the shortfalls – in our customer and service provider relationship. It turned out to become a triptych. This is the final – the wrap-up.

To catch up you might want to read the first post: “Customer & Service Provider – Epic fails” and the second in this series: “Customer & Service Provider – silver lining on the horizon“.

You might ask yourself … why is that the end of the story? Improvements in processes usually don’t have an end. Well, let’s see.

The Modified Setting

In the meantime we upgraded from 2,5 software developer to even 3,5 software developers. Ambition behind is …

You might guess it? …

Come on …

YES! Right – on the first attempt.

Speed up the delivery of features. Our senior management is delighted by the achievements so far – however is far from being satisfied with the results, the outcome. Still, there is great belief that more people build more results. True! BUT we’re still having the issue of not well-defined requirements and still having long periods of wait for answers from our business leads.

On a daily basis we’re still in communication mode. Twice a week our project manager and the project manager of the service provider meet to exchange progress and start discussion on new topics. Again, communication proves to be a gold nugget!

The Now Situation

Missing product management – It became so obvious, so non-neglectable, so crystal-clear. Reason behind the low througput of our development cycle is not the lack of software developers – that’s a symptomatic solution. No, root cause is: we’re lacking a professional approach to manage our products – product management is missing. Usually, product management’s major duty is to define requirements on their products and harmonize the various needs and demands from all involved parties – customer, departments, management.

If we just had some people doing exactly this job. World would be much clearer!

  • Prioritization would be easier – since the product management would clearly include management in the overall prioritization process.
  • Definition of requirements would be clearer – only well-defined stories were handed over to our service provider.
  • Decision points would be clearer – product management is the definition point for detailed questions and processes.
  • Communication would be simpler – it’s simply clear whom to ask for guidance.
  • Development would be faster – no impediments any more … why should it be slow now?

In my last post, I raised a lot of points:

  • Multiple stakeholders talking to the service provider
  • No clear communication of priorities, requirements and goals
  • Fundamental changes in design after going live
  • Bad requirement quality
  • Silo thinking
  • Low quality – not well thought-out
  • No consistent prioritization

All of them – I really believe – all of them could be solved with the implementation of an organizational change – introduce product management.

So, you might ask yourself why is this the end of the story? Well, that’s an easy one. Despite my continued effort to convince my senior management about the absolute need to improve the organization by introducing a product management person (yes, one person!), I failed. “Too expensive”. I personally decided to quit.

Lesson learned?

I’m still convinced we changed a lot for the good in the customer / service provider interface. Agile patterns did a great difference for all of us. Furthermore, the service provider did invest in agile coaching (and architecture consultancy as well … not all is gold …) and showed great willingness to cooperate – to improve.

Go on, improve your interface. It’s well worth the effort! Ah, and don’t forget to secure your senior management’s backing in early stages 🙂

Customer & Service Provider – silver lining on the horizon

Customer & Service Provider interface … epic fails and how to overcome them

In a recent post I was talking about an interesting situation regarding the collaboration with our service provider (see https://www.agile-minds.com/customer-service-provider-epic-fails/). After some weeks I’d like to take a chance to draw some conclusions and report back some successes and learnings. I definitely see some silver lining on the horizon regarding the collaboration part – but also discovered some real black holes within our organisation. It’s always the same: process insufficiencies will always show up – latest – in the IT department …

The Modified Setting

Now in the development partnership with our service provider we pay for 2,5 software developers + 0,75 project management person. This means we added significant ressources to the aspect of project planning, communication and management.

Our project management person and the pendant at the service provider really met twice a week to discuss progress, issues and need for further planning on specific tasks. In addition to that it’s me and the general manager of the service provider meeting almost weekly to discuss issues and problems. This approach helped to improve the communication a lot. We’re now in a continuous dialog. Understanding of each other has raised enormously. A great step!

The New Situation

We are still not happy with the outcome – but the reasons have changed dramatically. Previously, we as an organization were not able to articulate our needs and get this information over to our service provider. We changed our communication paradigm and introduced the face-to-face communicaion twice a week. Now, the service provider has a ways better view of our requirements and is eager to start implementation. However, a lot of our stories lack quality from a subject matter view. How did we come to this point?

Multiple stakeholders talking to the service provider – We only have one person talking about new requirements – our project manager. He’s responsible to collect requirements in-house and communicate them back to our service provider. This works quite good. We’ve setup internal bi-weekly calls to collect and prioritize requirements. We’ve had our first quarterly face-to-face meeting where we started to build and organize the company backlog.

No clear communication of priorities, requirements and goals – Flag it as solved with the previous point.

Fundamental changes in design after going live – This is still an ongoing topic. But it’s a question of educating our internal people. Since we’ve one single person doing the communication towards the service provider it’s one of his duties to explain people that if there’s a change in requirements after going live we’ll treat this change as a new requirement – and this needs to get prioritized and implemented. Education.

The New Symptoms

No progress over all – Nope. Having progress. Or eager to go on. But …

Bad requirement quality – This was not transparent so far. But it came up when we introduced the new way of working. It became clearer and clearer that our subject matter experts – the stakeholder – didn’t exactly know what they wanted – not even at the point when they were talking to the service provider. Or they knew what they wanted – but didn’t consider the other business units in the design phase.

The Idea … did work out so far

The two aspects I’ve decided to implement

  • Setting up a stable and reliable single face of contact on working level
  • Introducing basic agile principles to get to stable requirements

worked out smoothly so far. As usual the introduction of agile aspects increased transparency of involved processes and especially the quality of the different artifacts a lot. And new issues turned up.

Quality of Requirements

As said previously the introduction of agile principles – well, I’d say of new communication patterns – produced process insufficiencies of our own organization.

Silo thinking – our business is separated in different business units. The different units have their own targets and try hard to reach them. There is no competition between the units – but everybody takes care of their own business. Two of the business units eventually use the same instance of the student information system. Especially between those units we have a lot of cases where e.g. the layout of the exam certificates differs, rule sets for course acceptance differ, specializations of courses differ and so on. Small differences – which might be needed … or not – which have a big, big impact on implementation capacities. It’s a difference to create different rule sets for courses – double the implementation work. And why? Ah, the business stakeholder didn’t have time to discuss their individual needs and combine them into mutual needs.

Low quality – not well thought-out – Another point we found is the quality and depth of the various business requirements. A lot of our business requirements arrive at our project manager at a stage where it says “We need a proper implementation of …”. Well, what does “proper” mean? Many times we experience developers from the service provider receiving last-minute changes – still. That’s one of the focus points for future improvements.

No consistent prioritization – Our exec management wants to review the implementation prioritization. Fair enough. We’ve agreed on having a call/meeting every second month. In this call we’ll run through the company backlog and listen carefully to what exec management sees as top priorities. In parallel we have our working calls with the business stakeholder every second week. Together, I believe, we’ll arrive at a prioritization which puts most important topics first.

My biggest learning out of this so far?

No matter how big the issue – start introducing agile patterns. Here especially the communication, company backlog and the face-to-face meeting helped a lot to unveil the real issues behind the “bad customer / service provider” interface.

The nice part about the agile pattern is the transparency. It automatically points you to the real pain points – through transparency.

Stay tuned and read on – to be continued.

Customer & Service Provider – Epic fails

Customer & Service Provider interface … epic fails and how to overcome them

Just recently I decided to change positions – moving away from a CTO role with a whole development department attached towards a CTO role with all software development tasks being outsourced to a service provider / product company. And I felt like being in a time-warp … not into the bright new and shiny future – no … directly into middle age – the darkest version of it.

See why – and how I plan to maneuver all of us out of this.

The Setting

The product company is very specialized on delivering a specific product aiming at university campus management software. We’re paying 2,5 developers to work full-time on our product branch – we call it a development partnership.

The product company develops in PHP, does deployments with puppet – however utilizes a full tomcat environment and PostgreSQL as database. They claim to work in an agile manner … and utilize JIRA (yeah!). Peeking into their JIRA unveils a per-person-association-to-tasks (well …). Visiting the development team produces clean white walls, no empty bottles or cans around, no architecture diagram scribbles, and no nothing. Suspect environment for full-heart agile developers. But let’s see.

The Situation

We are not happy with the performance of the service provider. Why? They don’t deliver on time, in quality and make promises all the time. Hmmm. After few visits and talking in-house and the service provider the situation became clearer to me.

Multiple stakeholders talking to the service provider – We had multiple parties of our business units talking to various people at the service provider. All of us spoke with different voices and everything was super-important. In the end not the feature with highest business impact made it live – it was the one of the person shouting loudest…

No clear communication of priorities, requirements and goals – In our discussions with the various people at the service provider we were not able to communicate a clear order of priorities nor were the requirements defined – not talking about documented or clear – and goals of the implementation tasks were sometimes not even clear to our internal stakeholders.

Fundamental changes in design after going live – I think that’s a real classic: The whole implementation is done, the product change is live and the stakeholder suddenly realizes that the color coding of a logo needed to change. So, the stakeholders didn’t even realize that changes in the live product are the most costly changes – compared to those done on powerpoint or photoshop level right in the beginning.

The Symptoms

No progress over all – Having not communicated a goal, a strategy or anything with a guiding function it’s no wonder there is no felt progress in the cooperation with our service provider. Sure, everybody was giving his/her best and we were moving. But nobody was satisfied at all. We didn’t get what we wanted and the service provider felt bashed at every move they made.

Communication went really personal – I personally attended the at-the-time two-weekly phone call with our service provider. We had the CEO, 3 business unit leads, one project manager and another 3 subject matter experts on the call – together with one of the managing directors of the service provider. As usually, I learnt afterwards, the call ended in real bad communication on a personal level. There was no common sense, every word was political, no commitment to anything – it was protect my a** everywhere.

The Idea

This needed to end. So, after my first week I had a meeting with the board of the service provider. Board means two people – the founder and investors. I presented them with an idea to improve the situation. At the core of the idea there were two main principles:

  • Setting up a stable and reliable single face of contact on working level
  • Introducing basic agile principles to get to stable requirements

They bought into this approach and we agreed to set this up.

Stable and reliable single face of contact on working level – I made my project manager to spend 80% of his time to manage the interface to our service provider. The service provider put 40% of a person into this task.

The two of them meet twice a week. Idea behind is to get closer communication flowing. The sooner we know about problems, the faster we can solve them. Anything not clear? Any issue to solve? Too less resources? Whatever. On Tuesday, they meet to discuss the current stories in implementation and issues. Furthermore, they discuss future stories to get feedback on expected implementation issues and too less specific requirements. On Friday, they meet to discuss the same topics and in addition I and the managing director meet to discuss and decide on topics to be resolved.

Internally, we made clear that it’s my person and the project manager who speaks to the service provider – nobody else. NOBODY! This is the only way to remove distracting conversations on non-important topics and puzzling requirements. Not to talk about setting other priorities on tasks. This all happens when the internal stakeholder have direct access to the service provider. Now, the project manager collects the user stories and requirements. We meet on a frequent basis – at least once a week, usually every day – and exchange our knowledge on user stories.

Introducing basic agile principles to get to stable requirements – Obviously, we had XLS-sheets of various formats and contents. All of them full with requirements and sorted to various priorities. We kindly removed all of them and started our Company Backlog.

We agreed with the service provider to have sprints of 2 weeks. The service provider still does releases on a 4 week basis – but we work in 2 week sprints. This allows us to communicate delays of features in terms of 2 weeks instead of month. “Well, it didn’t make it into this sprint – we will put it into the next sprint. This starts in 2 weeks.”

The Company Backlog is now organized in JIRA. We attach all relevant information to the user stories and hand them over to our service provider. Unfortunately, we couldn’t agree on using the same JIRA instance. Initially, I thought to use a Company Backlog view where we organize the next sprint which is then handed over to development and they start associating tasks to the user stories.

The daily standup is a bi-weekly get-together of the relevant people and starts to work out pretty good. During these meetings the two of them do a kind of backlog grooming and discuss the next stories to be implemented.

So, to summarize. Agile elements are:

  • The Company Backlog
  • The Product Owner (on our side – still named project manager)
  • The Scrum Master (on service provider side – also named project manager)
  • Sprints of two weeks duration
  • Backlog grooming
  • Planning 1

Does it work? Well, I’m sure it will be an improvement after all. Is it optimal? Let’s see!

 

SCRUM & Planning2 – HOW will we do this?

SCRUM Planning2: Architecting the unknown – The HOW.

In SCRUM Planning2 the focus is entirely on the team identifying the HOW of the WHAT being introduced by the product owner during the course of Planning1.

In Planning1 the product owner described WHAT the user stories actually contain and WHAT the result of the finished stories should look like. Now the team has the challenge to discuss HOW this user story should be implemented. Planning2 is really essential to the team to discuss, plan, architect, argue and agree on how the business user story should be implemented in software. Both, Planning1 and Planning2 are essential activities for the team to finally commit to what they plan to deliver within this sprint iteration.

In our company, we had user stories where individual software developers were sitting days and days to solve one huge technological question. Before entering Planning2 we still were at one user story worth around 40 story points. During Planning2 the whole team came together and discussed the findings of the individual software developers. And magically, they came to a solution – valued 8 story points – implemented during this one sprint and delivered as commited. The miracle of communication!

Planning2 – in essence – reserves real quality time for the team to think through the challenges of the user stories. Allow time to discuss, to argue, to joke, to de-focus, to be creative. A good result of Planning2 is a whiteboard full of tasks associated with the user stories.

SCRUM Planning Board

Ideally, the whiteboard contains a collection of tasks being identified during the discussions in Planning2. The sum of the tasks finally deliver the user story – the associated business value. In our Planning2 sessions we introduced a color coding scheme to reflect the kind of work to be done. Green – for example – stands for quality assurance testing tasks. The more experienced the team, the better the team members know each other – and trust them – the more trustworhty actually the result of Planning2.

When the team is finished with Planning2 they continue with the commitment. During commitment they discuss what user stories they are able and willing to commit. The commitment is “carved in stone”. The scrum master pushes the team to deliver their commitment and the product owner trusts on the team to actually deliver what they commited.

The commitment is all about trust and honor.

Lessons Learned?

  • Allow the team to discuss and actually understand HOW they will deliver the WHAT
  • Leave the team alone in a room – create an atmosphere of intimacy and privacy
  • The team commits to deliver – the commitment is “carved in stone”
  • Use color coding schemes for user story tasks

SCRUM & Planning1 – determine the WHAT

SCRUM Planning1: Well prepared Chaos – The WHAT.

Goal of SCRUM Planning1 is to explain the team WHAT should be accomplished during the course of this sprint.

In theory, the product owner has a well structured backlog (actually usually a spreadsheet 🙂 ) where you find user stories, estimated, already well thought-through, prioritized according to their business value and hence is very well prepared to guide the team through the SCRUM step 1 in the sprint – Planning1.

Well, after 2 years of SCRUM, we are close to there – close to – not yet there.

Initially, we had heavy struggles to get the company wide backlog setup at all. We had lots of stories in there ranging from small stories (1 to 13 story points) up to giant stories (estimated with 100 to ?) – but still in the backlog. We had stories in there with clear business value and others claimed to be “strategic”. We also had stories in there which weren’t good user stories at all (“Fixing the XYZ issue on technical element ABC”). So, we had all ingredients for a really bad Planning1 – and we had several of them. Some of them went to a point where people left the room – entirely agitated. The early days.

Now, we have product owners being on top of their backlogs and user stories. Stories being estimated higher than 13 need to be broken down into smaller pieces. Why? Experience shows that stories estimated bigger than 13 are too complex to be estimated reliably. All stories need to be estimated. Why? The team needs to know what to be expected in the Planning1 session and the product owner is forced to think-through the whole story. One point which is still tricky is the actual metric to measure business value. For the time being it’s still a mixture of our VP Product discussing with the product owners – but at least it’s an identified way to prioritize the backlog.

Lessons Learned?

  • The product owner needs to be on top of his backlog (be it the company backlog or the team backlog).
  • Stories need to be small enough to be understood fast and easy.
  • The team needs to be involved as early as possible (pre-estimation ideally).
  • You need a properly filled backlog and ideally you find a metric to measure business value in an objective way.

SCRUM Sprints – The mechanics.

SCRUM Sprints: One Sprint in a Live.

The typical structure of SCRUM – the mechanics as I call them – are quite common. No big adaptations in the industry. I still want to go into the various elements to highlight the tiny little details we decided to change and where and why.
SCRUM Sprint CycleThe graphic actually shows the structure of our SCRUM mechanics.We have all typical elements: Planning1, Planning2, daily sprint stand-ups, estimations, review and retrospective. Since we’re developing software and came from a project / waterfallish work-model in the past we still have some actions for final release testing and the actual software release.

I talk about the various elements in seperate posts in greater detail:

Lessons Learned?

  • The mechanics of SCRUM reflect the fundament of a potentially successful working model. You just need to get the details right 🙂

The agile SCRUM team – bundled forces.

The agile SCRUM team.

Besides the key roles in SCRUM, there is still this unstructured collection of humans – the team. When we started to introduce SCRUM we simply put all developers into SCRUM teams and we were finished. Amazingly, this went quite well. Developers found themselves confronted with other tasks than pure coding – but as said they did well, accepted the responsibility, improved their intra-team communication skills and everything seemed fine.

From a pure developer’s view the story could end here already. BUT (you knew there would be a “but”, right?) software development as such doesn’t contain only software development tasks – especially not in a web environment.

How to treat the non-developer resources? What about architects, user experience, visual grafix, editors, system administrators, online marketeers, quality assurance? Are they part of the SCRUM team – or not? If not, how to get them to work together with the SCRUM team?

A lot of questions! What we changed so far …

We started to structure the team. Besides the developer we have a lead developer. This person actually leads the team from a technical perspective and acts as an architect for the team. Next to the developers we onboarded the quality assurance team members to let them work directly with the SCRUM team. In parallel, we put user experience specialists directly into the SCRUM team. The visual grafix persons are still external to the team and form a service center where multiple departments of the company got access to. Members of the editorial team participate in the daily stand-up meetings (well, most of them) – but are still not part of the SCRUM teams. The system administrators are associated to the various SCRUM teams we operate – but are not actually part of the team. Online marketeers? Other departments? They are also not part of the SCRUM team and communicate mainly with the product owners and scrum masters.

So, to summarize – our SCRUM team is structured like this:

Closely connected to the SCRUM team are:

  • editorial team member

Still in other parts of the organization:

  • visual grafix designers
  • system administrators
  • other departements

Is it optimal? Well, not really – but SCRUM in our organization is a living process – we’re still improving!

Lessons learned?

  • Initially, get the SCRUM team going with the product owner, scrum master, developers and quality assurance as team.
  • In a next step when SCRUM is well accepted and adopted start thinking about a better structure for your teams.

Good ideas needed? Have a look at Marty Cagan’s great and inspiring methods and principles @ svpg.com

Posted in Agile Software Development, SCRUM | Tagged developer, editors, lead developer, Marty Cagan, online marketeer, product owner, role, scrum master, svpg.com, system administrator, team, user experience designer, visual grafix | Leave a reply

Project Manager? No need in SCRUM any more …

Project Manager? Not known in SCRUM books – hence no need for it?!?!

SCRUM in books transports the idea of “You don’t need project managers any more”. Why is it so? Well, the roles in SCRUM books – product owner, SCRUM master, team – explicitly exclude a project manager.

The project manager’s work is shared across various roles:

  • The product owner manages the backlog, prioritizes the stories and creates release plans.
  • The SCRUM master “enforces” the mechanics of the process, organizes meetings and moderates them.
  • The team takes over the detailed planning sessions and estimations.

When we introduced SCRUM we really enjoyed getting rid of all all the structures and limitations of the project work. We arrived 100% in “agile”. During our SCRUM setup days we decided to move our “project managers” into “SCRUM master”. Now with their new very limited scope of “not breaking” the new process rules. All the other duties – gone!

The Break – Working on Epics

The new modell went all well until … we started our first epic. In waterfall days the epic was called project.

After some time SCRUM works very well organizing the software development. Mainly because the process SCRUM isn’t that hard to apply and everybody likes it – because it’s agile and simple. But the overarching business planing – looking beyond the daily SCRUM work … we lost it almost entirely.

Who does the prioritization work on which project – ahhh epic – we should work next? Is it the product owner? The VP product? The CEO? The whole management team? Who takes care of the resource conflicts arising automatically if you have scarce resources? Who detects those conflicts and escalates them? How do we deal with delays?

Quite some questions. A lot of companies switching from traditional – thoroughly controlled processes to the agile modell encounter comparable issues, we learned.

How did we solve it? Well, we started to recognize that SCRUM is only one piece of the jigsaw puzzle. Furthermore, you need to work on your agile organization. Not only product development and product management are customer of your SCRUM teams. A lot of topics – owned e.g. by online marketing or customer care center – need attention as well.

In the end, when multiple departments within our organization are involved in work we started to include project managers again. They have an inter-department communication and coordination role. So, for us project managers did not disappear entirely, they showed up again in the context of strategic projects with a slightly different role.

Lessons learned?

  • SCRUM is good to organize the product development part of your agile organization
  • There is more than just SCRUM to become truly agile
  • In an agile organization you better have roles like project managers