Agile Scrum: collection of my replies in Quora

Screen Shot 2014-08-15 at 9.20.29 AM

Agile Development: Are fixed length iterations essential in Agile?
I’ve noticed that the vast majority of people assume that Agile = Scrum = fixed length Iterations but the agile manifesto doesn’t say anything about iterations or Scrum. What it does talk about is early and continuous delivery of value which could be achieved in other ways such as multiple overlapping iterations or continuous flows. So are iterations really essential for agile? Are continuous flows of value a better way? Have you done agile without iterations? If so how did you go?

actually what you defined in your question ‘multiple overlapping iterations or continuous flows’ is also known as Kanban, the other (gaining popularity) Agile development methodology. In Kanban you dont have ‘time box’ what I think is your ‘contention’ about Iteration. in Kanban you continue picking up tasks by priority and roll it out to production, how many can be in each lane is defined by the WIP (work in progress) Limit. The whole team targets to keep the ‘cycle time’ (average time taken to get tasks from backlog to production) within limit and improve on it, if there is a bottle neck every one collaborates to resolve it and get the flow back.

So yes, you can do Agile without Scrum and Time Boxed iteration. We have been practicing this in several of our projects at BlastAsia (product engineering service provider) and even our product http://Xamun.com is build initially in Scrum, then most of enhancement, debugging and new features are done in kanban style continuous flow. You can use the tools inside xamun if you like for both scrum and kanban.

Scrum: How do you connect user stories with each other?
Typical user stories are very small, less than 13 points. This gives you just enough room for instance to add an entity in the backend with CRUD & UI. Sometimes you need to have a followup on the story, but this never happens, because it’s not planned and people just forget. Is there a way to provide a longer term narrative that connects multiple user stories?

Lets go through the SCRUM Product Backlog development logic to make sense. Ideally we are suppose to start by writing down the requirements in Epic Story formats, to define the entire system as we see it at that stage. Probably even marking those needed for MVP (minimum viable product).

Once the backlog is done in epic format, we set priority of what come ahead and what comes later in the build stage. Then we start to degenerate the Epic stories to Coarse Grain, and then to Fine Grain (which you mentioned to be of size 13 or below).

In this whole chain of fine-graining we can use numbering system to keep relation between which fine-grain came from which Epic. This hopefully gives that relation/connect between stories you are seeking.

We developed our SaaS product Xamun.com to include Scrum and Kanban with this idea in mind, down the line we will apply filters to view how all the fine-grain are doing in respect to epic.

Agile Development: How do you get the most value out of a QA role in an agile development process?
I have started working on a greenfield project with a 5-man development team, which only formed fairly recently. We use agile practices to design and develop our software. One of the areas were we need to improve is (automated) testing. How can a QA person best help us with this?

in our experience, ATDD works very well with SCRUM. The Test Engineer helps define the user stories in FitNesse table formats at least 1 sprint in advance. The development team works to make the test pass thus exactly meeting the story completion criteria, and also enabling automated regression testing of the entire build as the work progresses.

Software Development Methodologies: What are best practices for building complex software little by little?

I think you are a winner by asking the right questions in the beginning. Project management, specially getting software done right has been my area of fascination and research over the years. I might be biased but i have two advice for your:

1. Agile: get yourself and your team comfortable with either SCRUM or Kanban (suggest SCRUM in the beginning). identify shippable (some thing you can release to users, either to use or test) component/increments not too large and get it out every month or 2.
2. use a good process management and collaboration tool, that also captures the collaboration and discussions between the team. We build products for our clients all over the world for last 12 years at BlastAsia, with about a 100 member team, and to help with our own needs and several others like us we developed Xamun you might find it useful (www.xamun.com)

How does design (interaction and visual) fit best into the Agile process?

