Skip to content

Feed aggregator

“When Will This Software Project Ever Be Done?”

Leading Answers - Mike Griffiths - 11 hours 8 min ago
Does this question sound familiar? If you get asked it regularly then you may be part of the mainstream transformation from software projects to products. It’s coming and it's going to turn many roles, certifications and in some cases entire... Mike Griffiths
Categories: Blogs

Writing a book - Secure by Design

Dear Junior
I'm sorry for not writing to you for quite some time. But, you see, I have been working on a book together with my two colleagues and friends Daniel Deogun and Daniel Sawano. Late this summer we decided to try to write down our collective experiences and insights in design and security as a book. We are far from finished, but by now the first few chapters are released from the publisher Manning as part of their "Manning Early Access Program" (MEAP).
The book is named Secure by Design and our main message is how good design and good code can help developers avoid security problems. We have found that lots of security vulnerabilities are due to bugs that could have been avoided if the design of the code had been different. 
You as well as I know that it is a lot easier to think about "good design" when developing features, that it is to think "security" at the same time.
Of course not all good design lead to avoiding security vulnerabilities. So we have gathered our experience on what design-tricks that are most effective in giving security as a side-effect. It's probably no big surprise to you that Domain-Driven Security is an important part of this, but there are many other parts as well.
We still have a lot of material to cover. But, what we have started with things that are close to the code, such as building Domain Primitives, how to structure validation, immutability etc. I guess you will find several of these ideas familiar, as we have discussed them earlier - but there are also some new insights I have not yet had the time to write to you about. Well, not to mention all the ideas from Daniel and Daniel which you and I haven't had possibility to reflect on earlier.
In the later parts there will be more material on integration, security benefits from cloud thinking. We also want to share our ideas around architecture such as security concerns for microservice architecture or how to handle legacy codebases.
We will continue to write during the spring and early summer. Hopefully we will see the book in print sometime during the fall this year.
Yours
   Dan
PS The early-access was released last night; you can check the book at https://www.manning.com/books/secure-by-design
Categories: Blogs

Pinning Down “Business Agility”

One increasingly encounters the term “Business Agility” in the mainstream business press. Business Agility can be hard to pin down – in our innovation and Lean Startup work, Business Agility means sensing and responding to customer and market needs with disruptive products and services in an immediate frictionless manner. In our Agile transformation work, Business Agility refers to the non-IT processes and functions in the value stream that must support responsiveness and short cycle times. Examples may include governance, portfolio management, budgeting, role accountabilities and incentives, leadership skills/styles, and even corporate culture. The enabling capabilities supporting this include embracing organizational learning, empowering highly engaged employees, and leveraging continuous improvement to sense organizational limitations and adapt the enterprise continuously.

What is Business Agility?

Business Agility is a hot topic, in part, because the adoption of Agile practices in IT, and the evolution of organizations to Agile thinking and value stream alignment, has made significant progress over the last half-decade or so (see our white paper “The Third Wave of Agile”). Many enterprises that began the transition to Agile five to ten years ago have largely solved their technology delivery problems (the HOW) and are recognizing huge opportunities for further improvement lying in line-of-business and support functions and technology investment policies. Companies undertaking “Digital Transformation” (another hard-to-pin-down buzzword) must develop the range of Business Agility competencies to realize significant benefits.

After solving the HOW of delivering technology well, organizations must learn to align to the voice of customers and users and become more adaptive and granular in selecting WHAT to deliver. In other words, the problem domain has moved up from “We can’t ship fast/quality/responsively” to “The stuff we ship doesn’t thrill users or doesn’t drive competitiveness”. Think of these capabilities as a hierarchy (e.g., Maslow’s), insofar as the ability to systematically and deliberately accomplish any higher-level capability depends on the organization mastering every underlying capability.

Listen to Steve Denning’s thoughts on Business Agility and his 3 Laws of Agile in this episode of Agile Amped In-Depth.

Using Business Agility to Disrupt Your Competition

There is an even higher level of capability beyond effective value assignment and validated learning. This capability is evidenced when the organization continuously improves alignment and performance. It becomes a learning organization capable of adapting and reinventing itself at the speed of market change, innovating and disrupting the competitive landscape. This ability ultimately transcends Agile or any other buzzword du jour, and yields the highest competitive advantage possible. See SolutionsIQ Chairman Charlie Rudd’s visionary series on learning organizations “Why Organizations Can’t Learn” to gain a deeper perspective on learning organizations, and get guidance on how organizations can realize the promise of organizational learning.

