Linesh Mahadik, Author at Bitwise Technology Consulting and Data Management Services Tue, 07 Mar 2023 10:36:32 +0000 en-US hourly 1 https://cdn2.bitwiseglobal.com/bwglobalprod-cdn/2022/12/cropped-cropped-bitwise-favicon-32x32.png Linesh Mahadik, Author at Bitwise 32 32 How To Choose Between Agile Delivery Methods https://www.bitwiseglobal.com/en-us/blog/how-to-choose-between-agile-delivery-methods/ https://www.bitwiseglobal.com/en-us/blog/how-to-choose-between-agile-delivery-methods/#respond Mon, 24 Aug 2015 15:31:00 +0000 https://www.bitwiseglobal.com/en-us/how-to-choose-between-agile-delivery-methods/ So does Agile Work? It’s been more than 12 years since these principles known as the Agile Manifesto, was published. Independent groups have published evidence of the effectiveness of Agile methods. As per the statistics published by the Standish Group (2012), the success rate of Agile projects is at 42% compared to 14% for traditional ... Read more

The post How To Choose Between Agile Delivery Methods appeared first on Bitwise.

]]>

So does Agile Work?

It’s been more than 12 years since these principles known as the Agile Manifesto, was published. Independent groups have published evidence of the effectiveness of Agile methods.

As per the statistics published by the Standish Group (2012), the success rate of Agile projects is at 42% compared to 14% for traditional Waterfall projects.

agile-sources

Truth be told, any particular way of delivering software – Agile delivery or otherwise – cannot necessarily guarantee project success. Agile was never claimed to be the panacea. There are well-publicized examples of failures of Agile projects.

What are the Challenges?

First things first. Organizational culture and executive support play an important role. Principles behind the Agile Manifesto highlight the need for self-organizing teams. These teams are expected to take decisions. When Agile teams change the way the software is delivered, it affects the way the organizations do business. Without executive support, this cannot be achieved.

The Agile Manifesto favours delivery of working software over comprehensive documentation. There is an inherent emphasis on a relation between developers and organizations that is based on trust, integrity, and transparency. It may not sound like a huge shift, but is still a significant challenge for many organizations.

It is crucial that the team is trained and aware of Agile concepts and has the necessary tools needed to perform. A team of skilled and experienced developers is more capable of taking decisions, compared to a less skilled team.

And finally, customer commitment. Agile delivery values business user collaboration and direct interaction instead of intermittent communication at fixed points in the life cycle. Effective business involvement reduces the risk of delivered features not meeting customer requirements. (Gartner, Agile Success Factors, David Norton & Matthew Hotle).

So, how can I go Agile?

More accurate question is, which Agile delivery methodology should I choose for my project?

Though all Agile methodologies recommend iterative and incremental delivery of software, the differences lie in the way each methodology is executed and the artifacts produced.

  • Scrum: Focuses on self-organizing teams and client-driven adaptive planning. Prioritizes delivering working software in no more than 30 days, over documentation.
  • Extreme Programming(XP): Keeps things simple. Focuses on the continuous implementation of best practices such as code reviews (pair programming), refactoring, ongoing testing, and continuous integration.
  • Feature Driven Development (FDD): Breaks down the delivery of a larger software by features. Simple processes, short iteration cycles. Suitable for predictable evolution.
  • Kanban: Based on Toyota’s just-in-time (JIT) production system. Incredibly simple and still incredibly powerful Kanban boards. Focuses on eliminating bottlenecks.
  • Lean Development: Focuses on providing value for money. Recommends avoiding unnecessary errors, amplifying learning, deciding as late as possible and delivering as early as possible.
  • DSDM: Developed from a business perspective. Strong emphasis on project management. Plans evolve based on increments.

Here is a side-by-side comparison of various Agile methods based on key parameters.

 
XP
Scrum
FDD
Kanban
Lean Development
DSDM
People vs. Process orientation People oriented People oriented Process oriented Process oriented Process oriented Process oriented
Distributed Teams Not Supported Can be supported Can be supported Can be supported Not supported Not supported
Recommended team size Atleast 2 About 7 10 – 50 About 7
Iteration length 2/3 weeks 30 days 2 weeks 1 week
Customer Involvement High (daily) Medium (Monthly) Low (as needed) Low (as needed) Low (as needed) High (Daily to weekly)
Handled Multiple Customers No Yes Yes Yes No
Risk Mitigation Level Medium High Medium Medium Medium High
Supports High Requirement Volatility Yes Yes Yes Yes No
Pros Simple. Relies on communication. Time boxed iterations. Relies on communication. Strong modelling features. Guidelines for distributed teams. Emphasizes on visualizing work progress & eliminating bottlenecks Focuses on ROI. Highly structured.
Cons Lacks documentation. Measurements and transitions can be a problem. Lacks documentation. Measurements and transitions can be a problem. Requires skilled modelers Hard to track dependencies. Can be prone delays. Doesn’t support frequent changes to requirements very well. May tend towards bureaucracy.