Building the full front-end first, from
Paper concept to photoshop (using the color palette and design standards set earlier),
Reviewing it for UX factors, (link or buttons, location of elements, size)
Then comes conversion to html/html5/jquery/css/responsive design for mobile
Verifying the interaction in the working prototype for front-end (with mock data), can be used for customer discovery if needed at this stage
Usually few rounds of refinement and stabilisation, specially the drag-n-drop usability for desktop and mobile, intuitiveness etc.

Once the front end is totally pinned down, the rest of engineering kicks in, to build, test, integrate and stabilise. Of course all this using Agile development and Lean Startup principals.

This has worked best for us, compared to doing parallel UI/UX or after which effects the stability of the system greatly and takes longer. Depending on what stage you are (that is enough work for the developers to keep busy while the front end is being refined) and how you source your team (in-house, contractors, new hire), you might have to plan your deployment accordingly.

Agile Development: It’s possible to run scrum without a scrum master? In what scenarios?

the goal of scrum master is to make the team ‘self managed’, an ideal state where the Product Owner and the team are in sync with each other, in developing the product backlog, choosing the right sprint items and delivering a consistent velocity.

we believe Scrum Master is a role that Agile Project Manager plays, and once the scrum team and PO reaches a ‘self managed’ state, the Agile PM can drop or reduce his role as SM and focus on other needs under his main role or can even pick up another team.

Agile Development: Do the drawbacks of tracking velocity with story points outweigh the benefits?

I suppose what the author describes in the ‘stop using story points’ article is a possible miss-use of how story point system, but it also points to the core problem of their team, trust. Trust is one of the core factors of Agile, and once that is abused or lost, nothing will work, story point or any other process I guess. Makes me wonder if the problem was with story point, or the team and how they were managed.

The alternative suggested focuses on continuous flow and cycle time is all part of Kanban process, another useful agile framework, that we use too. However Kanban and Scrum have their own benefits depending on what stage the project is and team dynamics from our experience. If you are doing scrum, then there has to be time-box and measurements. May be too broadly defined but offhand the argument sounds like if the players are cheating about the score, lets remove counting the goals and monitoring time in soccer. Velocity is like the heart beat of the projects progress and you cant do velocity without story points.

Perhaps the problem was the intended use of story point in the organisation, I can only guess, but once you start attaching individuals evaluations etc with story point burn down such can happen. However used as originally intended, discussing the stories in the process of measuring it together as a team and then measuring it as responsible adults if we are making good progress or not cant be harmful at all, in my opinion.

Does anyone have experience using agile development with offshore developers?
We’ve used offshore developers for years, with varying degrees of success. Now, we’re moving to Agile. Anyone combined those?

we (at www.blastasia.com) have been doing Product Engineering work for our clients across the globe for over 10 years and we have been using Agile (SCRUM and Kanban) 100% since over last 5 years. We are a team of over 100 full time resources working for about 8 to 10 clients at any point in time.

Yes, you can do Agile with a remote team, just have to be ready for Agile yourself. We have different level of sharing of work for different clients, some have a full team in-house and they augment with our team practically for all areas of work, other extreme we have client, who don’t have a single technical person onboard and we are their entire technical team for every aspect of product engineering. But once the product is live and needs first level support, probably better to have that onshore, rather than remote for smaller products, bigger ones have successfully moved their entire technical support offshore (we dont do 1st level/call support)

Most of the time challenges comes from client not being ‘Agile ready’, specially if the client is not the end customer and signed a Fixed price contract and then trying to outsource the work to us. Outsourcing requires trust and commitment from both sides, and Agile adds a multiplier to it, transparency is key, and great communication makes it easy to navigate when you have trouble for what ever reason. Like Michael said, PO needs to put in some good time with the team, at least to get the ball rolling and reach a good level of common understanding and trust. We recommend our client PO to spend about 2 to 3 week every quarter if possible onsite with the team, in the first year of engagement, can go down to as needed there after.

We also came up with our SaaS product www.xamun.com to ease some of the challenges of distributed Agile teams to the extreme option of 100% virtual team managed online. Check it out if you get time.