In my work as CTO of SolutionsIQ, I encounter two distinct levels of Business Agility competency that organizations must develop to survive and thrive in the era of VUCA (Volatility, Uncertainty, Complexity, and Ambiguity). The first level can be characterized as an organization still in the process of transforming itself, which is a prerequisite to the next level of Business Agility competency: transforming the marketplace. (It goes without saying that delivery agility — the ability to ship high-quality technology fast, often, with responsiveness — is a prerequisite to both levels of Business Agility.) These two levels of Business Agility competency are distinct from one another because they tend to be sponsored or driven by different personas with different problem sets. The table below provides a mapping of sponsor personas, their problems, and some of the specific skills or solutions that can solve the problem.

Level One – Transforming the Enterprise

PersonaProblemsSolutions & Capabilities CIO
  • Ineffective business sponsorship
  • Poor alignment/accountability
  • Bureaucratic impediments
  • Agile Transformation
  • Agile Portfolio Management
  • Value stream alignment
  • HR roles and incentives
CFO
  • Poor accountability for IT spend
  • Low yield from IT investment
  • Agile Portfolio Management
  • Beyond Budgeting
LOB Head
  • Budget/Portfolio policies impede responsiveness
  • Agile Portfolio Management
  • Beyond Budgeting
CEO
  • Technology not being leveraged for competitive advantage
  • Poor strategy execution
  • Align value streams to markets
  • Redefine accountabilities
  • Leadership
  • Empower leaders

Level Two – Transforming our Markets

PersonaProblemsSolutions & Capabilities VP/GM Product or Product line
  • We can’t experiment with business models
  • Legacy product lines kill innovation
  • Agile Product Management
  • Lean Startup
  • Business modeling
  • Design Thinking
  • Innovation Labs
CMO
  • We’re being disrupted in our markets
  • We can’t adapt
  • Design Thinking
  • Business Model Innovation
  • Agile Product Marketing and Portfolio Management
CINO (Chief Innovation Officer)
  • Our late-horizon product pipeline is anemic
  • We can’t innovate
  • Ideation
  • Lean Startup
  • Innovation Labs
  • Digital/Innovation transformation
CEO
  • Falling market share/revenue growth rates
  • Inability of the organization to sense, test, learn and adapt
  • Digital/Innovation transformation
  • Leadership development programs
  • Cultural adaptation
  • Organizations that pursue these Business Agility capabilities will be embarking on a complex but rewarding journey toward transformation of their competitiveness and market power. Implementation of cross-cutting organizational change poses significant challenges for leaders, but becoming an Agile business promises powerful new capabilities to address the challenges of the VUCA era, specifically:

    • Sense and respond to customer and market needs with disruptive products and services in an immediate frictionless manner.
    • Optimize all enterprise policies, processes, and structures, throughout the value stream for responsiveness and short cycle times.

    SolutionsIQ has integrated a holistic change management framework around our Business Agility services to ensure enterprises achieve their strategic business objectives at every level of competency. We tailor the transformation journey to each client’s unique current-state, goals, and strategy, leveraging the solutions that will have the greatest impact in the shortest time.

    Meet SolutionsIQ at the first annual Business Agility Conference, February 23-24 in New York City, and sign up for our Enterprise Lean Startup workshop at the same venue on the 21st. If you can’t be in New York that week, we’d still love to hear from you – what’s your organization’s perspective on Business Agility? How do you plan to achieve your strategic business objectives in the era of VUCA?

    Join us at Business Agility 2017!

    BizAgility2017 blog card
    The Business Agility 2017 Conference
    is the first of its kind: 2 days of authentic short stories and facilitated deep dives on Business Agility with a focus on organizational design, market disruption and product innovation, as well as Agile beyond IT and next-gen leadership. With 8 tracks to choose from, attendees will learn new ways to incorporate a Business Agility mindset into their work and their lives.

    Register Now!

    The post Pinning Down “Business Agility” appeared first on SolutionsIQ.

Categories: Companies

The ScrumMaster Job Description

Scrum Expert - 14 hours 28 min ago
The ScrumMaster role might be the more difficult to define among the three role involved in Scrum. Starting from a “bad” ScrumMaster job description, Sam Laing discusses to avoid when you create such a role specification. As a bonus, she adds at the end a good ScrumMaster job description. Author : Sam Laing, Growing Agile, http://growingagile.co.za/ This morning I received a ScrumMaster job description. About 5 years ago these were really bad, essentially Project Manager jobs with a different name. They have gotten better and I am even noticing words like collaboration and facilitation. The one I read this morning caught my attention as the opening paragraph was great and then it got weird. Anyway. I decided it was worth debunking each Key Responsibility and highlighting whose responsibility that is in Scrum and why. (NOTE: there are some good job descriptions – I’ve included one at the bottom of this post) Key responsibilities – Run daily, weekly and monthly agile rituals efficiently and strictly I agree the ScrumMaster (SM) should ensure these are happening, however it is not their responsibility to run them. If they are not happening the SM should figure out why and help solve the underlying impediment. – Tracks work progress to identify blockages and developer divergence from allocated tasks The team tracks their own progress during the sprint and also allocates tasks themselves. The Product Owner (PO) tracks work progress against the release or product. The SM should note blockages and divergence and help the team and [...]
Categories: Communities