Conclusion

Agile does offer the flexibility to combine multiple methods and derive your own version. Scrum and Kanban, for example, go together like chocolate and peanut butter, so they say.

We would love to hear about your experiences in implementing Agile in your organization. And if you’re looking for a team to build an enterprise application using Agile, please start a conversation with us.

The post How To Choose Between Agile Delivery Methods appeared first on Bitwise.

]]>
https://www.bitwiseglobal.com/en-us/blog/how-to-choose-between-agile-delivery-methods/feed/ 0
Making The Case For Agile Planning https://www.bitwiseglobal.com/en-us/blog/making-the-case-for-agile-planning/ https://www.bitwiseglobal.com/en-us/blog/making-the-case-for-agile-planning/#respond Mon, 24 Aug 2015 15:21:00 +0000 https://www.bitwiseglobal.com/en-us/making-the-case-for-agile-planning/ Here are some real-life challenges that Agile Planning may need to address. 1. Translating Product Vision To Iterations Jumping in too quickly to start the development may turn counterproductive. It’s crucial that the team management and Product Owner together establish a roadmap that keeps the team on the path of achieving targeted objectives. It does ... Read more

The post Making The Case For Agile Planning appeared first on Bitwise.

]]>

Here are some real-life challenges that Agile Planning may need to address.

1. Translating Product Vision To Iterations

Jumping in too quickly to start the development may turn counterproductive. It’s crucial that the team management and Product Owner together establish a roadmap that keeps the team on the path of achieving targeted objectives. It does take some efforts at the start of the project to articulate the product vision and analyze available requirements. Involving key team members and the Product Owner helps set a clear vision.

2. Knowing You Are Delivering The Right Thing

The Product Owner plays a key role in ensuring project success. Translating business needs into project objectives may seem easy on the surface, but it is a tricky task. The person in this role may need to stay constantly involved with the development team for iteration demos and mid-iteration interactions. The Product Owner represents the business and plays a crucial role in not just validating iteration output but also drives the development of UI designs, use cases, and test cases.

This is a hands-on, high involvement job and can turn daunting especially when done in an onsite-offshore setting. BitWise agile projects delivered from offshore, have a designated Proxy Product Owner who is co-located with the team and usually comes from a testing or a business analysis background. The Proxy Product Owner assists in creating use cases and test cases while maintaining close communication with the real Product Owner.

3. You Can’t Predict Defects

That’s why you need to keep some bandwidth available to fix them. Usually, more bug-fixing bandwidth is recommended for later iterations compared to earlier ones. Historical data, if available, plays a crucial role in deciding how much of bandwidth is really required at different stages.

Continuous testing plays a key role in the success of Agile projects. The team needs to be equipped and prepared to handle the amount of testing necessary for the project. The disastrous launch of healthcare.gov in late 2013 is a good case in point.

An important feature of BitWise agile projects is a dedicated iteration for regression testing, usually towards the end of a milestone or project. It has provided incredible value to customers and ensured adequate attention is paid to defects.

4. Do Iterative Changes Affect Product Design?

Design, like integration and testing, is a continuous activity. The iterative approach provides the luxury to plan a design that’s minimum viable and enhance it from there. Bitwise Agile iterations deliver not only code but also design improvements as deliverables.

Unless you are careful and have invested some upfront effort in setting up a clear roadmap and future-proofing the design, it won’t be long before you start worrying about the rework frequent design changes are causing.

5. Timeboxing Research-Oriented Tasks

Having incomplete tasks at the end of an iteration is not a very uncommon scenario. Especially, if the tasks involve technically complex research-oriented work. Apart from derailing team velocity, such tasks may impact a more important metric – customer satisfaction. The sprint retrospective is an opportunity to brainstorm the causes and consider alternative approaches.

So what are the options? Not too many, really. Either it can be moved to the next iteration if it’s more than halfway through or move it back to the product backlog and reprioritize.

Conclusion

Agile delivery works. Confirmed by a large percentage of teams across domains and organizations who are adopting or have already adopted Agile. An adaptive planning approach and clever handling of challenges are what differentiates a successful Agile project from an unsuccessful one.

Bitwise has consulted a number of clients on delivering Agile projects and helped overcome challenges. Think we can help? Do let us know.