Xamun Story

Xamun Story

may be a cliche, but my true inspiration behind xamun.. why do we have to choose between work and outdoors. During school days we did not have enough money to visit and stay where we desired, during work years we keep waiting for the next vacation… which feels never enough… its the ‘what if’… what if we can bring work with us and do it where you want to.. freedom to choose without compromise… to be able to have it all

Dream of a world without borders, where you work on what and where your heart desires

It used to be that the companies were mostly into manufacturing, distribution or retailing. Most of this is asset-based business where people go to the ‘place of work’ where the assets were.

In this century the ratio of knowledge-based business has drastically increased compared to the hard asset based businesses. And knowledge business does not require people to be in the same room to be productive. In fact the trend has been sourcing the best team members globally and delivery project where it’s needed. Lot of alliances is temporary project based and specialized. A lot of the knowledge workers prefer more flexible lifestyle and work from place of their choice rather than formal office and once company for long.

However managing a business with dispersed team is not necessarily easy. Keeping everyone on the same page literally is tough and proper infrastructure and mindset is needed for success. We at BlastAsia since early 2000 has been working with clients across the globe and sometimes it’s a collaboration between not only our team and the client but other third party providers, their team members from another location and to say the least it has been challenging for all. Not only managing projects across the globe but maintaining a tight coordination between different functional units is critical to profitability in service business.

Xamun is our effort in providing a global platform and infrastructure for the knowledge industry to manage their business with ease and confidence. Our vision is to provide a flexible system to those in the industry to manage virtual teams, coordinate across the lifecycle of an engagement and also being connected to the resources and suppliers who are critical piece in a virtual organization. We envision a world of business where geography is not a limitation for companies to source and deliver critical projects and knowledge workers can work where their heart is, breaking the 9 to 5 work cycle, helping reduce traffic, providing better work life balance and hopefully helping in decongesting the city centers and being more ecofriendly.

Image

Process Maturity & Lower Operational Risk in the Creative & Professional Services Industry through Automation (and how cloud is changing the game)

There are tons of papers written on the benefit of ERP implementation in manufacturing. The benefit is an accepted fact in the industry, which does not need more convincing. ERP comes in different variants to suit the requirements of different sizes & types of businesses. Even small to medium manufacturing and distribution operations have implemented certain levels of automation of their value chain to be dependable and profitable.

Image

Yet, when you look at companies engaged in services, especially in the creative and professional services sector (referred to in this article as knowledge services industry), level of automation is limited to Excel sheets and email. Some may have invested in stand-alone systems to help with specific functions like accounting and record keeping in human resource management. Others may have tried using project collaboration systems or online sales tracking. However, these point solutions are not connected to each other most of the time. This renders companies exposed to classic operational risks that have been identified and eliminated in the manufacturing sector over the last 20 years or more.

This also makes you wonder, how come the ERP software companies did not try to sell a version of their system to the service companies? Why did the sector resist in using integrated systems for operations management that have several obvious benefits? In fact, several consulting companies developing and implementing ERP systems to manufacturers have not even tried automating their own organizations yet.

After doing some research, the following are some of my findings that explain why this sector shuns the concept of automation:

  • The value chain of knowledge services, which produce digital output with no physical raw materials, is very different from those of manufacturing where a lot of effort goes into optimizing the supply chain and inventory level. Typical ERP systems are of little use in this segment, and to cater to this sector a complete rethinking is required.
  • The cost structure is also very different in the IP based output. The first copy costs the most, and the incremental copy is of marginal cost. The biggest assets include the company’s brand name and track record, and largest contributor to the company’s expenses is its people.
  • Most knowledge service organizations are very lean with very little headcount on the support side of the organization. There is an effort among to deploy almost everyone in some or other billable project whenever possible. This makes it difficult to implement a long rollout as required in typical ERP implementations.
  • The number of users varies, depending on active projects and participants across partners, employees, consultants & client side members. The traditional practice of charging for a fixed number of user licenses in not practical in this kind of organizations.
  • Knowledge services companies are usually lightly capitalized compared to manufacturing and usually resistant to ideas of big capital investments in systems.