What Do You Mean The Ship Is Sinking?

Leading Agile - Mike Cottmeyer - 17 hours 7 min ago

How do you know if you are making improvements where they can have the most impact? Can you be sure the improvements being made will provide the benefits expected or that those benefits actually help deliver more value?

Those of us that work in software development organizations have many opportunities to improve how work is done. In fact, there is no end to the improvements we could make and thus comes the rub. Without an ability to understand where constraints exist then we are just making guesses about where to put our improvement efforts. This often results in local optimizations to the detriment of the whole system.

Each discipline in software development, coding and testing for example, are able to continuously improve their craft. Unfortunately, perfecting the craft of one area may impede flow through the system. For example, requirements should have sufficient clarity so that the team can deliver value to the customer through working tested software. Having perfect requirements is probably not the goal and could create a constraint that starves the rest of the organization. Only focusing on a part of the overall system is a bit like polishing the propellor to perfection only to find out the ship is sinking.

Unfortunately, perfecting the craft of one area may impede flow through the system.

There are a variety assessments that can be used to determine where improvements should be made:

  • Retrospectives – usually used by teams to evaluate their performance and then deciding where to make short-term improvements.
  • Value stream mapping – mapping the flow of work through the software development system and determining where value is added or not.
  • Capability modeling – identifying the capabilities that the organization delivers, the value provided, performance delivered, and risks for not performing well.

In all cases change should be controlled so that the impact of the change can be determined without other variables at play. As improvements are made and results of change determined, the system should be re-evaluated to determine the next areas for improvement.

The post What Do You Mean The Ship Is Sinking? appeared first on LeadingAgile.

Categories: Blogs

Agile Results Refresher for 2017

J.D. Meier's Blog - Mon, 01/16/2017 - 20:16

I’ve put together a quick refresher on Agile Results for 2017:

Agile Results Refresher for 2017

I tried to keep it simple and to the point, but at the same time, help new folks that don’t know what Agile Results is, really sink their teeth into it.

For example, one important idea is that it’s effectively a system to use your best energy for your best results.

I’ve seen people struggle with getting results for years, and one of the most common patterns I see is they use their worst energy for their most important activities.

Worse, they don’t know how to change their energy.

So now they are doing work they hate, because they feel like crap,and this feeling becomes a habit.

The irony is that they would enjoy their work if they just knew how to flip the switch and reimagine their work as an opportunity to experiment and explore their full potential.

Work is actually one of the ultimate forms of self-expression.

Your work can be your dojo where you practice building your abilities, creating your competencies, and sharpening your skills in all areas of your life.

But the real key is to bridge work and life through your values.

If you can find a way to bake your values into how you show up each day, whether at home or in the office, that’s the real secret to living the good life.

But what’s the key to living the great life?

The key to living the great life is to give your best where you have your best to give in the service of others.

Agile Results is a way to help you do that.

Check out the refresher on Agile Results and use the Rule of Three to rule your day.

If you already know Agile Results, teach three people and help them live and lead a more inspired life.

Game on.

Categories: Blogs

SoCraTes Day Switzerland, Ftan, Switzerland, March 9-12 2017

Scrum Expert - Mon, 01/16/2017 - 17:37
SoCraTes Day Switzerland is the Swiss stage of the International Software Craftsmanship Gathering, a series of events for open-minded software developers who want to improve their craft and the software industry as a whole. This conferences aims at providing an ideal setting for speaking to and coding with other talented and engaged Agile software developers The SoCraTes Day Switzerland conference follows the open space format for conferences. Open space is a simple methodology for self-organizing conference tracks. It relies on participation by people who have a passion for the topics to be discussed. There is no preplanned list of topics, only time slots and a space in the main meeting room where interested participants propose topics and pick time slots. Web site: http://socrates-day.ch/ Location for the Agile Open Spain conference: Ftan, Switzerland
Categories: Communities

Targetprocess mobile for Android v.2.3: Add Time

TargetProcess - Edge of Chaos Blog - Mon, 01/16/2017 - 16:57

Hey, hope you're all doing well!

We have great news: You can finally add Time, see and change Role Effort, and see the Progress of a card from your Android device.

Progress

