Iterating is NOT Just a Re-Work Strategy

September 18, 2013

Not with agile development, anyway…

When iterating is taken at face value without further discussion and clarification, the concept can create a misunderstanding about what we’re striving for with agile development. Here are a couple of negative connotations typically associated with iterating:
“We’re re-taking ground that we have already covered.”

“We didn’t‘do our homework up front.”
This can lead to that inevitable judgment:
“This agile stuff is crap. We’ll never get anything done by continually re-working everything.”
In the first place, if you are re-working everything, something is fundamentally wrong that any process alone can’t fix. It’s a signal that you aren’t aligned with what your customer wants. In fact, you don’t even have a basic understanding of what your customer really needs.

However, a more likely scenario is that some things that you deliver will require re-work. Users struggle with reconciling written requirements, user interfaces mockups and the behavior of the system until they actually interact with working software. That leads us to the inevitable, “Now that I see it…” statement that precedes a request for change.

Before I continue, let me set the record straight: Iterating should never be the result of not thinking things through or being undisciplined. Agile development all about disciplined thought and action. But it applies a different type of discipline than other approaches. Agile development leverages iterating in specific ways.

A prerequisite to low-cost iteration involves when we spec out the details. Agile seeks to eliminate waste by elaborating requirements on a just-in-time basis, benefiting us by avoiding spending time on detailing and estimating requirements too far in advance because:
  • Some requirements will likely be down-graded in priority as time passes, even eliminated from consideration in favor of other things that have become more important as time passes.
  • Other requirements will change, either because business conditions change or because the customer changes their mind based on what they learn as they interact with the software.
In agile development, we think things through, but we defer on diving into the details until the last responsible moment, when we’re about to do the work. We acknowledge that the customer is learning as they see working software, just as we are learning about what the customer truly values and how to best deliver it. The following are the advantages with combining iterating with just-in-time elaboration of requirements:
  • We can start work sooner because we don’t have to perform detailed planning for large batches of work up front. We spread the elaborating and planning throughout the development effort.

  • We can re-prioritize work and accommodate change at a lower cost. This is because we haven’t heavily invested in detailing requirements up front along with tasking work out, estimating in hours, and generating detailed project plans.

  • We can accommodate change quickly. Many organizations will state that they adapt to change, but there are delays built into typical formal change control processes that involve reviews, projecting impact to the current schedule (by re-working details) and approvals that agile seeks to avoid by localizing decision-making to those performing the work, simplifying and speeding up the process – at low risk because we are delivering small amounts of work in short cycles.

  • We can incorporate what we learn from the customer as we elaborate new requirements on a just-in-time basis. And because the development team and the customer have learned from each other as they have interacted, inspected and adapted using short delivery cycles, the likelihood that new features will need change once they are delivered actually decreases as time goes on.
With agile development, we’re iterating for value by:

Planning for value: We prioritize our work based on value and then progressively plan the delivery of that work using short delivery cycles, keeping the cost of change low.

Learning: We continually inspect and adapt in those short cycles by reviewing working software with the customer, modifying our plans to accommodate changes they desire along with asking ourselves how to better deliver that value in the next cycle.

Adapting & Improving: The act of implementing change to add value to the product in the eyes of the customer along with adopting practices and techniques to improve the quality and/or speed of our delivery. We also use information gleaned from the experience on future work, improving those results as well.


Ji Yeon said...

Thanks for sharing!
Võng điện tự động giá máy đưa võng hay võng tự động giúp bé ngủ ngon mà vong em be tu dong không tốn sức ru võng. Võng tự động hay may dua vong tu dong gia re chắc chắn, gọn gàng, dễ tháo xếp, dễ di chuyển và may dua vong tu dong dễ dàng bảo quản.
Chia sẻ các bạn giải mã giấc mơ thấy cắt tóc hay bà bầu có được cạo gió không hay bà bầu có nên ăn thịt chó hay trứng ngỗng cho bà bầu hay giải mã giấc mơ thấy người chết hay cách chống nắng bằng trà xanh hay Collagen trị mụn được không hay chữa mất ngủ bằng gừng đơn giản, bí quyết làm trắng da bằng cà phê và dầu dừa hay giảm cân nhanh bằng gạo lứt hq hay mẹo giúp tăng cường trí nhớ hiệu quả, những thực phẩm giúp cải thiện trí nhớ hiệu quả, hay bệnh viêm khớp không nên ăn gì hay mẹo giúp giảm độ cận thị cho bạn, bí quyết chống nắng với cà chua cực hiệu quả, cách giúp bé ngủ ngon giấcthực phẩm giúp bé ngủ ngon mẹ nên biết, chia sẻ cách làm trắng da toàn thân bằng thực phẩm, những món ăn chữa bệnh mất ngủ hiệu quả.
Những thực phẩm giúp đẹp da tại
Thực phẩm giúp bạn trẻ đẹp tại
Thực phẩm làm tăng tại
Những thực phẩm giúp làm giảm tại
Những thực phẩm tốt cho tại

August 17, 2015 at 4:05 AM
kenken ken said...

Kiểu tóc hàn Quốc
Kiểu tóc đẹp
Kiểu tóc hot nhất
Sữa máy lạnh giá rẻ
Sữa máy lạnh uy tín
Dịch vụ sữa chữa máy lạnh

January 7, 2016 at 4:22 AM
kenken ken said...

Bạn nên biết về cach lam thach rau cau 3d
Thạch rau cau nâng cao sẽ có tại cach lam thach rau cau nhieu tang
Bạn sẽ vô cùng ngạc nhiên với cach lam thach rau cau tai nha
Hãy làm điều gì đó ý nghĩa khi chọn qua tang valentine y nghia cho nguoi yeu
Đừng bao giờ bỏ qua qua tang valentine y nghia cho ban gai
Bạn sẽ thích những món qua tang valentine y nghia nhat
Cùng tìm hiểu stt tam trang ve tinh yeu cuoc song
Giúp tình yêu thêm nồng nàng với nhung stt tinh yeu hay nhat
Đôi khi bạn buồn thì hãy đến với stt tam trang buon co don

February 2, 2016 at 5:12 AM

nice post and articles, thanks for sharing

August 31, 2017 at 8:45 PM

Post a Comment