The above factors made it difficult to build and sell integrated automation solutions to knowledge services companies, despite the obvious benefits that everyone is aware of.

Instead, a large number of these types of companies invested in process standardization through certifications like ISO9001 and CMMI. Organizational process certifications are expensive and are quite labor-intensive, requiring hundreds of hours in identifying and mapping different parts of its operations. The objective of getting certifications is to standardize operations, so the best practice and successes are repeatable consistently across projects and teams. Also, investments are made into certification of individuals in their areas of expertise to adhere to best practices, for example PMI certifies PMP for project managers, agile SCRUM master certifications, six sigma belts etc.

However, without automation and integration across different key operations, it’s very difficult to sustain the process standardization. Sooner or later some team or individual veers off the defined course and only gets to be corrected after the damage is done. Lack of automation reduces transparency and increases the risk coming from lack of compliance, which sometimes are even mandatory in certain professional practices.

Majority of companies that invested in process certifications are those involved in outsourcing locally or offshore. The investment in time and money on those certifications were to help reduce risk and also as a selling point to customers who, most of the time, are much larger in size and exhibit higher process maturity than the selling organizations. Some fortune 500 companies have already made certifications a requirement for their vendors. There are substantial investment/subsidy from governments and developmental organizations in developing countries for ISO and CMMI certifications for the companies involved in or aspiring to get into outsourcing. However need for automation across the operation has not received enough attention yet, probably due to the above-mentioned reasons.

Recent technology shifts coming from cloud and enterprise mobility are changing the game and are dissolving the barriers to implanting automation for this segment. The following are some of the answers to the challenges as discussed earlier:

  • Integrated solutions specific to the creative & professional services industry needs are getting rolled out over the SaaS (Software-as-a-Service) model. The three key functions of Project Management, Sales & Account Management, and People & Skills Management integrated across the organization over an easy-to-use social layer make an ideal platform for these businesses.
  • SaaS removes the requirement for capital expenditure and makes it easier to adopt automation under operational expenses, which can be directly attributed to the specific projects.
  • SaaS and Cloud models allow an organization to extend the systems across the organization to employees, consultants and also across the globe. It offers much needed flexibility to assign and remove access/license to extended enterprise participants as per project needs.
  • The ability to easily implement the solution across the organization without major training and roll out pains (unlike in ERP implementations before), is typical of SaaS & Cloud systems. Nowadays, you can get your organization start using in days if not in hours
  • Cloud powered systems accessed over mobile devices enables users to be on the top of the operations without getting tied down to corporate network and other limitations & IT department costs.

Small to midsize companies can straight away adapt to the best practice and attain process maturity simply by using such a system across their operations, minus the cost and hundreds of hours spend for certifications that they usually incur. Easy visibility of project and collaboration with client’s representatives can give the much-needed confidence for business relations, even if stakeholders are working across the city or across the world. The integrated operations automation approach to boost SMEs towards world-class service delivery can be easier and more cost effective, if done using an appropriate system.

With all the above realities in mind, to empower SMEs in the knowledge services sector, we have developed Xamun, the only system you would need to managing projects, clients and people. We built it after learning from our own experiences in running similar operations over a decade. We believe that through the use of Xamun, leaders in the knowledge services sector can get better control and lower operational risk when managing people and get the freedom to choose where to work from. Ultimately, Xamun enables growth and profitability for your company and a more fulfilling life in general.

Image

Take a 30-day trial of Xamun and see how it can help yourorganization by visiting www.xamun.com

The Incredible Power of Online Task Board

Have you ever tried getting something done that requires a concerted effort from a bunch of people? Have you ever organized an event such as an alumni homecoming for your high school class, a New Year’s party for your club, or a fundraiser for your favorite cause? How about something in a more formal setting, such as leading a team for a project at work?