You can find the Progress bar at an entity's Detailed view. For now, it’s enabled for User Stories, Tasks, Bugs, Requests, Test Plans, Test Plan Runs, Features, and Epics.

progress

Add Time

You can also add Time from an entity's Detailed view. Just tap the ‘Add Time’ button and the add form appears. All fields that are enabled from the web interface are available here (except for Custom Fields, for now).

add-time

Role Effort

You can now update Role Effort and see the total Effort for an entity:

role-effort

If you have anything you want to share with us, use the Feedback form in our mobile app's ‘Me’ tab, or shoot us a message at mobile@targetprocess.com.

Click here to download the Android app.

Categories: Companies

Where to Look for Trends and Insights

J.D. Meier's Blog - Mon, 01/16/2017 - 09:45

“The best is yet to come.”

It can be tough creating the future among the chaos.

The key is to get a good handle on the real and durable trends that lie beneath the change and churn that’s all around you.

But how do you get a good handle on the key disruptions, the key trends, and the macro-level patterns that matter?

Draw from multiple sources that help you see the big picture in a simple way.

To get started, I’m going to share the key sources for trends and insights that I draw from (beyond my own experience and what I learn from working with customers and colleagues from around the world).

Here are the key sources for trends and insights that I draw from:

  1. Age of Context (Book), by Robert Scoble and Shel Israel.  Age of Context provides a walkthrough of 5 technological forces shaping our world: 1) mobile devices, 2) social media, 3) big data, 4) sensors, 5) location-based services.
  2. Cognizant – A global leader in business and technology services, helping clients bring the future of work to life — today.
  3. DaVini Institute – The DaVinci Institute is a non-profit futurist think tank. But unlike traditional research-based consulting organizations, the DaVinci Institute operates as a working laboratory for the future human experience A community of entrepreneurs and visionary thinkers intent on discovering the (future) opportunities created when cutting edge technology meets the rapidly changing human world.
  4. Faith Popcorn – The “Trend Oracle.”  Faith is a key strategist for BrainReserve and trusted advisor to the CEOs of The Fortune 500.  She’s identified movements such as, “Cocooning,” “AtmosFear,” “Anchoring,” “99 Lives,” “Icon Toppling” and “Vigilante Consumer.”
  5. Fjord – Fjord produces an annual report to help guide you through challenges, experiences, and opportunities you, your organization, employees, customers, and stakeholders will likely face.  Check out the Fjord Trends 2017 report on SlideShare.
  6. Foresight Factory (Formerly called Future Foundation) – Future focused, applied, global consumer insight. Universal trends that shape tastes and determine demand the world over; sector trends that are critical to success in specific industries; custom reports produced in partnership with clients and focus reports on key markets, regions and topics.
  7. Forrester – Research to help you make better decisions in a world where technology is radically changing your customer.
  8. Gartner – The the world’s leading information technology research and advisory company.
  9. Global Goals – In September 2015, 193 world leaders agreed to 17 Global Goals for Sustainable Development. If these Goals are completed, it would mean an end to extreme poverty, inequality and climate change by 2030.
  10. IBM Executive Exchange – An issues-based portal providing news, thought leadership, case studies, solutions, and social media exchange for C-level executives.
  11. Jim Carroll – A world-leading futurist, trends, and innovation expert, with a track record for strategic insight.  He is author of the book The Future Belongs to Those Who Are Fast, and he shares major trends, as well as trends by industry, on his site.
  12. Motley Fool – Motley Fool – To educate, amuse, and enrich.
  13. No Ordinary Disruption (Book) – This is a deep dive into the future, backed with data, stories, and insight.  It highlights four forces colliding and transforming the global economy: 1) the rise of emerging markets, 2) the accelerating impact of technology on the natural forces of market competition, 3) an aging world population, 4) accelerating flows of trade, capital, people, and data.
  14. O’Reilly Ideas – Insight, analysis, and research about emerging technologies.
  15. Richard Watson – A futurist author, speaker and scenario planner, and the chart maker behind The Table of Trends and Technologies for the World in 2020 (PDF). Watson is author of the What’s Next Top Trends Blog. Watson is the author of 4 books: Future Files, Future Minds, Futurevision, and The Future: 50 Ideas You Really Need to Know.
  16. Sandy Carter — Sandy Carter is IBM Vice President  of Social Business and Collaboration, and author of The New Language of Marketing 2.0, The New Language of Business, and Get Bold: Using Social Media to Create a New Type of Social Business.  She’s not just fun to read or watch – she has some of the best insight on social innovation.
  17. The Industries of the Future (Book), by Alec Ross.  Alec Ross explains what’s next for the world: the advances and stumbling blocks that will emerge in the next ten years, and how we can navigate them.
  18. The Second Machine Age, by Erik Brynjolfsson and Andrew McAfee.  Erik Brynjolfsson and Andrew McAfee identify the best strategies for survival and offer a new path to prosperity amid exponential technological change. These include revamping education so that it prepares people for the next economy instead of the last one, designing new collaborations that pair brute processing power with human ingenuity, and embracing policies that make sense in a radically transformed landscape.
  19. ThoughtWorks Technology Radar – Thoughts from the ThoughtWorks team on the technology and trends that are shaping the future.
  20. Trend Hunter – Each day, Trend Hunter features a daily dose of micro-trends, viral news and pop culture. The most popular micro-trends are featured on Trend Hunter TV and later grouped into clusters of inspiration in our Trend Reports, a series of tools for professional innovators and entrepreneurs.
  21. Trends and Technologies for the World in 2020 (PDF) – Table of trends and technologies shaping the world in 2020.
  22. Trendwatching.com – Trendwatching.com helps forward-thinking business professionals in 180+ countries understand the new consumer and subsequently uncover compelling, profitable innovation opportunities.