The post Making The Case For Agile Planning appeared first on Bitwise.

]]>
https://www.bitwiseglobal.com/en-us/blog/making-the-case-for-agile-planning/feed/ 0
The Science Of Agile Development https://www.bitwiseglobal.com/en-us/blog/the-science-of-agile-development-2/ https://www.bitwiseglobal.com/en-us/blog/the-science-of-agile-development-2/#respond Mon, 24 Aug 2015 14:45:00 +0000 https://www.bitwiseglobal.com/en-us/the-science-of-agile-development-2/ The Science of Iterations Volatile business needs and a core reliance on human skills and creativity induce an inherent uncertainty in software development processes. This makes it unrealistic to define the processes and expect a uniform output every time. Ken Schwaber, one of creators of Scrum, studied Ogunnaike’s process controls at DuPont. He found that ... Read more

The post The Science Of Agile Development appeared first on Bitwise.

]]>

The Science of Iterations

Volatile business needs and a core reliance on human skills and creativity induce an inherent uncertainty in software development processes. This makes it unrealistic to define the processes and expect a uniform output every time.

Ken Schwaber, one of creators of Scrum, studied Ogunnaike’s process controls at DuPont. He found that software development, just like any other empirical process, needed a way to check process performance while it was in progress to make sure it was on the correct path. Iterations or sprints are the natural checkpoints to measure the output and adapt in the way you proceed.

The Science of Story Points

Why use story points? They are not even real, right? Let’s see about that.

The traditional approach of estimation has been to break down the work and then assign the amount of time an “ideal” developer would take to accomplish it. These ideal estimates (in days or hours) are based on some assumptions about the rate at which software can be produced by this fictitious developer. The assumed productivity rate is based on various factors such as skills, experience, coding style, etc.

The story point approach makes it simple and data driven. These are hypothetical numbers assigned to tasks based on the amount of work expected to complete the task and the complexity involved. How could an imaginary story point be translated into the real effort spent by the team? Here’s how:

To begin with, you need to have a system in place to measure the actual hours spent by developers on tasks labelled as one story point. It’s fine if it varies by person and by team.

blog-13-img21

The central limit theorem The central limit theorem in probability states that the arithmetic mean of a sufficiently large number of iterates of independent random variables (hours consumed per story point in this case) will be distributed like a bell curve. This means if you plot the hours taken to build a story of size 1 story point against the number of stories on a chart, the graph will look somewhat like the diagram here. You clearly see a bell shaped pattern with a mean value “x”. Now similarly, plot the hours taken to build a story of size 2 story points, its mean will be 2x. This “x” is your conversion factor for translating story points into person hours.

What if you don’t have the historical data or a system to gather the data? Start with assigning an estimate of 1 story point to a familiar task that usually takes 8 hours.

The Science of Relative Sizing

Agile estimation techniques recommend sizing up tasks relative to each other. The estimator compares the task or story being estimated with one or more other tasks. If the task involves twice the work or is twice as complex, it is estimated twice as large.
So what are the benefits in doing that?

When you estimate tasks relative to each other, your estimation process is not only more accurate but significantly faster. There is an evidence that humans are better at estimating relative size than the absolute size (Lederer and Prasad 1998; Vicinanza et al. 1991).

Looking at a map, it’s hard to guess that the distance from New York to Chicago is 800 miles and New York to Boston is 200 miles. But it’s not so hard to tell that the distance from New York to Chicago is four times as much as the distance from New York to Boston.

The Coastline Paradox

How much effort should a project of size x take to estimate accurately? Well, the lesser the better. Estimates by definition are supposed to be just usable approximations. Estimation effort beyond a point yields very little value to the project.

The Coastline Paradox It may seem counter-intuitive but the more you break down a task to a micro level, the more are the chances that your estimate is going to be wrong.

blog-13-img1

A similar challenge is experienced by surveyors trying to measure the coastline of a country. It can produce varying results depending upon the length of the scale chosen for the job.

With a smaller the scale, and you can measure every little crevice along every creek on the shore. Take a bigger scale and it smooths out all details. This paradox of a constant finite area having varying length of perimeter is called coastline paradox.

In short, whether you are estimating efforts or measuring a coastline, choose the level of detail you want to consider wisely. Living with a measure of ambiguity at times will not only save your efforts but will also increase effectiveness of your efforts. Sound counter-intuitive? That’s why it’s called a paradox.

Conclusion

During one of their discussions at DuPont, when Schwaber mentioned that the success rate of their software development projects were around 50%, Ogunnaike remarked that it was like GM throwing away every other car it made. With Waterfall, that has been the unfortunate reality.

Think it’s time to improve software delivery in your organization? We can help.

The post The Science Of Agile Development appeared first on Bitwise.

]]>
https://www.bitwiseglobal.com/en-us/blog/the-science-of-agile-development-2/feed/ 0