Image

(not as easy as it seems)

It sure is difficult. The challenge doesn’t come from the tasks at hand; most of the time those are not the problem. You may even say it would be so much easier if you did it all by yourself, right? However, doing it all by ourselves is very inefficient, after all the concept of “division of labor” is supposed to be one of the greatest social achievements that helped human beings progress. So what’s the cause of this conflict? If it’s so easy for each member of a team to do things separately and it only makes sense that a team would be more efficient of you split a set of tasks among its members, then why does it become harder to get things done when more people join a team?

In my experience, in order to resolve this conflict, one must master the process of:

  1. Breaking down the entire project into smaller parts;
  2. Distributing these smaller parts among members of the team;
  3. Monitoring the progress on “who is supposed to do what” before you run out of time; and
  4. Re-planning if some original assumptions change during the course of doing things.

These activities above, known to some as project management, are causes the difficulty if not carried out properly. When we do it alone, those four activities are taken as a whole and are performed in our minds, but in a team this set of activities tends to be overlooked. Some people even think all those things above are actually a waste of time: they would rather get the work done immediately than plan and check it. The thinking is, “it’s all good until things get done”. If a team is doing similar things regularly and all members are familiar with the tasks at hand, risks are lowered from repetition. Then again, if someone slips due to some unforeseen reason, the whole project can be at risk.

Do I mean to say most people don’t do this? No, not really. There usually is an effort among project teams to meet and plan. It’s actually fun to do it, specially at the start of the project. Nothing much gets done in these kickoff meetings (most of the time). Most people after a kickoff meeting resort to emailing each other or making an Excel list and updating it – until some point in the process, things gets out of control and they simply drop all those activities together and just go with the flow.

So you may ask, how about getting one of those project management software like Microsoft Project and trying to keep tabs on everything that’s getting done. Sure, this is better than nothing, but the trouble is, this is a centralized command and control kind of thinking. One person has to take this role and run after everyone in getting things done and finding out if they are doing what they are supposed to and what stage it’s in etc. This type of centralized effort is not very efficient for a number of reasons:

  • The project manager becomes responsible for the success and failure of a project, thus allowing team members to be less responsible for the overall success
  • Reduces the benefit of collective wisdom that comes from collaboration and visibility
  • This still does not provide the communication and collaboration needed on regular basis for project success

By now you should be asking me, “What, then, is the solution?” What do I think makes getting projects done easier, more fun and at a lower risk? If the team is sitting in the same room all day, perhaps all you need to do is take a wall, divide it into three columns (To Do, In Progress, and Done), get a bunch of post-its, write down what needs to be done, and each person just picks up what they are going to do and update the wall. Maybe do a short 15 minute meeting every day to collaborate and update each other, benefit from the collective wisdom and getting the project done successfully. This practice works, for sure. But in a lot of projects today, you don’t spend the day together, you don’t even get to meet each other often.  Heck, team members may even be from a different city, country, or continent. What do you do now? Is there a liberator in sight?

Image

Introducing: The Incredible Online Task Board!

Welcome the world of web 2.0 and online collaboration. There are many online solutions out there to choose from. Some thoughtful people came up with tools to make task lists online that can be seen by all team members and be updated as required. This can work for rather simple projects, but it lacks the benefit of collaboration and overall visibility. Some teams even resort to using blogs where they can write down the tasks and update each other in real time. That can work, too, I guess. But nothing works like The Incredible Online Task Board.

It’s similar to the real-life or physical task board using a blank wall, but this time distributed teams can work seamlessly – as if they’re in the same room. If you use The Incredible Online Task Board together with a more social collaboration wall like Facebook for free-flowing and easy communication, then you have what we call a perfect combination.