While it might look like a short-list, it’s actually pretty deep.

It’s like a Russian nesting doll in that each source might lead you to more sources or might be the trunk of a tree that has multiple branches.

These sources of trends and insights have served me well and continue to serve me as I look to the future and try to figure out what’s going on.

But more importantly, they all inspire me in some way to create the future, rather than wait for it to just happen.

I’m a big fan of making things happen … you play the world, or the world plays you.

You Might Also Like

All Digital Transformation Articles

Digital Transformation Books

Consumer Trend Canvas

Trend Framework

101 Hacks for a Better Year

Categories: Blogs

Article 2 in SAFe Implementation Roadmap series: Train Lean-Agile Change Agents

Agile Product Owner - Mon, 01/16/2017 - 03:25
roadmap_article_2Click to enlarge.

So you’ve reached the tipping point and are ready to go SAFe. What next? For those of you following the ‘critical moves’ identified in the SAFe Implementation Roadmap, this article describes the second step in that series: Train Lean-Agile Change Agents.

It discusses the eight stages of organizational transformation, and the critical steps needed to engage leadership in a SAFe coalition sufficiently powerful and knowledgeable to implement the change.

Read the full article here. As always, we welcome your thoughts so if you’d like to provide some feedback on this new series of articles, you’re invited to leave your comments here.

Stay SAFe!
—Dean and the Framework team

Categories: Blogs

Don't Build That Product

Xebia Blog - Sun, 01/15/2017 - 13:06
At the Agile Chef Conference I facilitated a workshop where participants could experience how Aikido can be used to resolve conflicts on the work floor as well by applying verbal Aikido. At the end of the session someone asked me to demonstrate the best defence against a sword attack; I responded by turning around and
Categories: Companies

Consumer Trend Canvas

J.D. Meier's Blog - Sun, 01/15/2017 - 09:11

Consumer Trends are a key building block for innovation.

Is you are stuck coming up with innovation opportunities, part of it is that you are missing sources of insight.

And of the best sources of insight is actually consumer trends.

One tool for helping you turn consumer trends into innovation opportunities is the Consumer Trend Canvas, by Trendwatching.com.

image

 

What I like about it is the simplicity, the elegance, and the fact that it’s similar in format to the Business Model Canvas.

The Consumer Trend Canvas is broken down into to simple sections:

  1. Analyze
  2. Apply

Pretty simple.

In terms of the overall canvas, it’s actually a map of the following 7 components:

  1. Basic Needs
  2. Drivers of Change
  3. Emerging Customer Expectations
  4. Inspiration
  5. Innovation Potential
  6. Who
  7. Your Innovations

From a narrative standpoint, you can think of it in terns of pains, needs, and desired outcomes for a particular persona, along with the innovation opportunities that flow from that simple frame.

The real beauty of the Consumer Trend Canvas is that it’s a question-driven approach to revealing innovation opportunities.

Here are the questions within each of the parts of the Consumer Trend Canvas:

  1. Which deep consumer needs & desires does this trend address?
  2. Why is this trend emerging now? What’s changing?
  3. What new consumer needs, wants, and expectations are created by the changes identified above? Where and how does this trends satisfy them?
  4. How are other businesses applying this trend?
  5. How and where could you apply this trend to your business?
  6. Which (new) customer groups could you apply this trend? What would you have to change?

When you put it all together, you have a quick and simple view of how a trend can lead to some potential innovations.

The power is in the simplicity and in the consolidation.

You Might Also Like

Trend Framework

8 Big Trends

10 High-Value Activities in the Enterprise

Hack a Happy New Year

Continuous Value Delivery the Agile Way

Categories: Blogs

Launching this month: DFW Scrum Tech Edition

DFW Scrum User Group - Sat, 01/14/2017 - 16:49
When I travel to agile events, I love telling people about our community. The agile community in Dallas is incredibly strong. In a typical month, there are at least 4 different meetup groups hosting events, and the number continues to … Continue reading →
Categories: Communities

Application Construction Using Agile Techniques: New Development or Continual Enhancement?

Agile Estimator - Fri, 01/13/2017 - 23:22

enhancement-project

The concept of new development is pretty straight forward. You start with nothing, write some code and then you have an application. Enhancement projects are a little more complicated. You start with an existing application. You add to it. You may change some of the existing code. You may even delete some of the original application. At the end, you have an enhanced application. For example, suppose that you had an application that evaluated the probability of a financial instrument changing in value, i.e. going up or down. You would have some screens, some interfaces and probably some data that was maintained. One of the pieces of data that you used was the amount of change that that instrument would go through in an average day. Let us suppose that you had to maintain that piece of information and store it in the application. Then you found that the information was available and could be accessed by the application directly. The enhancement would consists of an added interface to the information. There would probably be changes in the screen logic to utilize the new information from the interface. Finally, you would delete the screens and database that you had used to store your hand entered version of the data.

What just happened? Was this a change to a application that was in production, or was this one of the iterations in an agile development project. There is often the need for an existing application to be modified. This is sometimes called adaptive maintenance. Adaptive maintenance allows an application to be changed so that it adapts to new needs by its users. Corrective maintenance is primarily to fix bugs that have shipped or gone into production with the application. Perfective maintenance is closely related to corrective maintenance, but it is performed before the defects manifest themselves. The effort required for these type of maintenance are often not estimated at all. Preventative maintenance is similar in that it usually addresses things that are not functional, like optimization. However, it is time that we start to estimate this type of activity. The same is true of conversion maintenance. Some people consider it a non-functional form of adaptive maintenance because there is no change in functionality. Again, these technical projects need to be estimated and planned.

Agile development involves applications being developed in iterations. In scrum, these iterations are called sprints, other approaches have different names. Some of these iterations become releases. They are released to the user community where they are utilized. This is consistent with the values and principles of agile development. Agile developers embrace change, and it is when an application is being used that people see the types of changes that would improve it. These releases are so important that agile developers will often create stubs and later refactor code in order to deliver these releases. In other words, they will create a release that requires them to change and delete existing code. Traditional developers tend to hate change. They want to develop specifications and implement them without worrying about users making changes. They see changes as something that simply slows down the development process. I had one situation that was even more complicated than that. We were estimating and planning a large system for a utility. I suggested that we would be able to plan the development with three releases that would allow the system to be returning value to the client more quickly. There was no real cost for this. Looked at above, each enhancement had no changes or deletions, just added functionality from release to release. The sponsor said no. When I asked why, he explained that if we implemented one-third of his system, his management might feel that it was enough for now and pull the rest of his funding. If they had nothing to show until the end, then it would be funded until the end. An exception to traditional developers hating change is contract programming organizations who have built change management into their software development life cycles. They can negotiate changes through the process and turn a 2 million dollar project into 2.5 million dollars thanks to the changes.

I brought up this point about 10 years ago when I was exploring agile estimation as a thesis topic. At the time, my colleagues felt it was an important nuance and a distraction from any attempt to do agile development. I went on to develop an approach to estimating agile projects like they were simply new development. It seems to work for the development as a whole. Late last year, I came across a journal article written by Anandi Hira and Barry Boehm of the University of Southern California. The article was titled “Using Software Non-Functional Assessment Process to Complement Function Points for Software Maintenance.” I did not include a hyperlink because access to the article requires an ACM membership and possibly access to their digital library. However, the conclusions of the study are straight forward and, to me, surprising. When looking at projects that simply added functionality, such as new system development, it appeared that function points alone would yield worthwhile predictions. Using Software Non-Functional Assessment Process (SNAP) along with the function points yielded better estimates. When looking at projects that changed functionality, such as enhancement projects, SNAP yielded worthwhile estimates. Using function points with SNAP points did not improve or worsen the estimate. Hira and Boehm suggest that you use both measures in both situations for consistency.

In the beginning of the post it was mentioned that enhancement projects consisted of adds, changes and deletes. However, there was no mention of what was being added, changed or deleted. There could be many answers that question. Three common answers are lines of code, function points and SNAP points. Each has been used and each has its problems.