In fact, we made a version of The Incredible Online Task Board and a collaboration wall after experiencing the above issues first hand in dealing with projects both in-house and with clients across the world. The nature of these projects span from something as simple as a list of things to fix, to complicated multi-year projects building complicated products, to the implementation of a business process across different departments, to hiring a specialized resources for an upcoming project. We’ve seen it all, and after several months of using what we created, we are definitely seeing the benefits.

What we created is called Xamun. It exists in two versions – Lite and Business. The former is tailor-made for those users that need the task board and a collaboration wall, while the latter is a robust version that extends to other different functions and areas of management and allows you to run your entire business online.

The power of The Incredible Task Board is at the heart of Xamun, and you can see it for yourself by visiting www.xamun.com and taking a 30-day free trial.

What Makes A Great Project Management Software?

Here are a few key takeaways on what constitutes a great project management software tool, based on what I picked up from my last 20 or so years of project management experience – in construction, real estate, business consulting and lately, software development – and roughly 12 years of product development experience.

  • 9 knowledge areas of PMI: Schedule, Cost, Scope, Risk, Quality, Communication, Procurement, Human Resource & Integration. For a project to succeed, the tool should help with more than just managing scope and communication and cover these areas, to avoid a myopic view of project management.
  • Agile vs. PMI: Agile, through its innovative means, reduces or eliminates the need for close monitoring of all the 9 areas, however we still need to keep an eye on them and the system should provide an integrated way to track those that need to be monitored. The software should also provide the capability to handle different project management methodologies in one system rather than forcing users to choose one over another.
  • Communication & Coordination: The key to successful project management is close communication with tasks at hand. This holds true in agile, particularly in how it eliminates documentation and other heavier monitoring. However, with larger and geographically-distributed teams, communication and coordination can become a major challenge. Unless your tool takes care of this in an integrated manner, your project can easily spin out of control.
  • Project Tasks vs. Organizational Tasks: Every member of an organization needs to handle more than just project tasks, even though that might be their primary responsibility. In smaller organizations, there is always set of tasks that are strategically important but not part of any project. Most PM tools miss out in managing both kinds of tasks in a synchronized manner, to help people in their daily responsibilities.
  • Ease of Use: I have used some very sophisticated software, but they are so difficult to install, implement and understand that a major part of my time goes into learning them. Add to that the fact that human error is highly likely during use because of their complexity. A good tool should be intuitive enough, should not take more than couple of hours to get used to, and should feel natural while using on day-to-day execution of a project. The social aspects in software today are also very interesting to induce improved usage and communication, the latter being the key to success.

I can go on with more points to add to the list, but that might just dilute the value of each item above. There is not one way to handle all projects well, and some models like the Diamond Model for project analysis can be a helpful tool to understand and segregate the sub-modules/systems by its profile and manage appropriately to improve success rate. Of course this is not up to the software to analyze and decide, but the people in charge of the project. However, when project leaders decide on a methodology, the tool should provide enough flexibility to manage the project and its parts in an integrated manner, and the tool should be suitable for the increasingly global team structure.

We at Xamun designed our product with most of these points in mind, and we are continuously improving on it as we gather more inputs from our users. We hope to hear from you soon about your Xamun experience, so you can also be part of our product development journey.

Lean Startup, Business Model Canvas & Agile Development

If you are into software business and hearing one or more of the three terms for the first time you are missing out a lot, like I was a year or so ago. Learning about how all three work together specially in cutting down waste and reducing the need for funding to grow ones venture has been an eye opener. This is after 4 startups and about 20 years in business felt like the first week at the B School, and its not only me, when I shared some of this with the group (Philippines Software Development Association’s Special Interest Group for Product and IP development) it was eye opener for all.

In fact one of the adapter and loudest proponent of these concept today in one of our founding member of the sub-group with decades of experience in product development in companies like Microsoft and Apple at its early and growth phase, and several successful ventures over the years.

In this post and several others I will share our learnings, success and failures in following the concepts. Personally my exposure and experimentations would be for our flagship product Xamun.com and secondary exposure from the sharing of others in the subgroup and interesting findings from the web.