Using lines of code to measure enhancement size has all of the problems it had for new development work. In addition, it is necessary to segregate the counts for number of lines added, changed and deleted. You do not truly know what the lines of code count is until after the project is done. Then you do not need the estimate. Even then, there is no standard way to count lines of code. Is it a statement in the programming language being counted? Is it a physical line? Do you count comments? Do you count declarative statements? Once you have made these decisions, how do you combine your adds, changes and deletes. Is the size simply the sum of the three values. In other words, if I added 100 SLOC, changed 100 SLOC and deleted 100 SLOC is the total enhancement to 300 lines of code. That is possible. Some organizations have percentages that they apply to add, change and delete. For example, they might feel that the adds contribute 100% to the size of the enhancement, while the changes and deletes contribute 40% and 5%, respectively. In the example, the lines of code would combine to be 145 lines of code. In COCOMO II, there is a maintenance size that is basically a Maintenance Adjustment Factor times the sum of size added and size modified. Size deleted is ignored. The sizes can be in thousands of source lines of code (KSLOC), Application Points (a COCOMO II measure that is an alternative to either KSLOC or Function Points) or Function Points. By the way, the COCOMO II team mentioned that they get their best results from KSLOC. A minor change to a report (application points) or an External Output (function points) may overstate an estimate. The Maintenance Adjustment Factor to weight the effect of poorly or well written software on the maintenance effort. It appears that This measure may be getting into that gray area between size measurement and effort estimation with cost drivers. However the COCOMO II team refers to this as size, so we might as well do the same.

There are several forms of function points, including IFPUG, COSMIC and Mk II. The one maintained by the International Function Point Users Group (IFPUG) is the most widely used. IFPUG maintains the Counting Practices Manual (CPM), administers tests to certify function point specialists and to certify classes and tools. The CPM explains exactly how the enhancement count should be calculated. Basically, it is the sum of the functions that are added, changed and deleted. People who have spent too much time reading the CPM will be quick to correct this statement. For one thing, the enhancement count also includes the functionality associated with conversion. Seasoned estimators know that the conversion portion of a project is tricky to estimate. It is often performed by a separate team, for example, the legacy programmers who understand any previous system and the data files that it used. Thus, it is often estimated separately. Another thing that function point specialists may point out is that the above formula did not take into account the Value Adjustment Factor before and after the enhancement. Theoretically this is part of the calculation. However, most estimators are getting away from using the adjusted function point count in favor of the unadjusted count without a Value Adjustment Factor. The unadjusted function point count is what COCOMO II expects as its size driver. There remains one critical issue in the minds of many estimators: developing a new report, making a change to an existing report and deleting a report all have the same function point count. However, most people believe that they have different amounts of effort associated with them.

In 2009, IFPUG delivered its first draft of the Software Non-functional Assessment Process (SNAP). Considering non-functional requirements when estimating was not a new idea. The function point Value Adjustment Factor (VAF) had been meant to quantify these non-functional requirements. There seemed to be agreement that it was inadequate to capture the extent to which these non-functional requirements might impact the size of a piece of software. Cost drivers in the macro (top-down) estimating models where the next attempt. Of course, these were tied to the models in question. SNAP was a more general way to assess the amount of non-functional requirements for a software development or enhancement project. The size of an non-functional requirements of an enhancement project are the sum of the SNAP points added, the SNAP points change and the SNAP points deleted. This seems like it would lead to the same concerns as function points. However, the COCOMO II team had not seen SNAP points before they published COCOMO II. Likewise, the industry does not have enough experience with SNAP yet to worry about this. The paper by Hira and Boehm is the first quantitative study that I have seen to address this. As stated earlier, they state that SNAP can be used to predict enhancement projects better than function points do.

What is the next step for estimators? Any estimator who is using function points should become familiar with SNAP. It has the potential of improving estimates for new development. It may be the only way to get worthwhile estimates for enhancement projects. The question becomes how to incorporate this into the remainder of the estimating process at your organization. The first difficulty is transforming SNAP points into lines of code. That problem was solved for function points and is the basis for how algorithmic models like COCOMO work. A way for incorporate SNAP points might need to be found. The second difficulty is reconciling SNAP points with the models cost drivers. This is far from trivial. Some cost drivers tend to be more size related, others tend to impact the difficulty of code development without really impacting the size. To make things worse, the decisions that are made for COCOMO II will be different than the decisions that might be made for SEER-SEM or other models. Why go to the trouble. SNAP is probably the only way to reliably estimate the schedule and estimate for the next release. As an added benefit, it may improve the estimate for the entire project.

 

Categories: Blogs

Trend Framework

J.D. Meier's Blog - Fri, 01/13/2017 - 17:29

It’s that time of year when I like to take the balcony view to figure out where the world is going, at least some of the key trends.

I’ve long been a fan that while you can’t predict the future, you can take the long view and play out multiple future scenarios so you are ready for (most) anything.

But I’m an even bigger fan of the idea that rather than predict the future—create the future.

To do that, it helps to have a solid handle on the trends shaping the world.

To help make sense of the trends, I like to use mind tools and frameworks that help me see things more clearly.

One of my favorite tools for trends is the Trend Framework by Trendwatching.com

Trendwatching.com uses a framework to sort and catalog trends. 

To understand the future of consumerism, they use a framework of 16 Mega-Trends:

  1. Status Seekers.  The relentless, often subconscious, yet ever present force that underpins almost all consumer behavior.
  2. Betterment.  The universal quest for self-improvement.
  3. Human Brands.  Why personality and purpose will mean profit.
  4. Better Business.  Why “good” business will be good for business.
  5. Youniverse.  Make your consumers the center of their Youniverse.
  6. Local Love.  Why “local” is in, and will remain, loved.
  7. Ubitech.  The ever-greater pervasiveness of technology.
  8. Infolust.  Why consumers voracious appetite for (even more) information will only grow.
  9. Playsumers.  Who said business has to be boring?
  10. Ephemeral.  Why consumers will embrace the here, the now, and the soon-to-be-gone.
  11. Fuzzynomics.  The divisions between producers and consumers, brands, and customers will continue to blur.
  12. Pricing Pandemonium.  Pricing more fluid and flexible than ever.
  13. Helpful. Be part of the solution, not the problem.
  14. Joyning.  The eternal desire for connection, and the many (new) ways it can be satisfied.
  15. Post-Demographics.  The age of disrupted demographics.
  16. Remapped.  The epic power shifts in the global economy.

I’ve used these 16 Mega-Trends from the Trend Framework as a filter (well, maybe more accurately as idiot-guards and bumper-rails) for guiding how I look at consumer behaviors shaping the market.

In fact, this was one of the most helpful frameworks I used when putting together my Trends for 2016: The Year of the Bold.

As I create my master list of Trends for 2017, I’m finding this simple list of 16 Mega-Trends to be useful once again, to better understand all of the micro-trends that emerge on top of this foundation.

The Trend Framework makes it easier to see the graph of trends and to quickly make sense of why things are shaping the way they are.

Categories: Blogs

A Light Bulb Moment

Agile Complexification Inverter - Fri, 01/13/2017 - 16:36
A few months ago Michele of Sliger Consulting, Inc. asked about my first Agile Light Bulb moment, I've had a few of them but one that easily came to mind was this one with the Washington State Appellate Clerk court case management systems people back in 2005.

In just two months our newly delivering Scrum team had put into production the "undoable" feature - BAM! - value delivered, trust confirmed, transformation successful.
"My light bulb moment was during the product demo in the Sprint Review Meeting, when the state of Washington Appellate Clerk of Court told me he and the courts had been waiting 20 years for the feature that our team had just delivered. In just two months our newly delivering Scrum team had put into production the "undoable" feature - BAM! - value delivered, trust confirmed, transformation successful. He later sent me the requirement spec for the 20-year-old feature and it read just like our epic story and its children we discovered. Yes, this was a completely different system than the previous retired system - yet it had the same customer needs. We had transitioned from a deadlocked in analysis paralysis development group to a Scrum team in under 3 months, delivering into production every month new features, bug fixes, and tested working software."  -- David Koontz
See other Light Bulb Moments at Sliger Consulting Light Bulb Moments

Have you seen in other collections of Light Bulb Moments?  Please comment below.


Categories: Blogs

The Five D Value Stream – Discover, Decide, Detail, Develop, and Deploy

NetObjectives - Fri, 01/13/2017 - 11:32
The Five D Value Stream – Discover, Decide, Detail, Develop, and Deploy   A software value stream shows how a software change flows from the discovery of an idea to it deployment.  We show how a simple model of a value stream can be used as the basis for more complicated models in larger systems and how doneness focused processes and agile at scale align with the model.  The 5 D’s Let’s...

[[ This is a content summary only. Visit my website for full links, other content, and more! ]]
Categories: Companies

What Is and What Is to Be: Minimum Business Increments and Stories

NetObjectives - Fri, 01/13/2017 - 11:10
When looking at changes to be made to a system, one can look from the system's perspective (what changes need to be made) or one can look from the workflow perspective (how the bundles of changes to be made). Both views are important. One shows what is “to-be”; the other shows how you are going to get there. Change in System Here’s an example showing where in a system a change is being made....

[[ This is a content summary only. Visit my website for full links, other content, and more! ]]
Categories: Companies

Knowledge Sharing


SpiraTeam is a agile application lifecycle management (ALM) system designed specifically for methodologies such as scrum, XP and Kanban.